最大熵逆强化学习的另一种写法

这里给出IRL的另一种表述形式,即:

这其中的 表示策略 的熵

Hint:中间的 部分可以理解为首先是在确定 的情况下面选择一个策略让 的熵是最大的,然后在这个情况下算出 再真实的专家策略获得的奖励做比较

在学出来这个 之后,再学习出最优策略 的过程是

关于这个式子怎么推导最佳的策略,请看文章 Maximum Entropy Inverse Reinforcement Learning

GAIL

如果这里的数据量比较小,就会导致过拟合,所以考虑加上一个对于奖励函数 的正则项,即 ,把这个式子变成:


那么这样重建出来的就是及满足了熵正则又不会过拟合

怎么解上面的式子

考虑定义一个occupancy measure 为:

可以认为这个是策略 下面出现行为-状态对 的概率密度

如果有了这个重建的策略定义为:

经过一通算可以发现,这里最后的优化目标就是找到

而带入 occupancy measure 可以把上面的式子改成

而这恰好是拉格朗日对偶函数

正则化器的定义

首先定义

然后定义正则化器为:

对于给专家数据状态-动作对赋予较⼤负代价的代价函数,该正则化器赋予其⼩的惩罚项,⽽对于给其分配代价接近零,则赋予较⼤的处罚项。

经过推导可以得到:

Hint:注意这里的 不是说离散的0或1而是一个 区间里面的数

新的优化目标

发现这里最优的损失是使用 JS 散度,即目标为:

式中给出了模仿学习和对抗生成神经网络之间的关联,生成对抗网络通过使判别分类器D来训练生成模型G。D的任务是区分由G生成的数据分布和真实数据分布。当D无法区分G生成的数据与真实数据时,G就成功地匹配了真实数据。在我们的设置中, 由生成器G直接生成,而专家的 由专家策略采样获得的轨迹计算。

所以最后的目标就是找到表达式:

的一个鞍点。

算法

首先生成器会生成一个带有参数 的策略 ,而判别器 会是一个带有参数 的判别器: 然后带入一组专家的轨迹进行计算并分别更新参数 和参数 。这里的 reward 取