什么是模仿学习
传统强化学习
通过稀疏的回报来学习策略。
- 好处:简单、廉价。
- 坏处:采样复杂度高。
传统的强化学习方法在模拟环境中,即我们能够忍受大量的试验、且容易并行化的问题中更加成功,而在机器人系统,比如动作执行会花很长的时间,失败的成本无法负担而且对于安全性要求较高的环境中则不适用。
重构回报
- 人工:人工设计的花费函数在移动机器人中仍旧是一个“黑色艺术”。
- 学习示例:不如我们找一个人工专家来演示我们需要的动作,机器人只负责对这些动作进行学习。
综合来考虑,通过学习示例的方法来解决目前传统强化学习所面临的问题更加靠谱。
模仿学习(Imitation Learning)
通过一个专家(老师)的监督,这些专家提供了一系列演示的路径(一个状态和动作的序列)。
适用范围
模仿学习在当一个专家能够演示需要的动作时更加有用,而不是:
- 拍脑袋想出一个回报,这个回报能够生成演示的动作。
- 直接硬编码需要的策略。
代理人(学习者)需要提出一个由此产生的决策使得状态,动作轨迹分布与专家轨迹匹配分配。
实现思路
- 直接:监督学习决策(将状态映射到动作),使用示范轨迹作为基本事实(也被称为行为克隆)。
- 间接:学习专家的潜在奖励/目标,并根据这些奖励获得决策(逆向强化学习)。
专家可以是:
- 人类。
- 最优化的控制者。