ICML 2019 · 模仿学习

Imitating Latent Policies from Observation

仅凭状态观测序列,无需专家动作标注,学习模仿潜在策略
Ashley D. Edwards · Himanshu Sahni · Yannick Schroecker · Charles L. Isbell  |  Georgia Institute of Technology

ILPO(Imitating Latent Policies from Observation)提出了一种两阶段模仿学习框架: 先从专家状态观测中离线学习 latent policy 和 forward dynamics model, 再通过极少量环境交互将潜在动作对齐到真实动作空间, 从而在无需任何专家动作标签的前提下完成行为模仿。

ICML 2019 模仿学习 · Imitation from Observation 4 个测试环境 📄 arXiv:1805.07914 💻 GitHub: ILPO
imitation learning imitation from observation latent policy forward dynamics model action remapping behavioral cloning 模仿学习 潜在策略 CoinRun reinforcement learning

01 动机

传统模仿学习需要同时获取专家的状态观测与动作标注,这在现实场景中往往难以满足—— 视频、人类示范或跨体型代理的行为记录通常只包含状态序列而没有对应动作。 现有"仅从观测模仿"方法(如 BCO)虽不依赖专家动作, 但需要先在环境中进行大量采样来学习逆向动力学模型, 在危险或高成本的真实场景中代价极高。

"We describe a novel approach to imitation learning that infers latent policies directly from state observations … we only need a mechanism for learning policies from observation alone without requiring access to expert actions and with only a few interactions within the environment."

作者的核心洞察是:即便不知道真实动作标签,状态转移之间仍存在可预测的潜在因(latent causes)—— 这些因可以用离散的 latent actions 描述。先离线从专家数据中学习这些 latent actions 和对应的动力学模型, 然后只用极少量真实环境交互,将 latent actions 映射到真实动作空间。 这就像先观察朋友打游戏,再亲自上手几步确认手柄按键对应关系。

<100Cartpole / Acrobot 达到专家水平所需环境交互步数
4测试环境(Cartpole, Acrobot, Mountain car, CoinRun)
0专家动作标注需求(仅需状态观测序列)
50k经典控制任务使用的专家状态观测数量

02 方法

ILPO 分为两个阶段:Step 1 离线学习 latent policy 和 forward dynamics model; Step 2 用少量真实环境交互学习 action remapping network,将 latent actions 对齐到真实动作。 推理时,先选最可能的 latent action,再映射到对应的真实动作。

ILPO 网络架构图
图 1:ILPO 双网络架构。 左侧 Latent Policy Network:包含 embedding Ep、生成器 G(前向动力学模型)和 latent policy π(z|s)。 右侧 Action Remapping Network:包含 embedding Ea 和映射网络 π(a|st, z), 将学到的 latent action z 对齐到真实环境动作 a。两个 embedding 与各自网络同步训练。

Step 1:学习 Latent Policy

给定专家状态序列 {st, st+1},ILPO 联合训练两个目标:

Step 2:Action Remapping(动作对齐)

通过 ε-greedy 策略在真实环境中采集少量 {st, at, st+1} 三元组。 利用已训练好的 G,找到与观测转移最接近的 latent action:

得到 zt 后,以真实动作 at 为标签,通过 cross-entropy loss 监督训练 action remapping network πξ(at|zt, Ea(st))。 由于神经网络的泛化能力,相同动作在不同状态下通常产生相似的状态转移, 因此只需少量交互就能学会可泛化的 latent-to-real 映射。

推理:组合两步策略

给定状态 st:先选最可能的 latent action z* = argmaxz πω(z|st), 再选最可能对应该 latent action 的真实动作 a* = argmaxa πξ(a|z*, st)。 整个推理过程无需额外环境交互。

03 实验

在 4 个环境中评估 ILPO:经典控制任务(Cartpole、Acrobot、Mountain car)和 视觉平台游戏 CoinRun(OpenAI)。 基线方法:专家策略(Expert)、随机策略(Random)、 Behavioral Cloning(BC,使用真实动作标签)、 BCO(Behavioral Cloning from Observation,不使用专家动作但需要大量环境采样)。 实验均使用 OpenAI Baselines 生成专家策略。

经典控制任务结果

