GAIL 与 IRL 的理解

Inverse Reinforcement Learning

逆强化学习,顾名思义,就是与强化学习的过程反着走。

Reinforcement Learning

强化学习的过程一般如下:

  1. 首先我们有一个可以互动的环境;
  2. 然后我们定义/设置一个奖励函数;
  3. Actor 通过不断与环境互动,来最大化奖励函数,找到一个最优的 actor。

Inverse Reinforcement Learning

逆强化学习的思想与强化学习相反。我们现在不知道奖励函数是什么(不知道如何设置奖励函数),但有专家数据。我们假设 **专家的示例是唯一最优的!**因此,我们需要从专家的示例中学习到奖励函数,然后再通过强化学习方法最大化这个学到的奖励函数,最终得到最优的 actor。

具体框架如下:

  1. 首先我们有专家策略 π ^ \hat{\pi} π^ 的数据 { τ ^ 1 , τ ^ 2 , ⋯ , τ ^ N } \left\{\hat{\tau}_{1}, \hat{\tau}_{2}, \cdots, \hat{\tau}_{N}\right\} {τ^1​,τ^2​,⋯,τ^N​};
  2. 然后我们设置一个 actor,也去与环境交互,得到 { τ 1 , τ 2 , ⋯ , τ N } \left\{\tau_{1}, \tau_{2}, \cdots, \tau_{N}\right\} {τ1​,τ2​,⋯,τN​};
  3. 然后根据 1 和 2 反推出 Reward Function R R R;根据原则:The expert is always the best.
  4. 然后,我们去最大化这个奖励函数 R R R(使用强化学习方法),学出一个新的 actor,这个 actor 再去交互,返回步骤 2。

Generative Adversarial Imitation Learning

GAIL 的思想就是将 GAN 运用在了 IRL 上。

Generative Adversarial Network

GAN 的思想就是我们训练一个生成器 G G G,它从一个普通的分布逐渐生成与现有数据分布相似的分布。

Generative Adversarial Imitation Learning

同样,我们希望我们的 actor 能够模仿专家。换句话说,就是 actor 产生的轨迹,与专家产生的轨迹越相似越好。

这里的 “相似” 指的是轨迹的分布相似!

具体过程如下图所示,跟我们上面讨论的 IRL 的图很像。Actor 就对应了这里的 Generator,Reward Function 就对应了这里的 Discriminator。

Discriminator 的训练

在判别器中,我们需要对每个轨迹打分,具体方法是可以将对轨迹的打分拆解为对 state-action 的打分,即 d ( s , a ) d(s,a) d(s,a)。然后在结合起来作为整个轨迹的打分。

训练目标是希望专家的得分更高,而 actor 的得分更低。

Generator 的训练

生成器的目标是使得 actor 的得分不断增大。理论上可以直接对 actor 的参数进行梯度上升的方法,来提升 D ( τ i ) D(\tau_i) D(τi​) 的得分。但实际上不能这样计算,按照 policy gradient 的 trick,可展开为右边的式子。

Algorithm

整个算法的流程大致如下:

Reference

  1. PPT:https://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2017/Lecture/IRL%20(v3).pdf
  2. Video:https://www.youtube.com/watch?v=rOho-2oJFeA

