在圍棋上,電腦有望戰勝人類


IBM 的深藍曾經戰勝國際象棋高手,讓我們感歎計算機技術的進步。不過,多年以來,古老的圍棋卻成為計算機難以把握的難題。如今,藉助於神經網絡的進步,計算機專家們試圖突破傳統算法,以全新的方式訓練計算機的下棋能力。據 technology review 的報道,來自愛丁堡大學的計算機專家 Christopher Clark 和 Amos Storkey 在這方面取得了不小的進步。

專家們認為,計算機難以掌握圍棋的原因有兩個:一是,在下圍棋的時候,棋手總是面臨太多的選擇。在任意時刻,棋手面臨的選擇多達上百種。相比較説,國際象棋中,棋手面對的選擇大約是 50 種。二是,計算機很難評估雙方的優勢和弱勢。在國際象棋中,通過評估剩下棋子的價值,計算機通常能夠了解玩家是否處於優勢地位,但是,在圍棋中,計算機很難對此做出評估。“計算每個玩家的棋子數量,根本無法判斷誰在取勝。” Clark 和 Storkey 説。

為了解決這個問題,計算機採取了一種特別的方法。在每一步之後,計算機都會玩完整個遊戲,而且採取各種不同的方法。如果大多數情況下都是勝利的,計算機會認為,它走出的一步是正確的。這是一個非常耗時的任務,而且,計算機通常還是失敗。因為圍棋高手只要看一眼,就能判斷出棋盤上的形勢如何。

一些專家認為,人類擅長圍棋的祕密在於模式辨識能力。在下圍棋的時候,人類思考的不是前面的幾步,而是根據棋子組成的形狀,判斷出雙方的優勢和劣勢。因此,隨着模式識別算法方面的進步,人們開始思考訓練計算機的新方法。

Clark 和 Storkey 訓練了一個複雜的神經網絡,教它預測下一步是什麼。他們從 16 萬次的圍棋高手對戰中,生成 1650 萬個棋局,然後,他們訓練神經網絡,讓它掌握人類高手的下一步動作。許多天後,他們開始用剩下的棋局測試神經網絡,讓它預測下一步應該怎麼走。據兩個人説,在訓練之後,神經網絡預測的準確率明顯超過以前算法,大約提升了 44%。

在訓練完神經網絡之後,Clark 和 Storkey 讓它與兩個最好的圍棋算法比賽。其中一個是 GNU Go,相當於中等水平的業餘選手。在與 GNU Go 的對戰中,神經網絡明顯勝出,大概 90% 的情況都是取勝的。另外一個是 Fuego,比 GNU Go 的水平更高,人類選手也要多年訓練才能達到這個等級。在與 Fuego 的對戰中,神經網絡只贏了 10% 的比賽。不過,Clark 和 Storkey 認為,這已經是很大的進步了。

“儘管神經網絡下棋時採用了‘不看下一步’的做法,並且只用了對手的部分計算時間,它仍然比 GNU Go 玩的更好,而且還贏了 Fuego 幾局。” Clark 和 Storkey 説。同時,他們也認為,如果把神經網絡與傳統的算法結合,計算機的圍棋技能或許會有更大的進步。

圖片來自 brocku

資料來源:愛範兒(ifanr)
作者/編輯:積木

如果喜歡我們的文章,請即分享到︰

標籤: 圍棋  電腦