OpenAI 使用机器人手解决魔方
OpenAI 开发了一套能够使用类人机器人手解决魔方的系统。通过完全在模拟环境中训练神经网络,并采用一种称为 Automatic Domain Randomization (ADR) 的新技术,该系统可以将复杂的灵巧操作技能转移到物理硬件上,证明了强化学习可以解决需要高自由度的现实世界问题。
Automatic Domain Randomization (ADR)
Automatic Domain Randomization (ADR) 通过自动生成难度逐渐增加的模拟环境,使神经网络能够从模拟环境转移到现实世界。这种方法消除了对现实世界完美精确物理模型的需求,而对于机器人手和魔方这类复杂物体,实现完美的物理模型通常是不可能的。
ADR 的工作原理
ADR 的工作原理是从单个非随机化的环境开始,让神经网络学习解决魔方。一旦网络达到特定的性能阈值,系统就会自动增加领域随机化的程度。这会迫使网络泛化到更广泛的条件下,并随着网络的改进,该过程不断重复。
随机化参数包括:
- 魔方的大小
- 魔方的质量
- 机器人手指的摩擦力
- 手部的视觉表面材料
相对于手动随机化的优势
与手动领域随机化不同(手动随机化需要人类专家指定范围,且范围既不能太窄(阻碍转移)也不能太宽(导致学习无法进行)),ADR 无需人工干预即可自动扩展这些范围。在将 ADR 与手动随机化在方块翻转任务上进行对比测试时,ADR 最终在无需人工调优的情况下,将转移性能提高到了基准的两倍。
鲁棒性与涌现的元学习
该系统对于训练期间从未遇到过的扰动具有高度的鲁棒性,例如被一个毛绒长颈鹿玩具戳弄。这种鲁棒性归功于涌现的元学习(emergent meta-learning),即网络学习到了一种通用的学习算法,从而能够快速适应其部署的环境。
适应性测试
OpenAI 通过测量模拟中魔方翻转的“成功所需时间”来测试这一假设。当施加扰动(例如重置网络记忆、重置动力学或损坏关节)时,成功所需时间最初会激增,但随着网络重新学习并适应新条件,时间随后会降回至基准水平。
神经网络的可解释性
通过使用可解释性工具箱中的非负矩阵分解,OpenAI 将网络的记忆可视化。高维向量被压缩成六个带有颜色编码的分组。分析显示,每个记忆组都对应于具有语义意义的行为,这允许研究人员在动作实际发生之前,识别出网络是否即将旋转魔方或顺时针旋转一个面。
性能与挑战
虽然该系统可以从任何初始状态解决魔方,但目前在成功率方面面临挑战,成功率取决于打乱程度的复杂度:
- 难度最大的打乱(26 次面旋转): 20% 成功率。
- 较简单的打乱(15 次旋转): 60% 成功率。
失败通常发生在最初几次的面旋转和翻转过程中,因为网络必须同时解决魔方并适应现实世界的物理属性。如果魔方被掉落,网络能够在魔方重新放回手中时继续解决过程。
开发路径与原型机
为了使问题变得易于处理,OpenAI 在转向使用普通的魔方之前,使用了一系列定制的魔方原型作为垫脚石:
| Prototype | Position + Orientation | Internal degrees of freedom (sensor) |
|---|---|---|
| Locked cub | Vision 0 | No sensor |
| Face cub | PhaseSpace 2 | PhaseSpace |
| Full cube | PhaseSpace 6 | PhaseSpace |
| Giiker cube | Vision 6 | Built-in sensors |
| Regular Rubik's Cube | Vision 6 | Vision |
为了打破旋转对称性,在普通的魔方上,每个中心块贴纸的一小部分被剪掉了。