瀏覽單個文章
Error37
Amateur Member
 

加入日期: Jun 2012
文章: 43
引用:
作者Godzilla2014
AlphaGo 下一步不是要「散功」嗎?
就是不輸入人類的棋譜,讓 AlphaGo 只從圍棋基本規則重新自我學習,不知到時會長成什麼東西出來....

現在的AlphaGo只能靠「輸入棋譜」來下棋或學棋,
因為他是「根據棋譜走向」來計算概率
棋譜用在兩個地方:

對方的回合:AG看很多棋譜(數據)來猜(統計)對方可能怎麼走,縮小蒙利卡羅搜索樹的範圍

自己的回合:AG看很多棋譜(數據)參考人類通常怎麼走,選(統計)出最好的結果

拿掉棋譜(數據)它就沒辦法下(統計),等於整個砍掉重練一樣囉。

我照它的邏輯把它擬人化一下:

AG白棋後手的情形:
黑1:「我下在這裡」

白2:(看看棋譜裡有沒有這一手)
  「恩恩,棋譜裡有,我看接下來怎麼走比較可能贏」
  「棋盤360個位置,高手都這麼下,白2下這裡贏的機會最高,我下這裡」

  「棋盤太多位置惹,把接下來全部的可能算完會算到世界末日,怎麼辦?」
  「如果我知道你接下來會怎麼走,不就可以把不用考慮的位置剔除嗎?好!」
  「但是不知道你會怎麼下,我先翻翻棋譜來猜你接下來會怎麼走」
  (挑出數個勝率比較高的重點位置開始往下計算)

黑3:「我下在這裡」

白4:「恩恩,被我猜對惹,你果然這樣下,我下了三千萬場還沒看過其他落子比我選的位置還要重要滴」
  「趁你在思考黑3的時候我已經把接下來算好惹,只要接下來我沒猜錯我都這樣走下去」

  「我白4下在這裡」
  (我先來猜你黑5會怎麼下,翻翻以前的對戰棋譜挑出幾個位置...)

黑5...

所以說,如果黑1下的地方不在AG棋譜裡就很有趣了(例如第一手天元),
不過就算前幾手AG沒猜中,它還是可以照棋譜慢慢修正,
或是跳回上一步重新計算就好了,

第四戰結束後,工程師看log檔發現AG一開始認為白78手無關緊要,到它黑87手才發現事情大條了
就是說,AG算出「自己的勝率突然掉下來會故障」開始亂下

(這又是另一個問題:工程師可以看log檔發現軟體出錯,軟體有沒有辦法「意識」到自己犯錯)



AG黑棋先手的情形:
黑1:「我參考棋譜數據下在這裡,應該沒錯吧?」
   「我開始猜你白2會怎麼下,翻翻以前的棋譜挑出幾個位置...」

白2:「我下在這裡」

黑3:「好險,他下的地方我有猜對,因為我一開始分數就落後(貼目)了」
   (我不懂圍棋,不曉得黑子貼七目半是領先還是落後,反正設計師是以「最壞情況」來寫程式,
   讓AG假定自己最後會「因為貼目而輸掉」的情況努力追上來比較保險)
   (也許棋界可以用AG龐大的統計數據得出「黑子到底要貼幾目比較公平」的答案)
  
   「根據棋譜其他高手的建議,把黑3下在這,然後開始猜你白4會下在哪」

白4:「我下在這裡」

黑5:「恩恩,我沒有猜錯,這個人下的棋應該和其他三千萬場的結果差不多,繼續走下去」
   「我參考高手把黑5下在這裡,開始猜你白6會怎麼下」

白6...

第二戰AG黑37子有趣的地方是,他應該要找過去的棋譜考慮怎麼下
但是它卻找了一個過去很少人下的位置(1/10000)展開棋譜,意外發現勝率反而比較高,所以下在那

這個有點複雜,看看Google工程師怎麼解釋:
https://youtu.be/qUAmTYHEyM8?t=16m20s
舊 2016-03-17, 05:31 AM #406
回應時引用此文章
Error37離線中