1.解决的问题
这篇文章采用迁移学习,将学习到的知识从一个被动的视觉任务(数据分布独立于智能体的决策)迁移到主动的机器人任务(数据分布依赖于智能体的决策)。
在视觉任务上预训练能显著提高学习操作物体时的泛化性和采样效率。
迁移模型的哪部分能带来提升呢?
标准视觉模型的输出与操作任务中的affordance maps高度相关,直接从视觉网络迁移模型参数到affordance预测网络,使用少量经验训练微调affordance模型就可以达到更好的效果。
作者发现直接从ImageNet上预训练的模型迁移潜在特征表示不能加速推-抓任务的学习进程或收敛到更好的性能,这是由于迁移后的affordance模型的head部分参数是随机初始化的,仍然是随机探索环境,难以收集有用的监督信号。所以作者直接迁移整个视觉模型,包括backbone和head的参数,来初始化affordance模型。
2.方法介绍
输入表示
采用的输入表示是工作空间的RGB-D高度图,即先将RGB图像投影到三维点云,再正交反投影回重力方向。
视觉模型
遵循Faster R-CNN,使用ConvnNet设计视觉模型,模型输出是2D热力图。
损失函数采用二值交叉熵损失。
affordance模型
包含一个ConvNet和一个动作原语。
ConvNet预测密集的2D热力图,编码了每个像素抓取成功的可能性。
动作原语是一个控制机器人从固定初始位置执行操作任务的函数,是开环的,且通过IK解法执行运动规划。论文中介绍了吸取和抓取两种动作原语,输入参数分别为 ϕ ( p ) \phi(p) ϕ(p) 和 ϕ ( p , θ ) \phi(p,\theta) ϕ(p,θ) ,其中 p = ( p x , p y , p z ) p=(p_x,p_y,p_z) p=(px,py,pz) 分别为吸取位置和平行抓取器中心点3D坐标, θ \theta θ 是围绕重力方向的旋转角度。通过将原始高度图旋转16个角度,送入模型估计每个高度图水平方向抓取的affordance。对所有高度图执行最大池化,以确定最佳抓取位置和方向。
由于学习affordance模型的数据来源于与真实环境交互,不满足独立同分布条件,因此作者采用经验池和优先经验回放的方式构造每次迭代的输入。
损失函数同样采用二值交叉熵损失。
迁移学习
视觉模型和affordance模型结构相同,视觉模型的backbone和head参数直接用来初始化affdance模型。
3.实验
论文实验从以下三方面进行验证:
- 迁移模型的一部分(backbone)而不是全部是否会提升模型性能
- benchmark不同视觉模型对操作模型的表现
- 确定那个大规模真实场景数据集对操作性能提升最明显
仿真实验
backbone采用7层全卷积残差网络
在仿真中训练了一个前景分割模型,使用它的权重来初始化一个抓取affordance模型,然后通过trial and error微调affordance模型。全部迁移比只迁移backbone性能要好。
在训练集上通过trail and error微调结果
平面检测(法向估计)提高了吸取动作的采样效率
前景分割和平面检测(法向估计)对于抓取更有帮助
在未知物体上的测试结果
真实场景实验
使用的是https://github.com/facebookresearch/detectron的RPN模型,backbone采用ReSNet-50 FPN,P2特征层的预测层作为head模型。
采用仿真实验中表现最好的任务训练视觉模型,和随机初始化的模型进行对比。
考察现成的模型能否作为一个好的初始化结果。现成的预训练模型有:ImageNet,COCO-backbone,COCO(backbone和head), COCO-fix(没有训练)。
- 验证仿真结论
- 迁移现有视觉模型比直接在目标环境训练泛化性能要好(b,d)
- COCO预训练模型比ImageNet好
4.进一步工作
A future research direction is to apply vision-guided exploration to action model training with reinforcement learning, such as “Qt-opt: Scalable deep reinforcement learning for vision-based robotic manipulation”, where the data efficiency is the bottleneck of learning.