1997年,在IBM「深藍」戰勝西洋棋世界冠軍卡斯帕羅夫之後,《時代》雜誌提出了一項新的挑戰:「讓計算機與人類下圍棋吧,它獲勝的機會很小。計算機要在圍棋上戰勝人類,還要再過一百年,甚至更長的時間」。
如今,《時代》雜誌的預言似乎要落空了。7月底在百度內部舉行的「挑戰Bingo」人機大戰上,自然語言處理部開發的智能圍棋系統—Bingo,在9路盤的最終決戰中分別以兩個2:1擊退兩名業餘5段棋手的挑戰,最終以14戰全勝、總盤數37勝4負的絕對優勢取得勝利,並且在19路盤上以較大優勢擊敗業餘初段。
「這是一個重要的進展」,百度副總裁王海峰表示,「得益於領先的人工智慧算法與專家知識的完美結合。」
計算機博弈界一般把圍棋分為9路、13路與19路三個子問題,目前都是尚未解決的問題。近來,日本程序Zen多次在9路盤上衝擊職業棋手,但均以大比分連敗告終。Bingo的這次勝利表明,其能力已達到世界頂級水平。
談到技術上的創新,自然語言處理部工程師楊程說,「我們並不採用業界熟知的UCT算法,而是開發出了一種比UCT高效得多的算法,並成功地聯合了蒙特卡洛搜索與Alpha-Beta搜索,這使得探索進一步偏向更具潛力的方向,Bingo也因此變得更加聰明。」
長期以來,計算機圍棋是計算機科學領域公認的最具挑戰性的研究課題之一。從本質上說,讓計算機學會下圍棋,近似於在無窮大的空間內進行搜索,並且對局面做出最優判斷。自計算機邏輯和AI研究的奠基人阿蘭·圖靈提出著名的「圖靈測試」以來,這個難題困擾了人類幾十年,無數人曾為其嘔心瀝血—百度Bingo團隊無疑朝著這個方向邁出了堅實的一步。
前中國棋院院長華以剛曾透露過一件鮮為人知的事情,微軟創始人比爾·蓋茨想進行圍棋智能化研究,委託微軟研究院和中國圍棋協會,尋找數學方面和圍棋方面的專家來研發,但因圍棋過於深奧難解,最終微軟研究院知難而退,這項研究計劃胎死腹中。
不久前,Google研究院的Peter Norvig在接受《紐約客》雜誌採訪時表示,即使邀請大量專家,投入百倍硬體,設計出高明的軟體架構,採用正確的機器學習算法,並結合神經科學領域的成就,我們也未必能夠使計算機在圍棋方面達到「深藍」的成就。
為什麼計算機更擅長西洋棋,而在圍棋上遭遇到困難了呢?「深藍」的方法可不可以移植到圍棋上來?一般的共識是不可以,這涉及到兩個問題。第一個是搜索空間。19路圍棋的空間複雜度比西洋棋複雜10的120(+)次方倍,兩者差距之大比整個太陽系相對單個原子核更龐大、更複雜!第二個,也是更嚴重的問題,即判別好壞的問題。沒有人能夠用計算語言說清楚棋盤上哪個地方是重點,一個子的好壞或許要到幾十步以後才顯現出來,甚至與盤上十幾格以外的子有關(比如徵子情況),而且吃子也不見得就一定是好事。
在早期的研究中,計算機科學家試圖模仿人類的思維,搞模型識別,算死活,背定式等等,神經學家則試圖讓機器學習人腦,甚至對圍棋高手的大腦進行掃描。由於沒能真正搞清楚人類的思維過程,這些方法產生的最佳結果仍然處於很初級的階段,以至於一般愛好者讓它九子也沒有問題。
近年來,隨著UCT算法的出現,計算機圍棋產生了突破性的進展。UCT是一種蒙特卡洛搜索算法,計算機在考慮某一步棋時,從這一步開始,隨機模擬接下來數以萬計的棋局變化,然後挑選出最有可能獲勝的那一步棋。
然而,UCT仍然存在缺陷—「尤其當搜索空間充分大時,學習過程緩慢」,楊程介紹說,BlueFuego是採用UCT算法的著名系統,運行在IBM沃森研究中心的超級計算機藍色基因上,但其在19路盤上仍達不到Bingo在8核機上的能力。
「我們開發出的這種學習算法,與UCT相比有著諸多優勢:首先,新算法可以產生比UCT多若干倍的統計值,這加快了Bingo的在線學習速度。其次,算法定義了一種弱化形式的Alpha-Beta搜索,將其與在線強化學習和離線監督學習結合起來,並成功地嵌入到蒙特卡洛搜索當中,這使得探索更加深入地往極具前景的方向發展。」
Bingo所蘊含的領先技術不但在圍棋上取得了成功,也已推廣和應用到百度其它產品。主任架構師田浩介紹說,「Bingo研發過程中產生的多種創新思想與技術,已融入到包括百度網頁搜索在內的多個產品的在線學習策略中,並取得了非常明顯的效果。」
談到未來,王海峰說,「Bingo初出茅廬便大獲全勝,非常令人振奮。有了這次大規模實戰,相信Bingo可以迅速總結、學習、提升,變得更加強大。我們終將證明,在圍棋這樣的高級智力活動中,計算機也可以超越人類。」