机器学习笔记(25.2): INTACT
可能更好的阅读体验 Jeefy's Blog: 机器学习笔记(25.2): INTACT
如果说 RC-aux 是在重塑 Latent,那么 INTACT (INtent-To-ACTion) 则是更激进的优化 Search 的部分。
模型学的是正向动力学 \(F_\phi: (z_t, a_t) \mapsto \hat{z}_{t+1}\)(给定动作预测状态变化)。但到了控制部署时,我们需要的是它的逆映射:给定想要达到的目标状态变化,求应该执行什么动作。因为没有学这个逆向接口,所以只能靠 CEM 或 MPPI 在测试时盲猜几千条高斯随机动作序列(比如 LeWM 的 CEM \(300 \times 30 = 9000\) 条序列),一条条在模型里前向 Rollout、算 Cost、迭代拟。
另一个问题是,纯靠正向预测训练出来的编码器,大概是只保留了预测的信息,但是没有保留 “动力学” 或者 “意图” 的用于搜索的信息。如果在预训练好的冻结 LeWM 编码器上事后硬接一个逆动力学头或策略头,已经被编码器丢掉的可控特征是绝对救不回来的。
INTACT 的核心思路:离线无奖励轨迹里的每一次状态转移 \((o_t, a_t, o_{t+1})\),其实天然包含了“动作意图(Motion Intent)”和实现它的“真实动作”。如果我们在端到端训练 JEPA 世界模型的同时,联合训练一个共享的意图到动作映射算子 \(G_\eta\),同时喂给它局部物理转移意图和全局目标部署意图,就能把世界模型直接变成一个免搜索(Search-Free)的模型。
换句话来说,就是想要把 policy 的信息约束加入,用于把 latent 塑造成一个天生带有路径信息的场。
虽然 \(z_{t+1}\) 和 \(z_g\) 在隐空间里的欧氏距离差得很远(一个是下一步,一个是最终目标),但在当前状态 \(z_t\) 下,它们请求执行的当前动作分布完全可以是等价的
作者由此定义了条件动作等价关系(Definition 1):在固定当前状态 \(z\) 下,两个终点条件 \(y, y'\) 等价,当且仅当它们诱导相同的专家动作分布:
比如在穿过一扇门之前,无论你的最终目标是门后的左边还是右边,亦或是门框前的下一步物理位置,你当前第一步要执行的动作都是一样的。这个等价类构成的商空间 \(\mathcal{Y}/\sim_z\) 与可实现的动作分布集合形成双射同构(Proposition 1)。
为了利用这一性质,INTACT 使用位移向量来表示运动意图(Motion Intent),并构造了两个分支:
然后把它们喂给同一个共享参数的条件动作预测器(INTACT Predictor) \(G_\eta\):
这里的 \(a_t \in \mathbb{R}^{B d_u}\) 是包含 \(B=5\) 个环境步的动作块(Action Block/Chunk)。
单任务的完整端到端损失函数由三部分组成:
真实搜索时,给定当前编码 \(z_t\) 和目标编码 \(z_g\),令 \(\tilde{z}_0 = z_t\),INTACT 直接交替调用动作预测器均值和正向动力学模型,自回归生成 \(H=5\) 个动作块的完整计划 \(\bar{A} = (\bar{a}_0, \dots, \bar{a}_{H-1})\):
- 计算剩余目标意图:\(m_k = z_g - \tilde{z}_k\)
- 动作均值直出:\(\bar{a}_k = \mu_\eta(\tilde{z}_k, m_k, \bar{a}_{k-1})\)
- 正向模型推演下一步:\(\tilde{z}_{k+1} = F_\phi(\tilde{z}_k, \bar{a}_k)\)
在此基础上衍生出两种推理模式:
- 直接执行算出来的第一个动作块 \(\bar{a}_0\),然后根据真实环境的新观测重新规划。
- 以 Direct 生成的计划 \(\bar{A}\) 为中心,用很小的初始标准差 \(\sigma_0 = 0.25\) 跑一个微型 \(128 \times 3 = 384\) 条序列的局部残差 CEM(每次迭代保留 \(\bar{A}\) 和历史全局最优解防退化)。

浙公网安备 33010602011771号