:::info
前几章假设已知奖励函数、或者在与环境交互时收到奖励。对于某些应用程序,专家可能更容易演示所需的行为,而不是指定奖励函数。
本章讨论了模仿学习算法,其中所需的行为是从专家演示中学习的。我们将介绍各种方法,从非常简单的似然最大化方法到涉及强化学习的更复杂的迭代方法。
:::
1. 行为克隆 Behavioral Cloning
行为克隆 Behavioral Cloning:训练由参数化的随机策略
,以最从专家状态-行动对的数据集
最大化行动的可能性:
,可以将
的乘积转化为
的和。
根据条件分布的表示方式(例如贝叶斯网络、神经网络),可以计算
的最大似然估计的解析解。
如果有一个策略的因子表示,我们可以使用贝叶斯网络来表示状态和动作变量的联合分布。 如下图,可以从数据
中学习结构(第5章)和参数(第4章)。根据当前状态,我们可以使用推断算法(第3章)推断出动作的分布。
专家演示越接近最优,产生的行为克隆策略的性能就越好。
尽管行为克隆因其简单而具有吸引力,但级联错误(cascading error)会导致该方法在许多问题上表现不佳,特别是当策略必须长期使用时。
*级联错误(cascading error):在rollout过程中,小的不准确性会叠加在一起,最终导致在训练数据中表现不佳的状态,从而导致更糟糕的决策,最终导致无效或无视的情况。
2. 数据集聚合 Data Set Aggregation
本节内容网上几乎没有参考资料。
解决级联错误问题的一种方法是:使用额外的专家输入来纠正已训练的策略。
序列交互演示(Sequential interactive demonstration):在从专家处收集由已训练的策略生成的情况下的数据和使用该数据改进该策略之间进行交替。
其中一种方法称为数据集聚合(DAgger),从使用行为克隆训练随机策略开始,然后使用该策略从初始状态分布运行多个rollout,然后将其提供给专家,从而为每个状态提供正确的动作。新数据与以前的数据集聚合,并训练新的策略。
序列交互式演示基于先前的学习迭代,迭代地构建一个数据集,覆盖agent可能遇到的状态空间区域。在每次迭代中,新添加的示例构成了数据集的一小部分,从而导致较小的策略更改。虽然序列交互演示在实践中可以很好地工作,但不能保证收敛。混合专家策略的影响可以保证收敛(下一节的主题)。
3. 随机混合迭代学习 Stochastic Mixing Iterative Learning
顺序交互方法还可以通过随机混合新训练的策略来迭代建立策略。
其中一种方法是随机混合迭代学习(SMILe),在每次迭代中使用行为克隆,但将新训练的策略与先前的策略混合。
从专家策略开始,,在每次迭代中,执行最新的策略
以生成新的数据集,查询专家以提供正确的动作。行为克隆仅适用于该新数据集,以训练新的组件策略(component policy)
。该组件策略与先前迭代中的组件策略混合,以生成新的策略
。
混合策略生成的过程由一个混合标量
控制——根据专家策略行动的概率为
,根据
行动的概率为
。假设较旧的策略组件是根据最可能遇到的状态进行训练的,该方案将更多的权重分配给较旧的策略(学习到的组件策略通常只需要在每次迭代中做出越来越小的贡献,以弥补尚未学习到的内容的差异)。随着每次迭代,按照原始专家策略行事的概率衰减为零。混合标量通常很小,这样代理不会过快放弃专家的策略。
4. 最大边际逆强化学习 Maximum Margin Inverse Reinforcement Learning
在许多应用程序设置中,没有可以交互查询的专家;相反,有一批专家演示轨迹。假设专家演示数据由
条轨迹组成,
中的每个轨迹
都涉及到深度
的rollout。
逆强化学习(inverse reinforcement learning):假设专家正在优化一个未知的奖励函数。从中,我们试图推导出奖励函数,有了这个奖励函数,我们就可以使用前面章节讨论的方法来推导出最优策略。
逆强化学习有不同的方法。通常需要定义奖励函数的参数化,一个常见的假设是,该参数化是线性的,,其中
是特征向量,
是权重向量。
:::info
在本节中,我们将关注一种被称为最大边际逆强化学习(maximum margin inverse reinforcement learning)的方法,其中,特征被假设为二进制。
:::
由于最优策略在奖励函数为正尺度时仍为最优,因此该方法对权重向量进行了额外的约束,使其
。专家数据以不同的频率激活每个二进制特征,可能追逐一些特征,避免另一些特征。这种方法试图学习这种激活模式,并训练agent模仿这些激活频率。
该算法的一个重要部分包括对权重和初始状态分布
的策略
下的预期回报进行推理:
其中,对应于
到深度
生成的轨迹;引入了特征期望向量(feature expectations vector)
,指预期的折扣累积特征值。这些特征期望可以从
个rollout中进行估计。
可以使用专家演示来估计专家的特征期望,我们希望找到一个与这些特征期望尽可能相近的策略。
在第一次迭代中,我们从随机策略开始,并估计其特征期望,表示为
。在第
次迭代中,我们发现一个新的
对应于奖励函数
,因此专家的表现优于之前发现的所有策略的最大边际
:
上式是一个很容易求解的二次方程。然后使用奖励函数来求解一个新的策略
,并产生一个新的特征期望向量。
迭代直到边界足够小。在收敛时,我们可以求解混合策略,该策略试图使特征期望尽可能接近专家策略的期望:
,其中
,混合权重
结合了在每次迭代中发现的策略。对于概率
,我们遵循策略
。
5. 最大熵逆强化学习 Maximum Entropy Inverse Reinforcement Learning
:::info
上一节中的逆强化学习的方法没有明确规定,通常有多个策略可以产生与专家演示相同的特征期望。本节介绍最大熵逆强化学习。
:::
最大熵逆强化学习 maximum entropy inverse reinforcement learning:通过选择导致分布的策略 而不是具有最大熵的轨迹来避免这种模糊性。该问题可以转化为在给定专家数据的情况下,在最大似然估计中寻找最佳奖励函数参数
的问题。
任何策略都会在轨迹
上诱导一个分布,不同的策略会产生不同的轨迹分布,可以自由地选择这些分布而不是轨迹来匹配专家的特征期望。
最大熵原理是选择信息量最少的分布,信息量最小的轨迹分布的形式为:,
是给定奖励参数
下轨迹
的可能性。其中,
是折扣轨迹奖励:
;归一化标量
确保概率总和为1:
为策略选择了一类特殊的轨迹分布,使用最大似然法将该类拟合到轨迹,以获得最能描述数据的参数: