点击蓝字
关注我们
AI TIME欢迎每一位AI爱好者的加入!
牛浩懿:
清华大学自动化系研究生一年级,主要研究方向为强化学习及其在自动驾驶和机器人中的应用(更多信息详见 https://t6-thu.github.io)
01
概述
本文是一篇offline and online的文章,发表在NeurIPS 2022。
原文传送门:
When to Trust Your Simulator: Dynamics-Aware Hybrid Offline-and-Online Reinforcement Learning
对于online RL,真实世界的复杂任务通常只有简化dynamic的模拟器,导致用模拟器进行online训练的效果和实际应用的效果会有很大差距,也就是sim-to-real gap。
offline RL从另一个角度出发,利用预收集的历史数据学习策略,但需要离线数据有足够的(s,a)空间覆盖率。
本文将offline RL利用有限真实数据的做法和online RL利用简化模拟器进行无限制探索的做法结合,提出Dynamics-Aware Hybrid Offline-and-Online Reinforcement Learning (H2O)框架,一方面引入dynamics-aware策略评估,动态惩罚具有很大dynamics gap的仿真(s,a)的Q值,另一方面也可以从固定的真实世界数据集中进行学习。
这里的offline-and-online指的是可以利用offline数据的online学习。
02
方法
2.1
Sim-to-real
在sim-to-real gap中,visual gap已经被很多方法很好地解决,例如domain randomization,proper model setup,transferable state-encoder等,而更困难的dynamics gap还有待解决。
模拟器可以通过无限制的探索提供大量的(s,a)数据,覆盖率很高,真实世界数据集可以指导和纠正用模拟数据在online训练过程中的错误信息。
2.2
Hybrid Offline-and-Online Reinforcement Learning
本文提出的H2O主要是借鉴基于值约束的offline RL(CQL)中处理不同来源数据的方法,即 unreliable pushed-down data 和 reliable pulled-up data。
首先,本文仿照CQL的策略评估,提出了一种dynamics-aware策略评估:
所谓的dynamics-aware策略评估,就是和CQL一样惩罚具有高dynamics gap的模拟样本的Q值。
具体从公式来看,可以分成红色和蓝色两部分。
红色部分的第一个最小化项是惩罚具有高dynamics gap的样本,第二个最大化项是取消对真实离线数据的惩罚。
这里需要dϕ给高dynamics gap样本赋予高概率,本文使用正则项R(dϕ)来控制dϕ的行为,具体来说就是利用一个刻画状态-动作空间中样本dynamics gap的分布w,用KL散度控制dϕ和w之间的距离:
那么优化目标中的最大化目标就转换为:
而上述优化问题存在解析解:
可以在优化目标中用w替换dϕ,惩罚具有高w值样本的Q值:
接下来就需要评估(s,a)的w值,本文通过衡量(s,a)在真实环境动态转移和模拟器动态转移之间的dynamics gap作为不确定性u(s,a),然后用u(s,a)构建出分布w(s,a):
然后问题就转变成如何评估dynamics ratio PM^/PM,利用贝叶斯法则进行推导:
其中的p(real|s,a,s′)和p(real|s,a)就利用一对判别器Dsas(s,a,s′)和Dsa(s,a)来进行估计,这两个判别器的优化方式和DARC一样,用真实离线数据和模拟样本之间的标准交叉熵loss来优化。
对于蓝色部分,由于模拟器存在dynamics gap,直接用online buffer中的模拟样本计算贝尔曼误差会有问题,因为这里的s′来自有偏差的模拟动态转移,而s′应该来自真实环境动态转移,这样才能计算出正确的目标Q值。所以本文利用上一步得到的dynamics ratio作为重要性采样权重,得到新的贝尔曼误差公式:
在具体实现时,进行了两个简化:
1、原先计算exp(Q)的加权平均时需要从整个状态-动作空间上采样,简化后用模拟buffer的minibatch中的(s,a)样本来近似这个值。
2、原先计算u(s,a)中的KL散度时需要从模拟动态分布中采样s′,简化后用高斯分布的N个随机样本的平均值来近似期望值。
03
实验
3.1
Simulation-based experiments
首先基于MuJoCo-HalfCheetah在仿真环境上进行实验,将MuJoCo作为真实环境,模拟器是在MuJoCo的基础上修改dynamics参数。Gravity是2倍的重力加速度,Friction是用0.3倍的摩擦系数,Joint Noise是在动作空间的每一维上加一个高斯噪声。离线数据集是D4RL,只在medium,medium-replay,medium-expert这三个更符合实际场景的数据集上进行实验。训练是和改了dynamics的MuJoCo交互,评估是和原MuJoCo交互。
SAC(sim)是训练和模拟器交互,评估和真实环境交互,存在dynamics gap问题。
CQL(real)是用D4RL / 真实离线数据训练,不存在dynamics gap,但无法覆盖完整的状态动作空间。
DARC也是希望先在模拟器上训练,然后迁移到真实环境中,需要解决dynamics的变化问题,DARC用输入分别为(st,at,st+1)和(st,at)的分类器来估计dynamics的差异,再通过reward function进行修正,利用估计的奖励修正项引导agent学到在真实环境上接近最优性能的策略。
DARC+是本文设计的DARC变体,不仅用真实离线数据训练辨别器,还用于策略评估和策略提升,这样可以展示直接结合offline和online进行训练的不足,与H2O形成对照,证明H2O中惩罚高dynamics gap样本Q值和将dynamics ratio作为重要性采样权重等方法的有效性。
可以看到,H2O的性能基本都是最好的。至于DARC在Medium Expert-Friction任务上的效果特别好,文章认为可能是因为特定的数据集和dynamics gap因素等偶然因素。
3.2
Real-world experiments
然后在真实场景进行实验,这里设计了两个任务:Standing Still是让机器人保持站立不动,Moving straight是让机器人以某个速度前进并保持平衡。
可以看到,DARC,DARC+和SAC效果都很不好,在两个任务的刚开始就直接失败了。而CQL在第一个任务中只能站立12s左右,第二个任务中速度也控制得不好,目标速度是0.25,CQL的速度是0.5,接近目标速度的两倍。
右边的柱状图表明:在模拟器上效果很好,并不意味着在真实环境上效果也会很好。
04
Experiments
1、这篇论文中的offline-and-online,指的是可以利用offline数据的online学习,类似于R-MPO & R-CRR。
2、主要思想和CQL很类似,就是信任offline数据,惩罚具有高dynamics gap的仿真数据。
3、这种加入模拟器的设定贴近实际场景,还是很有价值的。
提
醒
点击“阅读原文”跳转到36:55可以查看回放哦!
往期精彩文章推荐
记得关注我们呀!每天都有新知识!
关于AI TIME
AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题进行探索,加强思想碰撞,链接全球AI学者、行业专家和爱好者,希望以辩论的形式,探讨人工智能和人类未来之间的矛盾,探索人工智能领域的未来。
迄今为止,AI TIME已经邀请了1000多位海内外讲者,举办了逾500场活动,超500万人次观看。
我知道你
在看
哦
~
点击 阅读原文 查看回放!