1 简介
论文标题:IRIS: Implicit Reinforcement without Interaction at Scale for Learning Control from Offline Robot Manipulation Data
算法核心:将策略木比分解为两步:
(1)低维目标导向的模仿学习
(2)高维目标选择
低维控制器
从演示数据中学习短期序列。高维目标选择机制
为一个生成模型,生成目标和对应的值函数。
给定当前观测,高维控制器选择一个新目标,低维控制器走 T T T步来达到该目标;该过程重复直到任务结束。
本文主要解决的问题是:如何仅从大尺度的离线数据
中学习policy,不与环境进行交互。
对一些问题的解决办法:
1.1 处理次优的演示数据
次优:比如 调整了好几次末端位置才成功抓取,把易拉罐推倒了再抓取、放置物体的时候被容器卡了一下等。
由高维控制器
处理次优,考虑次优演示的同时,使学习的value function能选择能使任务进步最大的目标。
1.2 处理多样的演示数据
多样:完成任务的轨迹不一样,如从上往下抓取易拉罐,或先推倒再从侧面抓取。
低维目标导向的控制器不关心数据多样性,而是重现数据集中的局部行为序列,即从一个状态到另一个。
高维控制器通过采样目标状态的方式,使多种解决任务的轨迹都可达。
1.3 从off-policy数据学习
低维和高维控制器的学习都是在训练数据的分布上,学习值函数时,学习Q-function。
1.4 问题
(1)测试时,高维控制器如何生成子目标?
2 方法
![](https://i-blog.csdnimg.cn/blog_migrate/d3e1ca6169a75adf5c7432f693a9e8d0.png)
2.1 低维控制器
低维控制器
:RNN,给定当前观测和目标观测,在每个时间步输出一个action。
在数据集中采样T步的轨迹,最后一个状态作为目标观测,使用行为克隆的方式训练RNN,MSE损失。
2.2 高维控制器
高维控制器
:两部分
(1)条件变分自动编码器cVAE对当前状态的T步之后的目标状态进行建模,用来采样目标状态候选;
条件变分自编码器:
编码器:输入当前观测和目标观测,输出高斯分布的均值和方差;target为正态分布,使用KL散度进行优化,参考VAE的损失。
解码器:输入当前观测 和 在编码器输出的高斯分布中采样的一个数,输出目标观测;使用MSE进行优化。
测试的时候怎么用:
在正态分布随机采样数据,与当前观测一起送入网络,输出目标观测。
(2)Q function,用来选择最优的目标状态。
基于**Batch Constrained Q-Learning (BCQ)**算法,使用随机采样的轨迹片段进行训练的话,不会被次优数据影响吗?
训练一个cVAE来为轨迹片段的目标状态
s
t
s_t
st生成多个action
a
t
a_t
at,从其中选择max Q(s_t, a_t)
和倒数第二步的reward
来作为优化
Q
(
s
t
+
T
−
1
,
a
t
+
T
−
1
)
Q(s_{t+T-1},a_{t+T-1})
Q(st+T−1,at+T−1)的target。
注意,优化BCQ的状态-动作对是轨迹片段的
倒数第二个状态和对应的动作
,target是和倒数第二步的reward和子目标状态的Q
。
reward
:下一时刻的状态与目标状态相同,则reward=1;否则reward=0。
测试时,Q-function输入什么?
action定义?