甜野猫|组合游戏系列4: AlphaGo Zero 强化学习算法原理深度分析
AlphaGo Zero是Deepmind 最后一代AI围棋算法 , 因为已经达到了棋类游戏AI的终极目的:给定任何游戏规则 , AI从零出发只通过自我对弈的方式提高 , 最终可以取得超越任何对手(包括顶级人类棋手和上一代AlphaGo)的能力 。 换种方式说 , 当给定足够多的时间和计算资源 , 可以取得无限逼近游戏真实解的能力 。 这一篇 , 我们深入分析AlphaGo Zero的设计理念和关键组件的细节并解释组件之间的关联 。 下一篇中 , 我们将在已有的N子棋OpenAI Gym 环境中用Pytorch实现一个简化版的AlphaGo Zero算法 。
- 组合游戏系列1: Leetcode中的Minimax 和 Alpha Beta剪枝(1)
- 组合游戏系列1: Leetcode中的Minimax 和 Alpha Beta剪枝(2)
- 组合游戏系列2: 井字棋Leetcode系列题解和Minimax最佳策略实现
- 组合游戏系列3: 井字棋、五子棋的OpenAI Gym GUI环境
- 组合游戏系列4: AlphaGo Zero 强化学习算法原理深度分析
- 组合游戏系列5: 井字棋、五子棋AlphaGo Zero 算法实战
AlphaGo Zero 算法由三种元素构成:强化学习(RL)、深度学习(DL)和蒙特卡洛树搜索(MCTS , Monte Carlo Tree Search) 。 核心思想是基于神经网络的Policy Iteration强化学习 , 即最终学的是一个深度学习的policy network , 输入是某棋盘局面 s , 输出是此局面下可走位的概率分布:p(a|s) 。
举例如下井字棋局面:
基准policy network返回 p(s) 如下:
蒙特卡洛树搜索(MCTS)概述Monte Carlo Tree Search 是Monte Carlo 在棋类游戏中的变种 , 棋类游戏的一大特点是可以用动作(move)联系的决策树来表示 , 树的节点数量取决于分支的数量和树的深度 。 MCTS的目的是在树节点非常多的情况下 , 通过实验模拟(rollout, playout)的方式来收集尽可能多的局面输赢情况 , 并基于这些统计信息 , 将搜索资源的重点均衡地放在未被探索的节点和值得探索的节点上 , 减少在大概率输的节点上的模拟资源投入 。 传统MCTS有四个过程:Selection, Expansion, Simulation 和Backpropagation 。 下图是Wikipedia 的例子:
推荐阅读
- 刘哥说游戏|国乒四大世界冠军收到国际乒联邀请,将参加世界杯!但却引起争议
- 游戏老斯鸡|李白首次加入,史诗优化二选一,小乔有全皮肤的巨赚!,8号皮肤碎片升值了
- 羽墨说游戏|开创了一代经典玩法,却因BUG走向没落,曾火遍网吧的射击网游
- 火线游戏|打野直接首发,IG二队获LDL冠军!网友:上单来一队打替补
- 中国历史发展过程|中国历史发展过程!中国游戏外挂发展史:“辅助工具”是如何成长为“苍
- 游戏资讯小驿站|我的世界拔刀剑模组:独特设定!帮助玩家更深入了解刀的制作
- 游戏领航员|10月16发售,《帝国时代3决定版》上线Steam
- 东方网|当夜跑遇上经典游戏Icon 全球首个吃豆人主题跑诞生
- 疯狂的游戏|更大动力,凯运蓝鲸大有可为,更大装载能力
- 游戏小怪兽|达仁星球:最新抖音直播留人控场方法和技巧
