开通VIP,畅享免费电子书等14项超值服
首页
好书
留言交流
下载APP
联系客服
2020.12.04
人工智能的长远目标之一就是研发出一种能够从白板开始学习,并逐渐进化成拥有超常能力的算法。目前,AlphaGo成为了第一个打败围棋世界冠军的程序。AlphaGo的核心是使用深度网络在蒙特卡罗树搜索过程中进行棋盘局势判断和走棋选择决策。这些深度网络使用监督学习的方法从人类专家棋谱中进行训练,使用强化学习的方法从自我对弈的过程中进行训练。本文介绍一种只使用强化学习的训练算法,除了需要基本的围棋规则以外,不需要人类围棋数据、指导和领域知识。本文使用强化学习得到的深度网络能够同时进行棋盘局势判断预测获胜者,以及走棋选择决策。这个深度网络能够提高树搜索的优势,使得在下一次迭代时,保证更高质量的走棋选择,以及更强的自我对弈。AlphaGoZero从白板开始学习,能够达到超常的能力,并在实践中,以100:0的绝对优势战胜了此前发布的、打败欧洲围棋世界冠军的AlphaGo。
目前人工智能领域的成就主要得益于监督学习,使用监督学习的方法从人类专家数据中进行训练,达到复制、模仿人类专家决策的目的。然而,人类专家的数据通常是昂贵、不可靠甚至不可得到的。即使能够得到可靠的专家数据,训练得到的监督学习系统通常也会达到一个性能瓶颈。相反,强化学习系统从自我经历中训练,原则上可以超越人类的能力,并且能够发掘出人类不曾发现的未知领域。目前,使用强化学习训练的深度神经网络在这一目标上已经取得了快速的发展。例如计算机游戏Atari、3D虚拟环境等,强化学习系统已经超越了人类水平。然而,对于人工智能领域最富挑战性的围棋游戏,上述通用的方法还无法取得和人类水平相当的成就,主要是因为围棋游戏需要在一个浩大的搜索空间中进行精准、复杂的lookahead搜索。
AlphaGo是第一个在围棋领域达到超越人类水平的程序。此前发布的AlphaGoFan打败了欧洲围棋冠军FanHui。回顾一下,AlphaGo使用两个深度网络,策略网络输出下一步走棋的概率分布,值网络判断当前棋面局势,预测获胜者。策略网络一开始使用监督学习的方式,用于加快预测专家走棋;随后使用PolicyGradient的强化学习算法进行重新优化。值网络从策略网络自我对弈过程中进行训练学习,用于预测获胜者。离线训练完后,再使用蒙特卡罗搜索树将深度网络结合起来,使用策略网络将搜索局限在高概率的动作,使用值网络(和FastRolloutPolicy结合)来评估叶子节点的棋面局势,多次执行蒙特卡罗模拟,最终选择访问次数最多的边对应的动作为下一步棋的下法。值得注意的是,后续发布的AlphaGoLee使用了相似的方法,打败了18届围棋世界冠军李世石。
AlphaGoZero不同于AlphaGoFan和AlphaGoLee。主要体现在如下几个方面:
为了实现上述目标,本文研究出一种新的强化学习训练算法,将蒙特卡罗树搜索树纳入训练阶段。新的算法使得性能提升更快、学习更加精确和稳定。
ExpandandEvaluate:叶子节点访问次数达到一个阈值时,此时进行扩展并评估。使用神经网络产生先验概率和评估值。。「此处体现了神经网络是如何指导蒙特卡罗搜索的」。
Play:多次模拟过程结束后,得到搜索概率分布,搜索概率正比于访问次数的某次方,称为温度参数(temperatureparameter)。那么最终的走棋Play,可以使用该分布来抽样动作。
上述描述的是连续训练的版本,即每次都使用最新轮次的神经网络进行自我对弈和产生训练数据,实际自我对弈和训练过程中,部分细节和上述不大一样:
使用强化学习管道方式来进行AlphaGoZero的训练。训练从完全随机的行为开始,一直持续3天,期间不需要人为的干涉。在这个过程中,总共生成了490万个自我对弈棋局,每次蒙特卡罗搜索进行1600次模拟,相应的每步走棋平均花费0.4s,神经网络的参数使用70万个minibatch,每个minibatch包含2048个棋面进行更新,该残差神经网络包含20个残差块residualblocks。
a)合并了PolicyNetwork和ValueNetwork;
b)用ResNet替换了CovNet;
c)强化学习训练算法从PolicyGradient改为PolicyIteration.
AlphaGoZero中的改进值得我们思考,最振奋人心的就是排除了人类棋谱数据和人工特征,完全从强化学习自我对弈过程中进行学习。这其中有两点感悟。
引用周志华的一段话,“如果说深度学习能在模式识别应用中取代人工设计特征,那么这里显示出强化学习能在启发式搜索中取代人工设计评分函数。这个意义重大。启发式搜索这个人工智能传统领域可能因此巨变,或许不亚于模式识别计算机视觉领域因深度学习而产生的巨变。机器学习进一步蚕食其他人工智能技术领域。”
可以看出这里面的核心包括深度学习、强化学习、启发式搜索。本文分别对这三个方面都有所改进,深度学习体现在ResNet的使用以及合并两个神经网络;强化学习体现在PolicyIteration算法的使用,启发式搜索体现在引入PolicyIteration训练过程以及改进蒙特模拟过程(Expansion、Evaluation合并、最终动作决策由选择访问次数最多的动作改成根据访问次数计算动作分布,再随机抽样动作)。这里面的核心中的核心仍然是蒙特卡罗搜索,深度学习和强化学习都是为蒙特卡罗搜索服务的。
可能可以改进的几个核心要素包括单一的改进以及多种元素的结合方式改进。例如强化学习算法中最终报酬函数的设计、深度学习中是否有更好的网络架构,如SENet等、蒙特卡罗搜索树除了用在强化学习算法中,能否用在深度学习算法中,指导误差的反向传播等;蒙特卡罗模拟结束后,是否有其他更好方式来计算动作概率分布。当然另一方面,有没有新的领域能够替代蒙特卡罗搜索树的核心地位,具有前瞻性的问题是否只有通过大量模拟才能得到反馈,是否还有其他的方式能够更好的进行反馈。
知乎:如何评价AlphaGoZero?
AlphaZero实战
「阿尔法狗」再进化!
(1)点击页面最上方'AINLP',进入公众号主页。
(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。