解構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連勝圍棋高手 中國麻將才是人類最後防線?】
(綜合報道)