menu-icon
anue logo
澳洲房產鉅亨號鉅亨買幣
search icon

時事

電腦是如何下棋的:深入了解人工智能(4)

鉅亨網新聞中心 2014-07-28 11:22


仍然回到圖10的例子。我們看到圖(b)中基於4次靜態評估的加權平均結果高於圖(a)中按照傳統國際象棋思路得到的結果,這主要是因為我們對當前勝率評估為30%的這個盤面“不大信任”導致的。在接下來的動態評估采樣中有兩種可能:(1)當前的30%的評估結果是正確的,在這種情況下蒙特卡洛樹搜索算法對盤面B下的變化采樣會更傾向於30%這個走法,因此B的評估值會逐漸下降到接近30%,而這又會導致B的評估值低於C,因此C獲得更多采樣機會,從而在對A的加權平均評估時獲得比B更大的權重。如圖(c)所示,在150次采樣之后,A的評估值接近C,而C的評估值接近40%——這和圖(a)的評估結果一致(因為當初30%的靜態評估結果恰好是正確的!)。(2)如果圖(b)中30%的結果是錯誤的,假設機器經過對這個走法進一步考察(75次采樣)后發現它的勝率其實應該是80%。這種情況下,B的評估值會逐漸上升到80%,而這導致B相對於A的權重變高,因此A的評估值也隨之上升,從而得到和前面不一樣的最終評估結果。


總而言之,目前的主流圍棋程序試圖用一種系統性的方法去“管理”在評估過程中不可避免帶來的“不確定性”。截至目前,所有一流的圍棋程序全部採用蒙特卡洛樹搜索方法進行盤面動態評估////4。它們從基本“思維模式”和局面勝率評估的“基本框架”上繼承了以國際象棋弈棋計算機為代表的傳統方法;同時,採用蒙特卡洛采樣思想來進一步管理知識中的“不確定性”,在選擇策略上化保守為激進,在匯總策略上化激進為保守,在無法對變幻莫測的圍棋盤面進行有效靜態評估的情況下仍然達到了業餘高級水平的棋力。

蒙特卡洛樹搜索法

這種選擇很大程度上跟現有圍棋弈棋系統對盤面靜態評估方法的整體捨棄有關。前面提到,由於人們在設計具有一定通用性的圍棋盤面靜態評估函數的問題上長期止步不前,大概在2002年之后人們開始思考採用另一種完全不同的方式對盤面進行快速評估,這就是蒙特卡洛采樣。

做為一種通用的計算方法,蒙特卡洛采樣法的思想是當我們在求解一個確定但未知的值的時候,“在概念上”巧妙構造一個隨機過程,使得這個隨機過程的某個數字特徵依概率收斂於我們要求的值,然后“在實際操作中”通過對該隨機過程進行采樣來對這個值進行統計估計。

比如,一種計算圓周率////的蒙特卡洛方法是,在一個二維坐標系中////和////對應的方形區域裏隨機選取若幹個點,並判斷每個點////是否落在“以原點為圓心半徑為1的單位圓”內(也即判定////是否小於1)。根據中心極限定理,這些隨機點落在單位圓內的比例依大概率快速趨於////。所以我們選取的隨機點數量越多,越有可能得到的一個離的真值更接近的估計。

相同的“蒙特卡洛”思想也可以用於圍棋盤面評估。前面提到了,每個圍棋盤面都有一個“最優值”,對應於對弈雙方都採用完美走法的情況下該盤面的最終結果。對於圍棋已經證明,計算這個最優值的時間至少隨該盤面到終盤之間的步數呈指數級數增長(平均200步,每步平均增長200倍數量的可能盤面)。既然從理論上無法得到最優值,有沒有可能根據蒙特卡洛思想對整個可能性空間進行某種采樣,然后通過統計估值的方法逼近這個最優值呢?人們對這個問題的思考在2006年終於取得了突破性進展,提出了一種稱為蒙特卡洛樹搜索的動態評估方法。

