文章目录
- 专栏传送门
- 0.引言
- 1.逆强化学习发展历程
- 2.需要准备的
专栏传送门
0.简介
1.学徒学习
2.最大熵学习
0.引言
\qquad相比于深度学习,国内强化学习的教程并不是特别多,而相比强化学习,逆强化学习的教程可谓是少之又少。而本人想将整理到的资料融合到一块并记录下来,因此开辟了这个分栏。有关这个领域的应用倒是有很多博客可以参考,但真正介绍原理很清楚的博客很少,因此本系列以介绍原理为主,辅助代码实验。
\qquad逆强化学习(Inverse Reinforcement Learning,IRL)其实是模仿学习(Imitation Learning,IL)的一种,与普通IL方法不同的是,其通过学习Expert,求得Environment的奖励函数Reward,再结合正强化学习(Forward Reinforcement Learning),达到与环境互动,模仿专家系统行为的目的。
\qquad与普通强化学习不同,强化学习虽然不像监督学习一样需要知道样本的标签,但是需要知道每一个样本对应的奖励函数Reward;然而逆强化学习则利用人类的行为求取这个Reward。在这个过程中会遇到各种问题,但是成功的案例也不少,最典型的要数美国berkly大学做的机器人摆盘子和倒弹珠的实验:
http://rll.berkeley.edu/gcl
\qquad在该实验中,机器人将10个盘子依次摆放到对应位置是一个特定的强化学习任务,这个任务的损失函数很难人为界定,但是可以通过人工演示正确的范例来让机器人加以学习,从而达到学习环境奖励函数并优化Policy的目的。
\qquadIRL领域open-access的papers有很多,可惜本人水平有限,理解太浅。虽说知乎和CSDN的大V们也做过很多介绍,可惜看了之后都是失望大于期望的,这些博客大多参考了国外的课程,可惜播放源大多数都不是国内源,虽说打不开,本人将链接也贴在下方以作参考。
- 莫烦python-强化学习系列
- 台湾大学-深度强化系学习系列视频(非国内源)
- 台湾大学-模仿学习简介(非国内源)
- 美国Berkly大学-模仿学习课程(非国内源)
- 模仿学习(行为克隆+逆强哈学习)教学(非国内源)
1.逆强化学习发展历程
IRL的重要论文(OpenAI提供的论文)
论文链接
\qquad如果翻看近些年IRL的论文就会发现,其IRL的思想早在2000年左右就已经提出了,但它的热门期也是随着2013年Deep RL的出现而开始的。目前主要的方法有以下几种:
- 学徒学习(Apprenticeship Learning, 2004)
- 最大熵学习(Maximum Entropy Learning,2010)
- 引导损失函数学习(Guided Cost Learning,2016)
- Gail(Generative Adversarial Imitation Learning,2016)
- DeepMimic(Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills,2018)
- Vail(Variational Discriminator Bottleneck: Improving Imitation Learning,2018)
- MetaMimic(One-Shot High-Fidelity Imitation,2018)
\qquad本人在这个领域也属于小白水平,目前只大概了解了前4种方法的原理,若有错误或不清晰的地方,还望大家指正(后续系列方法的整理会持续更新)。
\qquadIRL与RL一样,它的分类方法也基本遵循了以下原则(图片来自OpenAI的spiningup官网):
\qquad首先出现的Model-Free的方法,其次出现Model-Based方法。在Model-Free方法中,大家也是先研究Q-Learning系列的(Value-Based)方法,然后再研究Policy-Based方法。这里的Model指的是Dynamic Model,在MDP中指状态转移概率(矩阵),很多时候这个矩阵无法求得,就必须依赖Model-Free的方法,通常Model-Free都是基于Policy Optimization或者Sample Based的,以下是一些Model-Based和Model Free的IRL方法整理。
Model-Based | Model-Free |
---|---|
Maximum Margin Optimization, Apprenticeship Learning, Maximum Entropy Learning, Deep Maximum Entropy Learning | Relative Entropy Learning, Path Integral Entropy Learning, Guided Cost Loss, Model-Free Imitation Learning via Policy Optimization |
\qquad在深度学习盛行之后,也出现了很多IRL的Deep Learning的方法,当然,只要知道了梯度如何计算,其实深度学习和线性函数是一回事。
2.需要准备的
博客篇幅不宜过长,因此以下基础知识内容本系列的博客不会再详细赘述,还望读者自行学习,毕竟基础不牢地动山摇嘛
- 强化学习的基础知识(可以看引言中莫烦的视频,或者参考OpenAI官网教程)
- 深度学习的基本理论(其实这才是最好学的,好在B站有不少,在这里就不作推荐了)
- 概率论的基础知识(说实话,高数和线代用的不是特别多,但是对概率论基础知识的掌握还是非常必要的)
- Linux的开发环境(强化学习的仿真环境gym目前只支持Linux呀,虽说有人在Windows上成功了,但也不是Official Support的)
\qquad后续会根据第一章提到的发展历程更新这个系列的博客,欢迎同道之人交流探讨!