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

为了打破旋转对称性,在普通的魔方上,每个中心块贴纸的一小部分被剪掉了。

Sources