经典控制任务模仿学习结果
图 2:经典控制任务模仿学习结果(50 次运行平均)。 横轴为环境交互步数,纵轴为策略奖励。 Cartpole(左)和 Acrobot(中)中,ILPO 在不足 100 步环境交互后即达到与专家和 BC 相当的水平, 且持续优于 BCO。Mountain car(右)中 ILPO 和 BCO 均未能完全追上专家,但 ILPO 明显优于 BCO。 奖励设定:Cartpole 每步竿保持直立 +1,Acrobot 和 Mountain car 每步 −1(时间惩罚)。

CoinRun 视觉任务结果

CoinRun 环境与模仿学习结果
图 4+5:CoinRun 环境与模仿学习结果。 上方:CoinRun easy(左)和 hard(中、右)关卡示意,状态输入为 128×128×3 RGB 图像,含 7 个离散动作。 Hard 关卡中间有无法恢复的缺口,右侧还有陷阱。 下方曲线:Easy 和 Hard 任务上,ILPO 均显著优于 BCO。尽管高维视觉输入使对齐需要更多步数, 好的初始化有时让 ILPO 近乎零样本解决任务。结果为包括失败 seed 在内的所有 seed 平均。

下一状态预测示例

ILPO 在 CoinRun 中的下一状态预测
图 6:ILPO 在 CoinRun easy 任务中的下一状态预测。 给定当前状态(左),ILPO 生成多个 latent action 对应的预测下一状态(右), 高亮框表示由 embedding 距离度量选出的最接近真实下一状态的预测。 模型成功学会了"向右移动"和"跳跃"两类主要转移模式。

Latent Action 数量的消融实验

论文测试了 |Z| ≠ |A| 的情形(图 3): 以 |Z| = |A| 为初始猜测效果最好,但智能体在其他大小下仍能学习。 |Z| = 1 在 Cartpole 和 Acrobot 中表现很差,因为所有动作会坍缩到同一个 latent, 状态预测无法解耦。这验证了"latent action 数量 = 真实动作数量"是合理的先验假设。

环境 BCO(基线) ILPO(本文) BC(有动作标签) Expert
Cartpole(步数 ≤100) 低于 Expert ≈ Expert ≈ Expert
Acrobot(步数 ≤100) 低于 Expert ≈ Expert ≈ Expert
Mountain car 低于 Expert 优于 BCO ≈ Expert
CoinRun Easy / Hard 低于 Expert 显著优于 BCO

注:上表为对论文图表的定性归纳,具体数值请参见原文图 2、图 5。 BC 使用真实动作标签,ILPO 和 BCO 均不使用专家动作。

04 局限性

注:以下局限性部分来自论文 Discussion & Conclusion 中的明确表述(标注为"stated"), 部分由方法设计推断(标注为"inferred")。
仅支持离散动作空间 [stated]

"future work could address … that it requires that actions are discrete"。 当前 ILPO 假设动作空间为离散集合,连续控制(如机械臂扭矩控制)无法直接应用。 此外,方法还假设状态转移是确定性的(deterministic transitions)。

仍需要少量真实环境交互 [stated]

虽然比 BCO 需要少得多的交互,但 ILPO 第二步仍需在真实环境中采集 {s, a, s'} 样本进行 action remapping。 在完全无法与环境交互的场景(如医疗机器人冷启动)依然面临挑战。 论文也指出可通过"enforcing stronger local consistencies between latent actions and generated predictions"进一步减少所需样本。

高维视觉输入下对初始化敏感 [stated]

CoinRun 实验中,"some random seeds led to bad initialization that resulted in the agent not learning at all"。 高维情形(128×128×3)下动力学学习难度更大,整体结果包含了表现很差的 seed。

假设 latent action 数量已知 [inferred]

方法需要预先指定 |Z|(通常设为 |A|)。消融实验表明 |Z| ≠ |A| 仍可学习, 但在实际应用中真实动作数量未必已知, 自动确定合适的 latent action 数量是未来工作方向之一。

需要随机(stochastic)专家演示 [stated]

"ILPO requires stochastic demonstrations … although the agent was capable of performing well with deterministic demonstrations, the performance decreased in this setting"。 如果专家演示过于确定性,某些 latent action 对应的转移可能从未在数据中出现,影响动力学模型的覆盖度。