如果有足够的训练时间,AlphaGo Zero 会在理论上变得完美吗?如果不是,那么限制因素是什么?
(完美,我的意思是如果可能,它总是会赢得比赛,即使是面对另一个完美的对手。)
如果有足够的训练时间,AlphaGo Zero 会在理论上变得完美吗?如果不是,那么限制因素是什么?
(完美,我的意思是如果可能,它总是会赢得比赛,即使是面对另一个完美的对手。)
假设您的意思是一个数学上完美的玩家,类似于我们在井字游戏中可以轻松实现的目标,那么答案是“也许”。它使用的底层强化学习算法确实有一些收敛保证,但有一些警告:
适用于 RL 学习的价值和政策函数的收敛理论假设了不切实际的时间尺度和学习参数的衰减。如果您有实际无限的时间和资源,则可以探索所有棋盘状态并准确了解它们的值。但是,如果您可以使用这些资源,那么蛮力搜索也可以。
使用神经网络逼近真值函数可以限制值函数的学习程度,因为它们依赖于泛化,并且以误差度量为特征。他们计算的值实际上保证在数学上不是完美的,并且部分是设计使然(因为您希望从类似的状态中学习以应用于新的看不见的状态,并且作为其中的一部分需要接受大多数状态的折衷值会稍微不正确)。用于驱动蒙特卡洛树搜索 (MCTS) 的快速策略网络尤其如此。
在比赛期间运行更长的 MCTS 可以提高性能,但代价是每次移动决策花费更多时间。给定无限的资源,MCTS 可以完美地发挥作用,即使是非常粗糙的启发式方法。
AlphaGo Zero 与更传统的游戏搜索算法之间的区别在于对可用计算资源的最佳利用,如可用硬件、训练时间和游戏时的决策时间所设置的那样。与任何基本搜索相比,使用 RL 自我对弈方法与 AlphaGo Zero 中的集中 MCTS 相结合的效率要高出几个数量级。至少对于类似的谜题和游戏来说,它比任何其他已经探索过的游戏技术都更有效。我们可能距离一个完美的围棋玩家还有更多数量级的努力,而且没有理由怀疑这会变得实用,并且围棋会“解决”。
我们无法确定 AlphaGo Zero 是否会在足够的训练时间下变得完美。这是因为从无限训练时间(=“足够”训练时间的一个很好的近似值)中受益的任何部分(神经网络)都不能保证永远收敛到一个完美的解决方案。
主要的限制因素是我们不知道使用的神经网络是否足够大。当然,它很大,容量很大……但这够了吗?想象一下,如果他们使用了一个微型神经网络(例如,只有一个隐藏层,节点数量非常少,比如 2 个隐藏节点)。这样的网络肯定没有足够的能力来学习真正的、完美的最优策略。随着更大的网络,它可能具有足够的容量变得更加合理,但我们仍然无法确定。
请注意,AlphaGo Zero 不仅仅涉及受过训练的部分;它还有一个蒙特卡洛树搜索组件。在运行神经网络以生成初始策略后(在实践中它通常已经非常好,但我们无法确定它是否完美),它确实在“思考时间”运行了一些 MCTS 模拟来完善它政策。
MCTS 不会从增加的训练时间中受益* ,但它确实受益于增加的思考时间(即在实际游戏过程中每回合的处理时间,而不是在评估游戏之前的离线训练时间/自我游戏时间)。在最常见的 MCTS 实现中(UCT,在选择阶段使用 UCB1 方程),我们可以证明,如果给它无限的思考时间,它实际上确实学会了真正完美地发挥. 现在,AlphaGo Zero 确实使用了稍微不同的选择阶段实现(其中涉及到由经过训练的神经网络生成的策略作为先验概率),因此如果没有正式的分析,我无法确定该证明是否仍然适用。直觉上看起来它仍然应该保持良好状态。
*注意:我在上面写道,“MCTS 不会从增加的训练时间中受益。在实践中,它当然倾向于从增加的训练时间中受益,因为这往往会导致更好的网络,这往往会导致在训练期间做出更好的决策选择阶段和对树中后期游戏状态的更好评估。我的意思是,当我们趋向于无穷大时,MCTS 在理论上并不能保证总是从训练时间的增加中受益,正是因为这也是我们没有理论的地方保证神经网络本身将永远不断改进。
是的, AlphaGo Zero可能会变得无可否认地完美。
它以 100:0 战胜了AlphaGo Lee(它以 4:1 战胜了 18 届世界冠军(人类)李世石)和 89:11 战胜了AlphaGo Master(从 2016 年 12 月 29 日起,它在与人类职业围棋选手的在线比赛中连续赢了 60 场)至 2017 年 1 月 4 日)。
来自AlphaGo 官方网站:
“AlphaGo 于 2016 年 3 月在韩国首尔以 4 比 1 获胜,全世界有超过 2 亿人观看。这是一个里程碑式的成就,专家一致认为比当时领先了十年,并为 AlphaGo 赢得了 9 段的专业排名(最高认证)——计算机围棋选手第一次获得该荣誉。”。
来自 AlphaGo 的网页:“ AlphaGo 的下一步行动”:
“我们计划在今年晚些时候发表一篇最终的学术论文,详细介绍我们对算法的效率和在更广泛的问题中推广的潜力所做的广泛改进。就像我们的第一篇 AlphaGo 论文一样,我们希望其他开发人员将接过接力棒,并利用这些新进展来构建他们自己的一套强大的 Go 程序。
...
自从我们与李世石比赛后,AlphaGo 就成为了自己的老师,与自己进行了数百万次高水平的训练比赛以不断提高。”