Paper-1 精读GAIL 2016 NIPS
定位
Generative Adversarial Imitation Learning
- 如何在Deep RL中利用专家数据?
Behavioral Cloning与Inverse RL两种方式。- Behavioral Cloning直接从专家数据上进行监督学习,会出现supervised learning中常见的covariate shift的问题,导致利用policy时出现compounding error。
- Inverse RL需要从专家数据中recover 一个cost function(等价reward function),直觉上是得到一个专家的intent,然后基于该cost function学习RL的optimal behavior去迭代cost function,计算花销非常大,而且每次RL Inner Loop不一定能学到当前cost function下的optimal behavior,同样导致compounding error
- GAIL的Contribution
- 利用GAN去拟合expert demonstration中的state与action的distribution
- 不同于IRL中通过一个cost/reward signal学习policy,也不同于传统的behavioral cloning要求的large datasets以及covariate shifts,GAIL对专家数据用GAN做了数据增广。与Behavioral Cloning比较起来,可以生成更多数据,与IRL比较起来,避免了RL作为Inner Loop的计算花销以及通过reward signal习得optimal behavior 这种导致Compounding error的做法。
与该篇文章相关的理论知识:
深度强化学习CS285 lec13-lec15 (上中下)
一、基础知识
- Inverse RL
其中为专家策略,为迭代中的策略。
这两个目标是一致的,只是第一个用cost function,第二个用reward function的形式表达。
用reward角度解释一下这个Objective:- 寻找一个策略,使在当前下的cumulative reward最大且使policy的entropy尽可能大。即
- 固定中的策略,寻找一个使得专家数据的objective更大,刚才习得的policy objective更小,意味着寻找一个reward在专家行为中获得的奖励比其他policy都要大
因此Inverse RL求得是一个reward function/cost function。
- Apprenticeship learning
学徒学习的过程与Inverse RL十分类似,只是它的目标为一个专家policy而不是inverse RL中的cost function。此处有细微的不同:
- 如果得到的是一个专家的policy,那这个policy很难generalize,非常取决于expert demonstration的数据量以及质量,难以获得超越expert的性能。
- 但如果是得到一个表示专家intent的reward signal/cost function,将其作为信号,利用RL进行学习的话,会得到一定的灵活性,能获得超越expert的性能,但计算开销比较大。
二、理论分析的思路
2.1 度量定义
-
Occupancy Measure
用来衡量policy的(state,action)分布。当前状态s与动作a的联合概率 = 给定状态s选择动作a的概率将来回到当前状态s的可能概率。
因此,目标与有效的occupancy measure可表示为: -
Policy Occupancy Measure
因此定义了一个policy的occupancy Measure。
2.2 主要逻辑
下面是论文的关键逻辑:
- IRL得到的是一个cost function,如果提供的expert demonstration比较少质量差,那得到的cost function很容易过拟合,因此IRL原问题定义为:其中为对cost function进行regularised的函数
- 对IRL复原出来的cost function丢进RL中得到一个expert policy,有说明这个过程得到的policy本质上是在使与专家policy的occupancy measure最小的policy。如果使为scalar,则,所以选择的策略,使其与专家policy的occupancy measure即最小。
- 如果是一个constant function,,,则有。
总结:整个过程其实就是在说明,这个过程得到的policy,就是在拟合专家数据中的occupancy measure
因此问题变为:
选择一个策略使得其Occupancy Measure与专家数据的Occupancy Measure尽可能接近,加一个entropy term,希望policy在training过程中尽可能地探索。
所以选择的不同形式,就可以导出不同的imitation learning的algorithms,其中选择为下面的公式
则有:
因此与GAN发生了联系,最后算法流程为:
其中G为Policy Network,D为Discriminator Network,更新G时不再是Maximum Likelihood,而是采用TRPO Rule。
三、实验
- 环境介绍
- Expert Demonstration的来源
利用TRPO在环境上跑一个expert policy,然后从expert policy sample一些trajectories作为expert data进行学习。
总结
NIPS 2016的文章比较久远,但是一篇十分经典、承上启下的文章。
改进的地方非常多,如Policy Network的更新可以采用不同的Update Rule以及各种tricks来降低variance,以及提高Policy Update过程中的Sample Efficiency,至于判别器也可以通过其他方式进行改进。
一句话总结:通过引入GAN来拟合专家数据的(s,a)分布,从而获得对Policy Update的Guidance。
启发:这种Guidance可以从其他形式获得。