【深度强化学习】GAIL 与 IRL 的理解相关推荐

  1. 【200+论文】深度强化学习、对话系统、文本生成、文本摘要、阅读理解等文献列表

    [导读]本文收录了深度强化学习.对话系统.文本生成.文本摘要.阅读理解.因果推理.记忆网络.推荐系统.神经表示学习等一系列领域参考文献大合集! https://cloud.tencent.com/de ...

  2. 深度强化学习入门:马尔可夫决策过程(井字棋案例理解)

    注:笔记 来自知乎文章 深度强化学习综述(上) Tips①:只是记录从这个文章学到的东西 Tips②:只摘选了文章中部分理论阅读整理 Tips③:重点是对文章中的一些公式进行理解,方便自己回顾 Tip ...

  3. ​万字总结83篇文献:深度强化学习之炒作、反思、回归本源

    来源:深度强化学习实验室 本文约15000字,建议阅读10+分钟 本文为你深入浅出.全面系统总结强化学习的发展及未来展望. 深度强化学习是深度学习与强化学习相结合的产物,它集成了深度学习在视觉等感知问 ...

  4. 深度强化学习发展现状及展望:万字总结解读83篇文献

    深度强化学习是深度学习与强化学习相结合的产物,它集成了深度学习在视觉等感知问题上强大的理解能力,以及强化学习的决策能力,实现了端到端学习.深度强化学习的出现使得强化学习技术真正走向实用,得以解决现实场 ...

  5. 深度强化学习泡沫及路在何方?

    一.深度强化学习的泡沫 2015年,DeepMind的Volodymyr Mnih等研究员在<自然>杂志上发表论文Human-level control through deep rein ...

  6. 深度强化学习路在何方

    一.深度强化学习的泡沫 2015年,DeepMind的Volodymyr Mnih等研究员在<自然>杂志上发表论文Human-level control through deep rein ...

  7. 必看,61篇NeurIPS深度强化学习论文解读都这里了

    作者 | DeepRL 来源 | 深度强化学习实验室(ID: Deep-RL) NeurIPS可谓人工智能年度最大盛会.每年全球的人工智能爱好者和科学家都会在这里聚集,发布最新研究,并进行热烈探讨,大 ...

  8. 深度强化学习综述论文 A Brief Survey of Deep Reinforcement Learning

    A Brief Survey of Deep Reinforcement Learning 深度强化学习的简要概述 作者: Kai Arulkumaran, Marc Peter Deisenroth ...

  9. 【重磅】61篇NIPS2019深度强化学习论文及部分解读

    深度强化学习报道 来源:NIPS2019 编辑:DeepRL NeurIPS(前称NIPS)可谓人工智能年度最大盛会.每年全球的人工智能爱好者和科学家都会在这里聚集,发布最新研究,并进行热烈探讨,大会 ...

最新文章

  1. python 爬取网页照片!全代码!指定数量,指定目录,爬取过程详细!关于有下载照片过程但是不显示照片的问题的解释
  2. copy的key认证
  3. 我的WCF之旅(6):在Winform Application中调用Duplex Service出现TimeoutException的原因和解决方案...
  4. EJS学习(一)之特性、安装、工作原理
  5. Java SE有几个代码_JavaSE常用类及方法的介绍(附代码)
  6. 网管的一天——按小时记录生活
  7. 应该怎么做一个登录功能?
  8. 显示当前行号、文件名和函数名
  9. 我是如何查找RFC官方资料的
  10. 几款4Gb光纤连接产品对比
  11. netty 基于 protobuf 协议 实现 websocket 版本的简易客服系统
  12. php 中文名称排序 源码,四种排序算法PHP实现类
  13. class 反编译工具 jadclipse
  14. Apowersoft ApowerMirror v1.4.5 终身商业授权破解版 安卓/iPhone投屏控制软件
  15. mysql数据表删了怎么恢复_mysql数据库数据删除怎么恢复
  16. 第一周:半导体器件基础(一)
  17. 怎样用计算机算出54188,计算机应用技术练习题.doc
  18. php mysql 考勤系统_考勤问题思路和解决
  19. Steam流式传输后插耳机没有声音
  20. video.js插件的使用

热门文章

  1. PHP 全局变量 - 超全局变量
  2. 计算机基础知识及列表操作
  3. 第五周 思维导图与快速学习
  4. 【Unity3D 灵巧小知识点】 ☀️ | 求解 两个向量的夹角度数
  5. ORB_SLAM2、ORB_SLAM3跑EuRocKITTI数据集及evo评估
  6. 对于电脑命令你了解多少?电脑命令大全
  7. vscode预览html插件,VSCode插件推荐-VSCode内嵌浏览器插件-Browser Preview
  8. 分享个龙门神途脚本辅助工具,相当于一个云端的安卓模拟器
  9. 三大管理法则—鱼缸法则、木桶效应、热炉法则
  10. 理清「万维网」和「互联网」的概念和区别