3 most important points
- IL 主要解决奖励函数难以设计的问题,以及多步决策中不能频繁得到建立的情况
- BC 是一种监督任务,泛化能力差,一旦偏离专家轨迹误差就会滚雪球;因此发展出 DAgger 这类在线交互式模仿学习方法,在迭代中扩展数据集。缺点是标注成本、计算成本高。
- AIL 学习专家轨迹背后的奖励函数,用于 RL;或者通过类似于 GAN 的思路,同步优化策略和奖励函数
5 thoughts
Notes
为什么需要模仿学习?
- 多步决策问题:
- RL 中,通常通过计算累积奖赏来学习最优策略(policy),这种方式简单直接,而且在可以获得较多训练数据的情况下有较好的表现。
- 然而在多步决策(sequential decision)中,学习器不能频繁地得到奖励,且这种基于累积奖赏及学习方式存在非常巨大的搜索空间。
- 奖励函数问题:
- RL 中,通常需要大量的试错,并且对奖励函数的设计有很高的要求。
- 但在某些实际应用场景中,显式地定义奖励函数非常困难,甚至不可能。
问题定义
在模仿学习中,我们假设有一个专家策略表现良好,希望智能体模仿该专家策略进行决策。具体而言,我们希望智能体的累计回报与专家策略的累计回报尽可能接近。因此,模仿学习问题可以建模为如下优化问题:
其中:
- 表示专家策略;
- 表示待学习的模仿策略;
- 表示策略 的期望累计回报。
Note
可以视为最大化 ,与强化学习目标一致,但是不需要奖励函数
该优化问题的目标是在不知道奖励函数的前提下,使模仿策略 的性能尽可能接近专家策略 。
我们假设专家策略 可以与环境交互,生成一系列状态-动作对,这些构成了专家示例数据集。通常,这些状态-动作对以完整轨迹的形式组织:
设一条轨迹为:
则由 条轨迹构成的专家数据集记为:
Behavioal Cloning 行为克隆
简介
行为克隆算法尝试最小化智能体策略和专家策略的动作差异,把模仿学习任务归约到常见的回归或者分类任务。视为一个监督学习任务。
- 算法思想
- 问题定义:给定专家数据集 ,直接用最大似然拟合一个策略 。最大化对数似然模型:
- 训练目标:最小化模型预测动作和专家真实动作之间的差异
- 离散动作:计数法,把每个状态-动作对的出现次数变成概率
- 连续动作:Gaussian 参数化,用高斯分布表示一个策略 → 将高斯分布方差设置为与 无关的常数,退化成最小化 MSE 还有 softmax 参数化,化为交叉熵优化问题
- 缺点:
- 忽略了决策的序列特性
- 泛化能力差
- 复合误差(Compounding Error)
- 自主决策时,一旦 进入专家未演示过的状态,下一步动作可能更差,误差随时间指数级累积。
- 结果:价值差距上界
- 解决方法:
- 数据集增强:通过对专家演示数据进行变换,增加数据的多样性
- 交互式模仿学习方法:DAgger、 Active Learning、Query by Committee 等
- DAgger:在线修正思路
- 核心:让 learner 不断交互并回询专家,把新状态加入数据集,减少未访问区域。
- 算法流程:
- 初始化 与 。
- 迭代循环
for i = 1 to N- 每轮用混合策略 采样。
- 回询专家得到新标签,增广 。
自动标注方法包括 iLQR 等 - 在新 上重新做 BC 得到 。
- 优点:
- 显著降低复合误差
- 最终的数据集 包含了专家轨迹的状态分布 和 模型自身轨迹的状态分布,使得训练出的策略对自身错误更具鲁棒性
- 缺点:
- 需持续查询专家提供标注,在现实中可能成本很高或难以实现
- 需要进行多轮迭代、数据收集和模型训练,计算成本高
Adversarial Imitation Learning 对抗式模仿学习
简介
对抗式模仿学习算法通过逆强化学习(Inverse Reinforcement Learning)来构建一个对抗的奖励函数,然后最大化这个奖励函数去模仿专家行为。或者,直接学习一个可以区分专家行为与智能体行为的策略。
- 逆强化学习
- 定义:找到一个奖励函数 ,使得专家策略 在该奖励函数下的期望累积回报最大: 其中, 是折扣因子, 表示专家策略。
- 问题:
- 一个策略可能对应多个奖励函数;也就是说,存在多个奖励函数,使得专家策略在该奖励函数下的期望累积回报最大
- 需要在整个强化学习循环中进行规划/学习,计算成本高昂 每调整一次奖励函数,都要在内部从头训练一个 RL
- 解决:
- 最大间隔方法(Maximum Margin Planning):
- 核心思想:拉开差距
- 行为:找到一个奖励函数,让专家策略得到的奖励远超其他所有可能的策略。可以想象成在一群策略里,专家策略不仅要胜出,还要与第二名之间的分数差距越大越好。
- 最大熵方法(Maximum Entropy IRL):
- 核心思想:少假设、多包容
- 行为:选择熵最大的奖励函数,也就是最普适的一种,能够减少不必要的先验偏见,帮助算法学到更通用的奖励函数
- 贝叶斯方法(Bayesian IRL):
- 核心思想:把奖励函数视为一个需要推断的随机变量
- 行为:通过专家的示范数据,逐渐更新这个随机变量的概率分布,得到奖励函数的后验分布。这个方法可以量化对奖励函数不确定性的认识,为不同可能的奖励函数分配相应的概率。
- 生成对抗模仿学习(Generative Adversarial Imitation Learning, GAIL)
- 最大间隔方法(Maximum Margin Planning):
- 生成式对抗模仿学习
- 借鉴生成对抗网络(GAN)的思路:
- 训练一个判别器,来区分哪些轨迹是专家的,哪些是智能体的;
- 同时,智能体通过不断地对抗判别器,学习让判别器认为自己的轨迹也像专家一样
- 生成对抗模仿学习(Generative Adversarial Imitation Learning, GAIL)
- 定义:找到一个策略 和一个判别器 ,使得:
- 目标:
- 策略 :欺骗判别器,使其将自己的行为误判为专家行为;即,它要学习如何行动,使得 的值尽可能接近 1 可以直接使用的策略
- 判别器 :最大化对专家数据和智能体数据的分类准确率;即,对专家数据输出 1,对智能体数据输出 0 伪奖励函数,当策略与专家很像的时候给出高分,否则低分
- 优点:
- 不需要在固定的奖励函数下训练一个完全收敛的策略,它通过交替的、小幅度的优化让策略和判别器协同进化,提高训练效率
- 缺点:
- 训练难,容易出现梯度消失、模式崩塌等问题
- 对专家数据量的需求较高
- 对抗性逆强化学习(Adversarial Inverse Reinforcement Learning, AIRL)
- 问题:GAIL 的判别器作为奖励函数容易过拟合,难以泛化到新环境
- 思路:在 GAIL 基础上,显式地学到一个能够解释专家行为的奖励函数,使奖励函数能复用
- 行为:将判别器结构化 其中: 被设计为 ,即奖励函数+优势函数的近似;优势函数在策略最优时接近 0,可以得到一个不受策略影响的、稳定的奖励函数
- 缺陷:模型结构更复杂,训练可能比 GAIL 更不稳定
- 借鉴生成对抗网络(GAN)的思路:
- 从观察中模仿(Imitation from Observation, IfO)
- 问题:数据只有状态序列,而没有动作序列
- 思路:通过学习状态之间的转移关系,从而模仿专家的行为
- 行为:状态表示 → 动作推断(IDM)/奖励推断(AIL) → 策略学习(IL/RL)
- 缺陷:如果不同动作能导致相同的状态转移会导致学习模糊不清
对比
特性 GAIL AIRL IfO 核心创新点 奠基性工作,将模仿学习转为对抗训练 从判别器中恢复可移植的奖励函数 仅从状态观察中学习,无需专家动作 所需专家数据 状态-动作对 (s, a)状态-动作对 (s, a)仅状态序列 (s, s')判别器输入 (s, a)(s, a, s')(s, s')奖励函数 判别器 D(s, a),不可移植恢复出 g(s, a),可移植判别器 D(s, s'),不可移植解决主要问题 行为克隆的分布漂移,IRL 的效率 GAIL 奖励函数的歧义性与泛化性 缺乏专家动作标签 优势 端到端,比传统 IRL 高效 奖励函数可解释、可迁移 数据要求极低,实用性强 劣势 奖励歧义,模式坍塌,训练不稳定 结构更复杂 学习信号模糊