领域|强化学习算法DeepCube,机器自行解决复杂魔方问题

译者:AI研习社(季一帆)
双语原文链接:https://www.yanxishe.com/TextTranslation/2719
前瞻
我花了近一年的时间写《动手深度强化学习》一书,距离该书出版已经过去半年了,在这段休整时间,我发现自己对强化学习的热情已经无法退却。无论是研究不同的RL方法,或是复现论文代码,对我而言是极大的乐趣。幸运的是,RL在各个领域均在迅速发展,很多有趣的主题值得探讨。
引言
多数人对深度强化学习的认识主要集中在应用DRL进行游戏,这并不意外,因为Deep Mind在2015年首次应用DRL进行Atari系列游戏,并大获成功。
事实证明,Atari系列套件与RL的结合简直是天作之合,即使是现在,许多研究论文仍使用该套件来验证自己的方法。随着RL的发展,经典的53种Atari游戏的挑战性越来越小(在撰写本文时,RL在一半以上的游戏表现超过人类),所以,现在的一些研究转向更复杂的游戏,例如StarCraft和Dota2。
由于上述原因,会给人一种错觉,即“ RL是用来玩游戏的”,事实显然不是这样。在我2018年6月出版的书中,我不仅介绍了RL在Atari游戏的应用,也介绍了其他领域的不同示例,包括股票交易(第8章),聊天机器人和NLP(第12章),自动驾驶(第13章),持续控制(第14-16章) )和棋盘游戏(第18章)。
实际上,基于MDP的RL可以用于各种不同的领域,计算机游戏只是关于复杂决策的一个简易且关注度高的领域。
在本文中,我将详细介绍将RL应用于组合优化领域的最新研究工作。本文对UCI(加利福尼亚大学欧文分校)的研究人员发表的论文“Solving the Rubik’s Cube Without Human Knowledge”进行解读。除了论文解读之外,我还使用PyTorch复现了论文,通过训练模型和流程解读实验,并对论文方法进行改进。
下文我将结合代码对论文的方法进行介绍,以加深对相关概念的理解。如果你只对理论方法感兴趣,可以跳过代码部分。
OK,现在开始吧!
Rubik魔方和组合优化问题
我估计每个人都知道魔方是什么,所以我就不做过多魔方介绍了,而是将这部分的重点放在它与数学和计算机科学的联系。如非特殊说明,本文中的“立方体”是指3x3经典魔方。除了3x3经典魔方,还有其他一些变体魔方,但3x3经典魔方至今仍是最受欢迎的。
虽然看起来Rubik的3x3模型似乎非常简单,但考虑到各种可能的旋转转换,这其实非常棘手。据计算,3x3经典魔方旋转状态总共有4.33 × 101?种不同状态。如果考虑一些魔方拼接出错的情况,即模仿无法通过旋转复原,只有拆解重新进行合理的拼接,那么总状态增加约12倍(≈5.19×102?)。
所有状态都可以通过各种旋转组合得到。例如,在某种状态下顺时针旋转魔方左侧,就会达到一种新的状态,从该状态逆时针旋转同一侧就会回到原始状态。另外,如果连续三次旋转魔方左侧,则回到原始状态的最短路径是再将魔方左侧顺时针旋转一次,而不是逆时针旋转三次(虽然这样也可以,但却不是最佳的) 。