AlphaGo 4:1击败李世石,如何练就石破天惊的功力?
2016-03-23 来源:eefocus
轰动国际的AlphaGo对决韩国围棋高手李世石系列战,最终以AlphaGo 4:1击败李世石的结果落幕。围棋向来被认为是电脑程式最难挑战人脑的棋种,但如今事实摆在眼前,AlphaGo不仅能击败人类围棋高手,而且获胜机率极高。AlphaGo的棋力是怎么练就出来的?
根据设计团队于2016年1月发表在Nature期刊上的论文:“Mastering the game of Go with deep neural networks and tree search”,Alphago主要是以3项技术来提高电脑下围棋的能力,分别是蒙地卡罗搜索树、策略网路、评价网路。
AlphaGo若只有单独使用策略网路、评价网路或蒙利卡罗搜索树技术,依照匈牙利裔美国物理学家Arpad Elo发明的等级分制度,Alphago的围棋级分仅仅落在1,500至1,700之间,属于业余水准。不过,若将3项技术整并,级分将达到2,800的职业选手等级。正式比赛的分散式AlphaGo,级分更高达3,100。
蒙地卡罗搜索树技术迅速猜测可能局面
在棋艺竞赛过程中,高手总是能够透过预测对手后续的可能下法,来增加获胜机率。电脑也同样依循这种策略,一层接着一层进行运算。
1997年IBM超级电脑深蓝与俄罗斯世界棋王Kasparov西洋棋对决中,深蓝用的是α-β修剪法以及MinMax搜索法。相较于西洋棋盘移动棋子的可能性,围棋落子的组合比起西洋棋还要复杂,而且围棋竞赛中同样有出手时间限制,电脑要计算完所有的排列组合是办不到的。
在这样的前提下,AlphaGo改采用蒙地卡罗搜索树,逐层展开局面预估。这项搜索方式最突出的一点是随机取样猜测棋步。有限的猜测棋步会互相比较,经由淘汰后留下获胜机率相对更高的下法,而不是像传统作法去找到最佳解。
蒙地卡罗搜索树的第一个步骤,AlphaGo会先根据目前的局面,预测几个对手可能的落子模式,并依此以蒙地卡罗树状作一层展开,寻找AlphaGo获胜机率较高的落子位置。
第二个步骤,AlphaGo会评估自己该如何应对。评估的方式则同时考虑更多层的蒙地卡罗树状展开以及评价网路(Value Network)。依照Nature期刊上的论点,2种评估方式的权重比例各占一半。
电脑接着根据这颗评估为最佳解的落子位置,继续回到第一个步骤的预测,这相当于高手把省下来的时间,预先推算更多的布局可能性,如此一来,节省下来的运算时间下就能逐渐提高获胜的机率。
如Elo等级分的结果所呈现的,单靠蒙地卡罗搜索树的AlphaGo无法打入职业比赛,那么它是如何将围棋的基本功,提升到九段高手的程度?秘诀是设计团队在事前已经训练好AlphaGo的两颗运算大脑:策略网路(Policy Network)与评价网路,让它在对弈过程中洞悉局面。
策略网路大脑帮助AlphaGo判断对手动态
AlphaGo的围棋智商,仍然来自于大量的职业棋手棋谱。透过这些棋谱,让AlphaGo可以预测对手可能的落子位置。在策略网路中,AlphaGo只要专注在判断对手会下在棋盘上的哪个位置即可。但有限的棋谱造成的问题是,倘若出现了没看过的棋谱,Alphago的策略网路大脑恐怕反应不过来。
为了解决这个问题,设计团队作了2项修正:忽略一些棋盘区域来提高运算速度,以及派2台电脑互相比拚。由于2台电脑可以在短时间产生大量棋谱,经过这项训练,AlphaGo就可以获得更好的策略网路大脑。
评价网路大脑让AlphaGo估算获胜机率
相较于策略网路的预测落子,Alphago另外一颗大脑是评价网路,专门负责在目前局势下,判断每个落子位置的最终获胜机率,而不是围棋竞赛过程中,双方交锋时的过招策略。
棋谱样本中,落子在同样的位置,可能来自于实力悬殊的选手,评价网路大脑对于落子位置最胜率判断的学习过程恐怕就有很大的盲点。
为了排除选手实力的差别,正确记录下子位置的最终胜率,设计团队选找到了客观的标准:透过2台实力相当的Alphago对弈,让每个落子位置可以真正反应出胜率,累积评价网路。
至于比赛中使用级分较高的分散式AlphaGo,与单机版的差别主要在于硬体。单机版AlphaGo拥有48个中央处理器和8个图形处理器;而分散式AlphaGo拥有1,202个中央处理器和176个图形处理器。如果拿分散式版的Alphago与单机版的Alphago彼此对决,前者获胜机率将可达到70%。
整体来看,Alphago就像是一个学习能力飞快的天才小棋士,可以在很短的时间打完高手的棋谱,又有分身当作绝对标准,确保每一次演化后的版本更胜于自己。
AlphaGo透过深度学习迅速建立起策略网路大脑与评价网路大脑,分别可预测对手下子位置,以及对评估每个位置的获胜机率。蒙地卡罗搜索树以有限的资源去猜测,并预先把可能的发展都作了评估。这3项技术综合的结果,看来确实大幅提升了AlphaGo的围棋对弈实力。如同围棋界的前辈林海峰曾说过,“围棋之道,难于选择与判断”,设计团队加持下的AlphaGo显然深谙此道。
进入嵌入式查看更多内容>>
根据设计团队于2016年1月发表在Nature期刊上的论文:“Mastering the game of Go with deep neural networks and tree search”,Alphago主要是以3项技术来提高电脑下围棋的能力,分别是蒙地卡罗搜索树、策略网路、评价网路。
AlphaGo若只有单独使用策略网路、评价网路或蒙利卡罗搜索树技术,依照匈牙利裔美国物理学家Arpad Elo发明的等级分制度,Alphago的围棋级分仅仅落在1,500至1,700之间,属于业余水准。不过,若将3项技术整并,级分将达到2,800的职业选手等级。正式比赛的分散式AlphaGo,级分更高达3,100。
蒙地卡罗搜索树技术迅速猜测可能局面
在棋艺竞赛过程中,高手总是能够透过预测对手后续的可能下法,来增加获胜机率。电脑也同样依循这种策略,一层接着一层进行运算。
1997年IBM超级电脑深蓝与俄罗斯世界棋王Kasparov西洋棋对决中,深蓝用的是α-β修剪法以及MinMax搜索法。相较于西洋棋盘移动棋子的可能性,围棋落子的组合比起西洋棋还要复杂,而且围棋竞赛中同样有出手时间限制,电脑要计算完所有的排列组合是办不到的。
在这样的前提下,AlphaGo改采用蒙地卡罗搜索树,逐层展开局面预估。这项搜索方式最突出的一点是随机取样猜测棋步。有限的猜测棋步会互相比较,经由淘汰后留下获胜机率相对更高的下法,而不是像传统作法去找到最佳解。
蒙地卡罗搜索树的第一个步骤,AlphaGo会先根据目前的局面,预测几个对手可能的落子模式,并依此以蒙地卡罗树状作一层展开,寻找AlphaGo获胜机率较高的落子位置。
第二个步骤,AlphaGo会评估自己该如何应对。评估的方式则同时考虑更多层的蒙地卡罗树状展开以及评价网路(Value Network)。依照Nature期刊上的论点,2种评估方式的权重比例各占一半。
电脑接着根据这颗评估为最佳解的落子位置,继续回到第一个步骤的预测,这相当于高手把省下来的时间,预先推算更多的布局可能性,如此一来,节省下来的运算时间下就能逐渐提高获胜的机率。
如Elo等级分的结果所呈现的,单靠蒙地卡罗搜索树的AlphaGo无法打入职业比赛,那么它是如何将围棋的基本功,提升到九段高手的程度?秘诀是设计团队在事前已经训练好AlphaGo的两颗运算大脑:策略网路(Policy Network)与评价网路,让它在对弈过程中洞悉局面。
策略网路大脑帮助AlphaGo判断对手动态
AlphaGo的围棋智商,仍然来自于大量的职业棋手棋谱。透过这些棋谱,让AlphaGo可以预测对手可能的落子位置。在策略网路中,AlphaGo只要专注在判断对手会下在棋盘上的哪个位置即可。但有限的棋谱造成的问题是,倘若出现了没看过的棋谱,Alphago的策略网路大脑恐怕反应不过来。
为了解决这个问题,设计团队作了2项修正:忽略一些棋盘区域来提高运算速度,以及派2台电脑互相比拚。由于2台电脑可以在短时间产生大量棋谱,经过这项训练,AlphaGo就可以获得更好的策略网路大脑。
评价网路大脑让AlphaGo估算获胜机率
相较于策略网路的预测落子,Alphago另外一颗大脑是评价网路,专门负责在目前局势下,判断每个落子位置的最终获胜机率,而不是围棋竞赛过程中,双方交锋时的过招策略。
棋谱样本中,落子在同样的位置,可能来自于实力悬殊的选手,评价网路大脑对于落子位置最胜率判断的学习过程恐怕就有很大的盲点。
为了排除选手实力的差别,正确记录下子位置的最终胜率,设计团队选找到了客观的标准:透过2台实力相当的Alphago对弈,让每个落子位置可以真正反应出胜率,累积评价网路。
至于比赛中使用级分较高的分散式AlphaGo,与单机版的差别主要在于硬体。单机版AlphaGo拥有48个中央处理器和8个图形处理器;而分散式AlphaGo拥有1,202个中央处理器和176个图形处理器。如果拿分散式版的Alphago与单机版的Alphago彼此对决,前者获胜机率将可达到70%。
整体来看,Alphago就像是一个学习能力飞快的天才小棋士,可以在很短的时间打完高手的棋谱,又有分身当作绝对标准,确保每一次演化后的版本更胜于自己。
AlphaGo透过深度学习迅速建立起策略网路大脑与评价网路大脑,分别可预测对手下子位置,以及对评估每个位置的获胜机率。蒙地卡罗搜索树以有限的资源去猜测,并预先把可能的发展都作了评估。这3项技术综合的结果,看来确实大幅提升了AlphaGo的围棋对弈实力。如同围棋界的前辈林海峰曾说过,“围棋之道,难于选择与判断”,设计团队加持下的AlphaGo显然深谙此道。
相关文章