GAIL生成对抗模仿学习的简单理解

文章目录

  • 强化学习
  • 模仿学习
    • 模仿学习的三种方法
      • 行为克隆
      • 逆向强化学习
      • GAIL生成对抗模仿学习

强化学习

强化学习需要一个合适的reward函数去求解最优行动策略,但很多情况下不容易设以一个足够全面和优秀的reward函数,特别是在一些复杂的应用场景中,例如自动驾驶中撞人、撞车和闯红绿灯三者的reward值很难有一个合理的比例和设定,当面对的周围环境更加复杂就更难去定量。

模仿学习

模仿学习希望机器能够通过观察并模仿专家的行为策略进行学习,不需要提前设计好任务的reward函数,专家的行为策略相当于引入了带标签的数据,转化为了有监督学习。

模仿学习的三种方法

行为克隆

如下图所示,专家做什么,机器跟着做,通过离散的数据学习离散的分布,专家的行为轨迹给定的数据集有限,只能通过不断增加训练集去覆盖所有可能发生的状态来保证学习的效果,但一般都不能获得足够完整的数据集,特别是有些数据集中可能存在的危险状态在实际中的采集成本非常高,比如无人驾驶在雨天的山路、热闹的市场等危险地带的数据采集。GAIL生成对抗模仿学习的简单理解_第1张图片

逆向强化学习

假设专家的策略是完美的,即最优reward函数下的最优解。逆向强化学习希望通过学习得到一个reward函数去解释专家的行为,在这个过程中,不断对当前得到的reward函数进行优化,最终从专家的行为中反推出一个最合理的结果。
GAIL生成对抗模仿学习的简单理解_第2张图片
如上图所示,初始化一个reward函数,通过强化学习算法可以得到当前reward函数下最优的一组策略,根据假设:专家的策略是最优reward函数下的最优解,优化reward函数使得专家策略获得更高的reward值,再由强化学习算法得到最新reward函数下的最优策略,不断迭代上述过程至收敛,最终得到的reward函数得到的最优策略应该与专家策略一致,说明可以很好地解释专家的行为。总的来看,该方法对数据集的要求比专家克隆的方法要低,但在实现过程中需要不断使用强化学习算法,因此计算量较大。

GAIL生成对抗模仿学习

一个reward函数可以看作是一个专家行为所对应的分布,逆向强化学习通过迭代去学习这个函数,而GAN本身就被用于拟合各种未知的分布,因此希望利用GAN去学习reward函数的分布。GAIL生成对抗模仿学习的简单理解_第3张图片
占用率度量可以近似看做是使用策略π时,状态-动作对的分布。占用率度量的匹配度越高,说明两个策略的近似程度越高。GAIL的优化目标中把生成对抗损失和占用率度量结合,生成对抗损失用来保证生成的策略真实度,即“按套路出牌”,而占用率度量的损失保证生成的策略和专家策略更加接近,更加合理。
GAIL生成对抗模仿学习的简单理解_第4张图片
引入GAN的思想直接学习分布,绕过了逆向强化学习中很多的中间步骤,特别是重复的强化学习计算,因此减少了较多的计算量。

附部分来源链接:https://blog.csdn.net/weixin_37895339/article/details/82863379

你可能感兴趣的:(记录,笔记)