一、概述
1.1 AIL存在的问题
- bias reward,由于不正确的MDP吸收态导致的回报偏差
- 需要大量的交互,才能使得策略收敛
- absorbing state(MDP吸收态)无法学习
1.2 本文所提方案
- Discriminator-Actor-Critic (DAC) 兼容GAIL及AIRL框架,在二者原有框架基础上扩展 off-policy discriminator及 off-policy actor-critic 算法
- 改进:
- 通过上述改进去除了AIL算法中由于不准确的吸收态导致的偏差(bias due to the incorrect absorbing state)
- 加速从demonstration中的学习速度(off policy扩展)
- 增加鲁棒性。
二、方法
2.1 Bias in Reward
- Absorbing states in MDPs: GAIL (GMMIL), Option GAN, AIRL,等这种AIL框架的算法,都忽略了absorbing state, 无法学习到吸收态的回报,所以导致吸收态的回报是0
- 一种常见的reward类型:$r(s,a)=-\log(1-D(s,a))$,这种严格正值reward容易导致局部最优,而且agent都被这种positive reward带跑偏了,去追求更高的reward,而不是真正的去学习demonstration。
- 另一种常见的reward类型:$r(s,a)=\log(D(s,a))$ ,这种回报经常用在单步penalty的场景,加入一个固定的单步惩罚,这种的并不能很好的学到一个优秀的策略,事实上,这种强先验式回报即使不用模仿demonstration也可能获得一个好结果.
2.2 Unbias in Reward
作者要明确吸收态的回报$R_T=r(s_T,a_T) + \sum_{t=T+1}^{\infin}\gamma^{t-T}r(s_a,\cdot)$, 注意这里使用的是一个学到的回报$r(s_a,\cdot)$, 而非直接使用$R_T=r(s_T,a_T)$,这样将吸收态回报引入到学习过程,根据吸收态回报进行策略的学习。
为了能够兼容AIL以及RL框架,来兼顾吸收态进行学习,作者提出以下方案进行rollout:
完成一个episode的时候,将终态到吸收态的transition ($s_T,s_a$) 以及吸收态到吸收态的transition ($s_a,s_a$) 一起作为transition。
实现的时候,需要一个标志位来标识其是否是吸收态。
2.3 解决采样效率问题
使用off-policy RL以及 off-policy Discriminator来改善GAIL。
将从策略采样换成从replay buffer采样
采样上使用重要性采样:
在实践过程中,重要性采样以及Discriminator的大方差,导致其训练效果不好,因而实践中省略掉了重要性采样权重。
TRPO 效果不如 PPO,这里使用了off-policy的TD3来替换on-policy,使用Discriminator的值作为回报进行训练。off-policy还可以应对multi modal情况,避免GAN带来的mode collapse问题。