Deepmind 最近发布了 AlphaGo 的最新版本 AlphaGo Zero 的论文,AlphaGo 不再需要学习人类的经验,而是可以自己学习如何下围棋,而且最新的 Zero 可以打败之前的版本。
首先,围棋这个游戏是很难用暴力方法来搜索最优路径的,拿只有 9 格的 tic tac toe 游戏来说就有 3^9 ~ 19 000 种可能,每个格子可以是 ❌ ⭕️ 空白 三种可能。
AI 如果用暴力解法,他会产生一个 move tree,
每一分支代表一系列的 move,在每一个确定的深度,会判断哪种走法可以胜利。
而人类玩这个游戏的时候不会把这些情况都试过,而是凭直觉和推理。
围棋用暴力的方式是太低效了,所以 AlphaGo 也尝试像人一样用直觉来缩小选择的范围。
第一个版本用两个卷积神经网络共同合作来决定策略:
一个神经网络叫做 policy network,接收到输入的棋局后决定下一步最好该怎么走。这个网络要通过学习成千上百万的高手对决的例子来训练,准确率约 57%:
为了改进这个网络,采用了强化学习,不再是一步一步的学习,而是把比赛一直放到结尾,让网络学习出下一步怎么走可以赢得整个比赛:
其中采用 Roll out policy:即不是随时都看全局,而是看当前相关的一部分,这样可以将效率提高上千倍:
在 value network 中,不是预测下一步具体怎么走,而是会预测在给定的位置上每个选手赢得比赛的概率。这个网络可以辅助 policy network,告诉它下一个位置是好还是坏,当下一个位置是坏的时候,就不再考虑这一分支上的任何一步:
除了两个神经网络,AlphaGo 还采用 Monte Carlo Tree Search 算法来高效地读取 move tree:
即:
Policy network 根据当前的棋局,预测下一步可以走的几种情况。
Value network 评估这几种情况的质量。
然后再用 Monte Carlo Tree Search 在质量好的走法上看的更远一些。
AlphaGo Zero 和前面版本的主要区别是,把两个神经网络合二为一。
而且不再是学习人类的棋局例子,而是在一无所知的基础上,通过和自己对决来学习下围棋。
学习资料:
https://www.youtube.com/watch?v=vC66XFoN4DE
https://en.wikipedia.org/wiki/AlphaGo
https://deepmind.com/research/alphago/
https://machinelearnings.co/understanding-alphago-948607845bb1
推荐阅读 历史技术博文链接汇总
http://www.jianshu.com/p/28f02bb59fe5
也许可以找到你想要的:
[入门问题][TensorFlow][深度学习][强化学习][神经网络][机器学习][自然语言处理][聊天机器人]
网友评论