家政服务网站做推广有效果吗,南通免费网站建设,上海比较好的电商公司有哪些,百度高级搜索网址AlphaGo Zero 引起巨大社会轰动 只告诉机器围棋的基本规则#xff0c;但是不告诉它人类摸索了上千年才总结出来的定式等围棋战术#xff0c;让机器完全依靠自学#xff0c;打败人类。这个题目不仅新鲜#xff0c;而且热辣。 上周 DeepMind AlphaGo 人工智能围棋团队的一篇新… AlphaGo Zero 引起巨大社会轰动 只告诉机器围棋的基本规则但是不告诉它人类摸索了上千年才总结出来的定式等围棋战术让机器完全依靠自学打败人类。这个题目不仅新鲜而且热辣。 上周 DeepMind AlphaGo 人工智能围棋团队的一篇新论文题目是“Mastering the Game of Go without Human Knowledge”。 这篇论文不仅被顶级学术期刊 Nature 发表而且立刻被媒体反复报导引起社会热议。 这篇论文让人惊艳的亮点有四 只告诉机器围棋规则但是不告诉它定式等等人类总结的围棋战术也不让它读人类棋手比赛的棋谱让机器完全自学成才。 机器完全靠自己摸索自主总结出了定式等等围棋战术而且还发现了人类上千年来没有发现的定式。 从零开始机器自学了不到 40 天就超越了前一版 AlphaGoAlphaGo Master而 AlphaGo Master 几个月前曾以 60 : 0 的战绩战胜了当今几乎所有人类围棋高手。 AlphaGo Zero 的算法比 AlphaGo Master 简练很多。 不过有些关于AlphaGo Zero 的评论似乎渲染过度把它的算法说得神乎其神。本文尝试用大白话通俗地解释一下 AlphaGo Zero 的算法。 AlphaGo Zero 的算法说来并不复杂。理解清楚 Monte Carlo Tree Search、深度学习启发函数和置信上限这三个概念就行了。 Monte Carlo Tree Search不穷举所有组合找到最优或次优位置 围棋棋面总共有 19 * 19 361 个落子位置。假如电脑有足够的计算能力理论上来说我们可以穷举黑白双方所有可能的落子位置找到最优落子策略。 但是如果穷举黑白双方所有可能的落子位置各种组合的总数大约是 250^150 数量级。这个数太大了以至于用当今世界最强大云计算系统算几十年也算不完。 有没有不穷举所有组合就能找到最优或者次优落子策略的算法呢有Monte Carlo Tree Search 就是这样一种算法。 刚刚开始教机器下围棋的时候机器除了规则对围棋一无所知。让两台机器对弈分别执黑子与白子。只要不违反规则以均等概率在所有合法的位置上随意选择一个地点落子。 黑方先行它有 361 个合法投子位置。黑方先随机考虑一个候选位置譬如天元99。开局是否投子在天元呢取决于假如投子在此是否有可能赢得胜利。如何估算赢得胜利的可能性呢黑方模拟对局。 假如黑方第一手投子天元那么白方的第二手会投子哪里呢根据均等概率的初步策略白方有 360 个合法位置在任何一处投子的概率均等。假如白方的第二手投子在棋盘的最边缘00。 接下去黑方在剩余的 359 个合法位置中随机选择一个落子位置。接下去白方投子。如此重复直到终局。 完成这样一次对局模拟的过程上限是 361 手计算成本很低。 假如黑白两个机器以黑方投子天元开局一路乱走最终以黑方胜利。那么根据 Monto Carlo Tree Search 算法投子天元的开局有可能获胜那么第一手就真的投子天元。 假如一路乱走最终黑方失败那么黑方就换一个候选位置再次模拟对局。假如第二次模拟对局以黑方获胜就投子在第二个位置。假如失败那就再换到第三个候选位置第三次模拟对局。如此重复。 这样反复乱走收集到了第一批棋谱当然这些棋谱的水平惨不忍睹。 水平之所以惨不忍睹是因为 “以均等概率在所有合法的位置上随意选择一个地点落子” 的下棋策略。 如何通过自学不断改进下棋策略 AlphaGo Zero 用深度学习神经网络来解决这个问题。 用深度学习网络实现启发函数 AlphaGo Zero 用 CNN 来改进围棋投子策略。具体到 CNN 的系统架构AlphaGo Zero 用的是 Residual 架构 ResNet。而 Residual 架构是其时任职于微软亚洲研究院的中国人 Kaiming He、Xiangyu Zhang、Shaoqing Ren、Jian Sun于 2015 年发明的。 ResNet 的输入是当前的棋面 S_{t} 。它的输出有两个 当前棋面 S_{t} 的赢率v( S_{t} )赢率就是最终获胜的概率是一个数值。 下一手投子的位置及其概率P( a_{t1} | S_{t} )这是一个向量。投子的位置可能有多种每个位置的概率不同概率越高说明在以往的棋谱中经常投子在这个位置。 用先前收集到的棋谱来训练 ResNet拟合输入 S_{t}以及输出 P( a_{t1} | S_{t} ) 向量和当前棋面的赢率 v( S_{t} )。 AlphaGo Zero 只用机器自我对弈的棋谱来训练 ResNet。 当然也可以用人类棋手的棋谱来训练 ResNet。理论上来说用人类棋手的棋谱来训练 ResNetAlphaGo Zero 的水平会在更短时间内获得更快提升。 但是即便不用人类棋手的棋谱只用机器自我对弈的棋谱来训练 ResNet在短短 40 天内AlphaGo Zero 就已经超越人类棋手的水平。这个速度实在让人惊艳。 ResNet 训练好了以后仍然用 Monte Carlo Tree Search继续让机器自我对弈。只不过把投子的策略从均等概率的随机投子改为根据 ResNet 的指导来决定下一手的投子位置。 论文配图MCTS 使用神经网络模拟落子选择的过程 具体策略如下 根据当前棋面 S_{t}让 ResNet 估算下一手可能的投子位置a_{t1}及其概率 P( a_{t1} | S_{t} )。 下一手的投子位置a_{t1} 有多种每一种位置的赢率 v(S_{t1}) 和投子概率 P( a_{t1} | S_{t} ) 不同。赢率和投子概率越高得分越高。 赢率 v(S_{t1}) 和 投子概率 P( a_{t1} | S_{t} ) 是对以往棋谱的总结。而置信上限Upper Confidence BoundUCB 是来鼓励探索新的投子位置越是以往很少投子的位置UCB( a_{t1} ) 得分越高。 综合考虑下一手的棋面的赢率 v( S_{t1} )投子概率 P( a_{t1} | S_{t} ) 和置信上限 UCB( a_{t1} )给下一手的各个投子位置打分。取其中得分最高者来指导 Monto Carlo Tree Search决定下一个投子的位置。 用改进了投子策略的 Monte Carlo Tree Search继续让机器自我对弈这样得到更多棋谱。然后用这些棋谱再次训练 ResNet提高赢率和投子概率的估算精度。如此循环重复不断提高 ResNet 的精度。 定式Joseki与投子位置热力图 投子概率 P( a_{t1} | S_{t} ) 反应了下一手投子位置的热力图。各个位置被投子的概率非常不均等其中某些位置被投子的概率比其它位置显著地高。 这些位置加上前面几手的落子位置和相应的棋面就是围棋定式Joseki。 论文补充材料训练中AlphaGo Zero偏好的投子位置热力图 AlphaGo Zero 在五天以内就通过机器自我对弈总结出了常见的定式。 而人类发现这些定式花费了几百年。 更加令人惊艳的是AlphaGo Zero 还发现了新的定式而这些定式人类迄今为止并没有发现。 点击查看大图在 2 小时时间限制下AlphaGo Zero (20 个残差模块训练 3 天) 对战 AlphaGo Lee 的 20 局每局展示了前 100 步棋。 总结一下AlphaGo Zero 的算法非常简洁Monte Carlo Tree Search ResNet。 与传统的 A* 算法比较一下Monte Carlo Tree Search 只是 A* 算法中的树拓展的一种特例而 ResNet 是 A* 算法中启发函数的一种特例。