解构AlphaGo围棋神功:师承天下棋手 精通左右互搏
棋王李世石对弈AlphaGo,五局大战终告落幕,李世石只能胜出第4局,其余4局都落败。今次世纪对决掀起一股围棋热,不少棋手点评AlphaGo也会下错棋,亦有人估计只要出奇不意,AlphaGo就会不懂回应。种种说法,又是否言之成理?一切要由AlphaGo的运作开始讲起。
AlphaGo作为人工智能(AI),它厉害之处不在于尽可能熟读棋盘、“照辨煮碗”走一次;也不是用“暴力”运算推敲所有棋步的可能后果。事实上,这方法也不可行。
每一步棋,都可想像成一个庞大复杂的树状图,每一步推算下去都有可能获胜,但亦可能走向落败。问题是围棋棋局千变万化,棋步达到天文数字,不可能逐个运算。暴力法用不著,又如何知道哪些棋步可取,哪些棋步不应考虑?【柯洁定必应邀赴战 将备战分析AlphaGo弱点】
关键在于AlphaGo有两个网络(DNN):策略网络(policy network)用来收窄阔度,只考虑可能步法;价值网络(value network)用来减少深度,不会完全演算到棋局终结,到某一个位置就会评估胜负的机率。避免永无止境的运算下去,才能在限时的围棋场上与人较量。
至于AlphaGo如何决定收窄步法呢?就得靠学习。AlphaGo首先拜天下棋手为师,研习高手3000万棋步。第二步就自我超越,在避免重复对战的前提下与自己对弈,每次获胜就成为一次增强学习(Reinforcement Learning),以后判断更准。自此AlphaGo下围棋不用机械式地模仿前人,而是像人类一样,只会考虑最似可以最后胜利的步法,计算机率。
【港八段评关键4手棋 李世石受压失误】
【人机围棋战】经典棋局 吴清源对本因坊秀哉 斗足三个月
国立交通大学资讯工程系教授吴毅成指出,AlphaGo下棋只会研究最后能赢还是要输,重要的棋步能带来更大机率胜出,赢多几目反而次要。所以棋手有时会以为AlphaGo走了一步缓著或恶手,以为程式不厉害。由此可推论,AlphaGo有时下出一步对当下来说不是理想的步法,其实不足为奇。
每当对手下完一步,AlphaGo就会模拟接下来可能的数步,对于未来可能面对棋局来估算胜率,选择最稳阵、最有机会获胜的棋步。台湾大学资讯工程学系教授林守德指出,所以AlphaGo的步法不拘于定式,亦不会理由对手是谁。但他向香港01表示,相信部份棋手“对于AlphaGo的胜率会比较高,这些人不一定是围棋排名高的,而是棋风跟AlphaGo看过的棋谱很不同,让AlphaGo的policy学不太到。”林守德续说,“如果能找到一著好棋,而这著好棋是原来AlphaGo模拟过程中没有模拟到的(也就是policy network也无法预知应该如此下),就有可能取胜。”
【AlphaGo连胜围棋高手 中国麻将才是人类最后防线?】
(综合报道)