AlphaGo Zero论文《Mastering the game of Go without human knowledge》阅读笔记
AlphaGo Zero论文阅读笔记
原论文:《Mastering the game of Go without human knowledge》
简述:
论文提出了一种新的围棋人工智能算法AlphaGo Zero,该算法可以在完全无监督的情况下进行训练,并且超越了之前的AlphaGo Fan和AlphaGo Lee的表现。
该算法具有如下特点:
-
在无监督的情况下,使用自博弈的强化学习进行训练。从随机的行动逐渐具有一定的策略。
-
仅仅使用局面上的黑白棋落子情况作为输入,没有额外设计的输入特征
-
使用单一的神经网络,而不是(类似上一代AlphaGo)划分为策略网络和价值网络
-
使用基于这一单一神经网络的评估结果的树搜索算法,不使用蒙特卡洛树搜索的rollouts来评估结果
神经网络设计
使用单一的深度神经网络f,该网络具有两个输出(p,v)=fθ(s),其中s为棋盘局面输入,向量p表示每一个可行移动的概率,值v为一个评估标量,表示在当前局面s下,当前操作的棋手获胜的可能性
神经网络包含多个卷积层的残差块,并使用了批归一化和非线性整流函数
强化学习策略
AlphaGo Zero使用基于自博弈的强化学习。在每个局面下,将执行一次基于神经网络fθ的MCTS搜索,每次搜索结束后,MCTS将给出一个概率向量π表示每一步行动的概率。通过MCTS得到的该概率相比于直接使用神经网络得到的概率p是一个更强的行动,因此MCTS可以被视为一个强大的策略改进(policy improvement)操作。同理,MCTS得到的胜者z相比于神经网络结果v同样是一个策略改进操作。因此,训练神经网络的结果(p,v)=fθ(s)匹配结果(π,z),然后用新的参数继续进行MCTS搜索并不断迭代。
MCTS(Monte-Carlo Tree Search)策略
蒙特卡洛树搜索使用神经网络fθ来引导模拟。在局面s下,对于每一个可行的操作边(s,a),保存了先验概率P(s,a),访问数N(s,a)以及行为价值Q(s,a),每次搜索时,从当前根状态出发,每次选择最大的Q(s,a)+U(s,a),其中U(s,a)∝P(s,a)/(1+N(s,a)),直到到达一个叶子节点s′,在该叶子节点处,将进行拓展并使用神经网络进行单次的评估,产生先验概率和评估值(P(s′,),V(s′))=fθ(s′),在这过程中,每一条边 (s,a)将会被更新访问数N(s,a)的值,同时,行为价值也会被更新为子节点的平均值,即Q(s,a)=1/N(s,a)∑s′|s,a→s′V(s′),其中s,a→s′代表状态s经过操作a后达到状态s′
参考资料
AlphaZero实战:从零学下五子棋(附代码) - 知乎 (zhihu.com)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!