需要指出的是,現有的蒙特卡洛樹搜索法雖然能保證大量采樣的結果最終收斂到盤面最優值,但為達到“足夠收斂”所需的采樣次數仍然是隨整個可能性空間的規模指數級增長的。但是在圍棋弈棋系統的實踐中,蒙特卡洛樹搜索在比賽時間受限的情況下確實表現出遠遠超過傳統方法的棋力。最近幾年人們受這一觀察的鼓舞,在選擇策略中加入更多和圍棋相關的專家知識,使得基於蒙特卡洛樹搜索的圍棋弈棋系統水平不斷提高。

弈棋計算機是人工智能嗎?

弈棋是一種刺激性極強的直接對抗。計算機弈棋代表了一種機器對人類的“符號意義上”的挑戰,因而備受關注。“人類弈棋大師在整體智力上超出常人”這一事實,也使得“計算機在弈棋上向人類高手發起的挑戰”被很自然地認作是一種關乎“智力極限”的挑戰。

那麼,從人工智能的角度,我們應該如何看待弈棋系統及其相關的研究活動呢?

首先我們應該意識到,被我們視為智力挑戰的問題,機器做起來往往未必困難;反而是一些人類覺得稀鬆平常的腦力活動,機器實現起來卻可能非常困難。比如速算曾經同樣是智力超群的象徵,但是現代計算機無論在計算速度還是準確率上都毫無爭議地完勝人類。要理性衡量計算機弈棋與人工智能的關係,還要對照上期我們總結的人工智能的主要特徵來分析。

根據人工智能的主要特徵,雖然弈棋滿足了智能行為的標準,但目前的所有計算機弈棋系統都不滿足通用性要求,因此還不能算是完整的人工智能系統。考慮到國際象棋領域裏一台“不算完整人工智能系統”的機器已經戰勝了人類,那麼當圍棋機器戰勝人類的那一天到來的時候,也未必就意味什麼人工智能新時代的開始。

然而,“弈棋系統本身不是人工智能系統”不代表“弈棋系統研究不是人工智能研究”。棋類運動被稱為是人工智能領域的“果蠅”,我們對果蠅進行研究,根本目的並不是為了製造一個“更強壯的果蠅”,而是為了以此探索一些具有普遍性的生物系統規律,幫忙我們認識和研究比果蠅更複雜的生物系統。在筆者看來,弈棋系統研究在人工智能方面的意義主要有兩個,第一個是為相關的自動推理/規劃、自動學習、知識表示等等人工智能技術提供實驗場所,第二個就是為打敗人類而發明的如“推演”和“規劃”部分的相關技術在通用智能中的推廣和應用。

最后,一個經常被提及的話題是關於如何對待人類領域知識在弈棋系統中的作用。有些人認為,使用了“人類職業棋手”的知識的弈棋系統有“作弊”之嫌,認為弈棋系統只有“零知識”才算真本領。筆者認為沒有必要苛求於此。所謂名師出高徒,有幾個人類冠軍是自學成才的?即使是職業棋手的知識也不一定是他自己想出來的,畢竟人類已經積累了上千年的領域知識。事實上,能夠積累、運用和傳授知識正是人類智能最厲害的地方之一,而“知識表示與管理”也是通用人工智能系統的必要組成部分。

另一方面,“形式化人類領域知識”也並不是“顯然可行”的事情。國際象棋方面,是在深藍成功之后才真正證明國際象棋大師的經驗“可以”形式化表達(深藍團隊在這方面做了大量工作),而圍棋盤面靜態評估甚至至今尚未找到有效形式化的方法。可以,針對圍棋弈棋的研究在知識表示上尚處於努力證明“可以形式化”的階段;而與此同時,“通用博弈比賽”相關的研究則已經開始對“統一化的知識表示”的初步探索。

本文由《科學世界》雜誌授權轉載

文章標籤


Empty