【ICLR2020】通过强化学习和稀疏奖励进行模仿学习
文章目录
- 所解决的问题?
- 背景
- 所采用的方法?
- Soft Q Imitation Learning算法
- 取得的效果?
- 所出版信息?作者信息?
- 参考链接
- 扩展阅读
- 论文题目:SQIL: Imitation Learning via Reinforcement Learning with Sparse Rewards
所解决的问题?
从高维的状态动作空间中进行模仿学习是比较困难的,以往的行为克隆算法(behavioral cloning BC
)算法容易产生分布漂移(distribution shift
),而最近做得比较好的就是生成对抗模仿学习算法(generative adversarial imitation learning (GAIL
)),是逆强化(Inverse RL
)学习算法与生成对抗网络结合的一种模仿学习算法,这个算法使用adversarial training
技术学reward function
,而作者提出的算法不需要reward function
。整篇文章是在证明constant reward
的RL
方法与学习复杂的reward function
的强化学习算法一样有效。
文章的主要贡献在于提出了一种简单易于实现版本的模仿学习算法,用于高维、连续、动态环境中。能够很好克服模仿学习中的distribution shift
问题。
背景
模仿学习的问题在于behavior shift
,并且误差会累计。一旦trajectory
偏离专家的trajectory
,智能体并不知道如何回到expert
的轨迹状态上来。最近做地比较好的就是GAIL
,GAIL
做模仿学习最大的好处就是 encourage long-horizon imitation
。那为什么GAIL
能够做到long-horizon imitation
呢?模型学习一般分为两步,在某个state
下采取某个action
,一般的BC
算法都这么做的,而GAIL
除此之外还考虑了采取这个action
之后还回到expert
轨迹的下一个状态上。而作者也采纳了GAIL
的上述两点优势,但是并未使用GAIL
算法中的adversarial training
技术,而是使用一个constant reward
。如果matching the demonstrated action in a demonstrated state,reward = +1;对于其他的情况 reward =0。也就是说你在给定状态下会采取给定动作,就能拿到奖励。因此整个问题就变成了一个奖励稀疏的强化学习问题。
所采用的方法?
作者引入soft-q-learning
算法,将expert demonstrations
的奖励设置为1,而与环境互动得到的新的experiences
奖励设置为0。由于soft Q-Learning
算法是off-policy
的算法,因此有data
就可以训练了。整个算法作者命名为 soft Q imitation learning (SQIL
)。
Soft Q Imitation Learning算法
SQIL
在soft q learning
算法上面做了三个小的修正:
- 用
expert demonstration
初始化填入agent
的experience replay buffer
,其reward
设置为+1
; agent
与环境互动得到新的data
也加入到experience replay buffer
里面,其reward
设置为0
;- 平衡
demonstration experiences
和new experiences
各50%50\%50%。这个方法在GAIL
和adversarial IRL
算法上面也都有应用。
SQIL
算法如下所示:
其中QθQ_{\theta}Qθ表示的是soft q function
,Ddemo\mathcal{D}_{demo}Ddemo是demonstrations
,δ2\delta^{2}δ2表示的是soft bellman error
。Equation 1
表示为:
δ2(D,r)≜1∣D∣∑(s,a,s′)∈D(Qθ(s,a)−(r+γlog(∑a′∈Aexp(Qθ(s′,a′)))))2\delta^{2}(\mathcal{D}, r) \triangleq \frac{1}{|\mathcal{D}|} \sum_{\left(s, a, s^{\prime}\right) \in \mathcal{D}}\left(Q_{\boldsymbol{\theta}}(s, a)-\left(r+\gamma \log \left(\sum_{a^{\prime} \in \mathcal{A}} \exp \left(Q_{\boldsymbol{\theta}}\left(s^{\prime}, a^{\prime}\right)\right)\right)\right)\right)^{2}δ2(D,r)≜∣D∣1(s,a,s′)∈D∑(Qθ(s,a)−(r+γlog(a′∈A∑exp(Qθ(s′,a′)))))2
其中奖励rrr只有0
,1
两个取值。上述公式的理解就是希望demonstrated action
能够获得比较高的QQQ值,而周围的nearby state
的action
分布就不期望那么突出,期望均匀一点,这里就跟熵联系起来了。
取得的效果?
所出版信息?作者信息?
作者是来自加利福尼亚伯克利大学的博士生Siddharth Reddy
。
参考链接
- export-demonstration:https://drive.google.com/drive/folders/1h3H4AY_ZBx08hz-Ct0Nxxus-V1melu1U
扩展阅读
- Maximum entropy model of expert behavior:
Maximum entropy model of expert behavior
:SQIL
是基于最大熵expert behavior
所得出来的算法。策略π\piπ服从Boltzmann distribution
:
π(a∣s)≜exp(Q(s,a))∑a′∈Aexp(Q(s,a′))\pi(a | s) \triangleq \frac{\exp (Q(s, a))}{\sum_{a^{\prime} \in \mathcal{A}} \exp \left(Q\left(s, a^{\prime}\right)\right)}π(a∣s)≜∑a′∈Aexp(Q(s,a′))exp(Q(s,a))
Soft Q values
可通过soft Bellman equation
得到:
Q(s,a)≜R(s,a)+γEs′[log(∑a′∈Aexp(Q(s′,a′)))]Q(s, a) \triangleq R(s, a)+\gamma \mathbb{E}_{s^{\prime}}\left[\log \left(\sum_{a^{\prime} \in \mathcal{A}} \exp \left(Q\left(s^{\prime}, a^{\prime}\right)\right)\right)\right]Q(s,a)≜R(s,a)+γEs′[log(a′∈A∑exp(Q(s′,a′)))]
在我们的模仿学习设置中,rewards
和dynamic
是未知的,专家demonstration
Ddemo\mathcal{D}_{demo}Ddemo是一个固定的集合。通过在environment
中rolling out
策略π\piπ 可以得到state transitions
(s,a,s′)∈Ddemo(s,a,s^{\prime}) \in \mathcal{D}_{demo}(s,a,s′)∈Ddemo。
- Behavioral cloning (BC):
在behavior clone
中是去拟合一个参数化的model
πθ\pi_{\theta}πθ,最小化负的log-likelihood loss
:
ℓBC(θ)≜∑(s,a)∈Ddmo−logπθ(a∣s)\ell_{\mathrm{BC}}(\boldsymbol{\theta}) \triangleq \sum_{(s, a) \in \mathcal{D}_{d m o}}-\log \pi_{\boldsymbol{\theta}}(a | s)ℓBC(θ)≜(s,a)∈Ddmo∑−logπθ(a∣s)
本文中作者采用的是soft q function
,所以最大化的likelihood
目标方程如下所示:
ℓBC(θ)≜∑(s,a)∈Ddemo −(Qθ(s,a)−log(∑a′∈Aexp(Qθ(s,a′))))\ell_{\mathrm{BC}}(\boldsymbol{\theta}) \triangleq \sum_{(s, a) \in \mathcal{D}_{\text {demo }}}-\left(Q_{\boldsymbol{\theta}}(s, a)-\log \left(\sum_{a^{\prime} \in \mathcal{A}} \exp \left(Q_{\boldsymbol{\theta}}\left(s, a^{\prime}\right)\right)\right)\right)ℓBC(θ)≜(s,a)∈Ddemo ∑−(Qθ(s,a)−log(a′∈A∑exp(Qθ(s,a′))))
从这里可以看出作者的目标函数中相比较于行为克隆算法好处在于:后面那一项基于能量的式子是考虑了state transitions
。
- Regularized Behavior Clone
SQIL
可以看作是 a sparsity(稀疏) prior on the implicitly-represented rewards的行为克隆算法。
Sparsity regularization:当agent
遇见了一个未见过的state
的时候,QθQ_{\theta}Qθ也许会输出任意值。(Piot et al., 2014) 等人有通过引入a sparsity prior on the implied rewards 的正则化项。
- Bilal Piot, Matthieu Geist, and Olivier Pietquin. Boosted and reward-regularized classification for apprenticeship learning. In Proceedings of the 2014 international conference on Autonomous agents and multi-agent systems, pp. 1249–1256. International Foundation for Autonomous Agents and Multiagent Systems, 2014.
作者与上述这篇文章的不同点在于有将其应用于连续的状态空间,还有加了latest imitation policy
进行rollouts
采样。
基于上文的soft Bellman equation
Q(s,a)≜R(s,a)+γEs′[log(∑a′∈Aexp(Q(s′,a′)))]Q(s, a) \triangleq R(s, a)+\gamma \mathbb{E}_{s^{\prime}}\left[\log \left(\sum_{a^{\prime} \in \mathcal{A}} \exp \left(Q\left(s^{\prime}, a^{\prime}\right)\right)\right)\right]Q(s,a)≜R(s,a)+γEs′[log(a′∈A∑exp(Q(s′,a′)))]
我们可以得到reward
的表达式子:
Rq(s,a)≜Qθ(s,a)−γEs′[log(∑a′∈Aexp(Qθ(s′,a′)))]R_{q}(s, a) \triangleq Q_{\boldsymbol{\theta}}(s, a)-\gamma \mathbb{E}_{s^{\prime}}\left[\log \left(\sum_{a^{\prime} \in \mathcal{A}} \exp \left(Q_{\boldsymbol{\theta}}\left(s^{\prime}, a^{\prime}\right)\right)\right)\right]Rq(s,a)≜Qθ(s,a)−γEs′[log(a′∈A∑exp(Qθ(s′,a′)))]
从中也可以发现其会考虑下一个状态s′s^{\prime}s′,而不像BC
那样只maximization action likelihood
。最终的Regularized BC
算法可表示为:
ℓRBC(θ)≜ℓBC(θ)+λδ2(Ddemo ∪Dsamp,0)\ell_{\mathrm{RBC}}(\boldsymbol{\theta}) \triangleq \ell_{\mathrm{BC}}(\boldsymbol{\theta})+\lambda \delta^{2}\left(\mathcal{D}_{\text {demo }} \cup \mathcal{D}_{\mathrm{samp}}, 0\right)ℓRBC(θ)≜ℓBC(θ)+λδ2(Ddemo ∪Dsamp,0)
其中λ\lambdaλ是超参数,δ2\delta^{2}δ2是soft bellman error
的平方。可以看出RBC
算法与SQIL
有异曲同工之妙。
- Connection Between SQIL and Regularized Behavioral Clone
∇θℓRBC(θ)∝∇θ(δ2(Ddemo ,1)+λsamp δ2(Dsamp ,0)+V(s0))\nabla_{\boldsymbol{\theta}} \ell_{\mathrm{RBC}}(\boldsymbol{\theta}) \propto \nabla_{\boldsymbol{\theta}}\left(\delta^{2}\left(\mathcal{D}_{\text {demo }}, 1\right)+\lambda_{\text {samp }} \delta^{2}\left(\mathcal{D}_{\text {samp }}, 0\right)+V\left(s_{0}\right)\right)∇θℓRBC(θ)∝∇θ(δ2(Ddemo ,1)+λsamp δ2(Dsamp ,0)+V(s0))
SQIL
相比与RBC
算法引入了+1
和0
的reward
,相当于是加强了奖励稀疏的先验知识。
【ICLR2020】通过强化学习和稀疏奖励进行模仿学习相关推荐
- 强化学习组队学习task05—— 稀疏奖励及模仿学习
文章目录 一.Sparse Reward 1.Reward Shaping ICM(intrinsic curiosity module) 2.Curriculum Learning Reverse ...
- 深度强化学习-稀疏奖励及模仿学习-笔记(七)
稀疏奖励及模仿学习 稀疏奖励 Sparse Reward Reward Shaping Curiosity Curriculum Learning Reverse Curriculum Generat ...
- 莫烦python简历_强化学习传说:第一章 模仿学习
Hello,大家好,这里是糖葫芦喵喵~! 经过了几个月的奋斗,大家是不是对炼丹已经有所体会了呢?从今天起我们要进入机器学习的一个非常引人注目的领域--强化学习(reinforcement learni ...
- 人工智能-强化学习:Imitation Learning(模仿学习)= Learning by Demonstration(示范学习)【每一步action都没有reward】
Imitation Learning(模仿学习)是从给定的展示中进行学习.机器在这个过程中,也和环境进行交互,但是,并没有显示的得到 reward. 在某些任务上,也很难定义 reward.如:自动驾 ...
- 【强化学习】GAIL生成对抗模仿学习详解《Generative adversarial imitation learning》
前文是一些针对IRL,IL综述性的解释,后文是针对<Generative adversarial imitation learning>文章的理解及公式的推导. 通过深度强化学习,我们能够 ...
- 强化学习相关论文阅读笔记之稀疏奖励解决方法
注:该系列文章为强化学习相关论文的阅读笔记,欢迎指正! 论文题目:<深度强化学习中稀疏奖励问题研究综述> 文章目录 1. 论文介绍 2. 论文结构 3. 研究背景 3.1 解决稀疏奖励的必 ...
- 如何解决稀疏奖励下的强化学习?
如何解决稀疏奖励下的强化学习? 来源:机器之心pro ...
- 机器学习-55-RL-07-Sparse Reward(强化学习-稀疏奖励:Reward Shaping,Curriculum Learning,Hierarchical RL)
文章目录 Sparse Reward Reward Shaping(奖励塑造) Reward Shaping Curiosity(ICM) Curriculum Learning Curriculum ...
- 深度强化学习系列: “奖励函数”的设计和设置(reward shaping)
概述 前面已经讲了好几篇关于强化学习的概述.算法(DPG->DDPG),也包括对环境OpenAI gym的安装,baseline算法的运行和填坑,虽然讲了这么多,算法也能够正常运行还取得不错的效 ...
- MeRL:强化学习分配奖励机制的新方法
这是谷歌在2019年发布的一种在强化学习模型中分配奖励机制的新方法. 强化学习一直是过去五年中一些最大的人工智能 (AI) 突破的核心. 在围棋.雷神之锤 III 或星际争霸等游戏中,强化学习模型证明 ...
最新文章
- 矩阵推导后注意力机制居然是这样
- 揭秘硅谷进化历程:机遇无穷 成功需付出更高代价
- Wireshark的入门使用
- linux文本编辑器vi实验心得,linux中vi编辑器的练习心得
- 利用python转换图片格式
- 分割文本_PSENet、PANNet、DBNet三个文本检测算法异同
- 软件行业大牛告诉你何谓成功?
- 单片机之步进电机驱动篇(一)
- linux有没有右键解压文件夹,压缩解压文件无需右键可以这样操作
- java echarts 柱形图数字显示在顶部
- 我的世界java1.13下_Minecraft我的世界Java版1.13-pre3更新内容
- 有限合伙税收“优惠”:上市公司股东大举入疆或为避税
- js(JavaScript)操作字符串的方法
- python中prettytable模块_PrettyTable模块
- 这是最棒的效率工具集,打通 Notion x 云盘 x 其他笔记软件,写作、设计、开发都会用到工具
- 矩阵求导技巧-YX拉伸法
- stata数据处理教学
- eclipse IDE java and web 最新版安装和配置Tomcat
- windows10系统如何实现二分屏、三分屏和四分屏
- Linq-20220817更新