AlphaGO憑什麼戰勝李世石

AlphaGO和李世石的第一局對局棋譜。(李世石執黑)

新聞背景

昨天,谷歌旗下英國公司DeepMind 開發的AlphaGO 計算機程序,在與世界頂尖天才棋手李世石的五番棋對決中,以4:1取得完勝。此時此刻,想必每一個關註這個事件的人心裡都有一個疑問,AlphaGO 到底是何方神聖?竟強到讓圍棋一代天驕李世石九段敗下陣來?

■ 任你千般招數,我隻亢龍廚房油煙處理有悔

現在很多正在研究AlphaGO與李世石這幾盤對局的棋友,熱衷於按照人類的思考方式為AlphaGO的每一步落子賦予一個戰略意圖,然後討論合理與否。但事實上,AlphaGO和人類下棋思路很不一樣。人類下棋時的思路是多變的,根據盤面情形的不同,人類會把最基本的贏棋問題轉化成不同類型的子目標,時而考慮如何殺棋,如何做活,時而又考慮如何借助打擊對手擴張地盤,如何制造劫爭。有時我們還會猜測對手在盤算什麼,自己又如何“將計就計”來應對等等。一旦確立瞭這些子目標,人類棋手便集中精力考慮具體戰術走法來完成這個子目標,而不是贏棋這個最終目標。

但是AlphaGO與人類思維最大的不同,就是沒有這種具有適應性的戰略思考成分。事實上,今天AlphaGO 的“思考模式”,和20年前戰勝國際象棋世界冠軍卡斯帕羅夫的“深藍”是一樣的。對於一個給定的當前盤面A,AlphaGO和深藍這樣的計算機,會對盤面A之後可能出現的大量局面變化所導致的不同結果分別進行預判,然後綜合所有這些可能性的勝率分析結果,對最初給定的盤面A進行一次評估。

“在當前局面下,我走在x點的話最終勝算幾何”,計算機就是通過不停地重復問自己這個單一問題來完成對弈的,大有點“任你千般招數,我隻一招亢龍有悔”的味道。

■ 需要融入人類圍棋知識經驗

既然AlphaGO和20年前的深藍思路一樣,為什麼它能擁有以前計算機程序不曾達到的棋力呢?

一種觀點認為,“圍棋復雜度遠比國際象棋高,因此AlphaGO的成功關鍵是避免瞭像深藍那樣窮舉所有可能性”。這其實是對搜索型程序的誤解,所謂“蠻力搜索”從來都不是“窮舉所有可能”。事實上,無論是圍棋還是國際象棋,其變化總數都遠遠超過宇宙中所有原子數量的總和,根本不可能有物理系統有這樣的“窮舉能力”。從深藍到AlphaGO,這些搜索型程序其實都隻是考慮瞭盤面所有可能性中極小的一部分,和“窮盡所有變化”相比規模小到不值一提。

更具體說,深藍時代的國際象棋程序,得益於擁有一個強大的評估函數。當時人類國際象棋大師所擁有的知識已經足夠精確,使得對盤面勝率的評估可以被直接手工編寫。圍棋這邊,AlphaGO之前的一流圍棋程序,大多借助圍棋專業知識來手工編寫搜索策略。這樣的程序目前已經靜電機保養達到業餘五段水平,但這些“傳統圍棋程序”中用到的圍棋知識仍然隻是“入門級”的。一般而言,圍棋高手的知識並不像國際象棋中那樣精確,從而使得手工將圍棋知識經驗寫入搜索算法的編程方式面臨很大挑戰,這一直是阻礙傳統圍棋程序棋力進一步提高的主要瓶頸。這次橫空出世的AlphaGO,主要就是突破瞭這個“知識融入”瓶頸。

■ 可以自我訓練和改進的程序

AlphaGO的“圍棋知識升級”是由同一項技術帶來的——人工神經網絡。這項技術的主要優點是不需要手工編寫,而是通過程序自我改進的方式,來表達比較“模糊”的領域知識和經驗。

由一條條指令組成的傳統“過程式”程序,固然對我們人類而言直觀明瞭,但當程序輸出有偏差時通常不能自我修正,而是需要人根據具體情況對程序進行分析之後,才能找到應該改動哪裡,如何改動。但 “神經網絡程序”在面對輸出誤差時,卻有一套既簡單又通用的自動修正方法。這樣,每完成一次計算,神經網絡程序就可以通過比對輸出誤差來對自己進行一次微調,當觀察瞭大量誤差數據之後,這些微調累加起來就有可能趨近一個誤差很小的神經網絡程序。

具體到AlphaGO,開發團隊建立一個包含上千萬個實戰盤面的數據集,每個盤面對應一個實戰中的落子位置和最終勝負結果,然後根據這個數據集來“訓練”人工神經網絡預測落子位置和盤面勝率。面對數據集中的一個盤面,最開始的神經網絡可能隻是隨機無意義地做出的判斷,但通過和數據集中的“正確答案”之間的誤差進行比對,神經網絡可以逐漸修正自己的判斷輸出,使得這樣觀察瞭上千萬個誤差數據之後的神經網絡,可以做出大概正確的落子預測和勝率預測。

事實結果證明,這樣通過海量數據迭代訓練出來的神經網絡模塊,可以比傳統的手工編寫知識的方式表達更多的圍棋領域知識和經驗,因此配備瞭神經網絡的蒙特卡洛搜索程序(也就是AlphaGO),棋力才呈現出飛躍式提升。

■ 訓練AlphaGO更像“馴動物”

但要註意到,這種人工神經網絡在學習方式上和我們人類是截然不同的。人類從瞭解圍棋規則,到理解前人總結的一般概念和要領 (如棋理、手筋、定式),到練習局部攻殺 (俗稱做死活題),再到通過實戰把所學的各種“局部”知識融成一體,再到對已有對局復盤打譜,找出對棋局結果影響大的“關鍵手”,分析研究背後反映出的因果關系和邏輯規律,其間還要和其他棋手討論交換心得,甚至可能在某些時候從圍棋之外的生活經驗得到啟發借鑒,然後又以非常微妙的方式運用於圍棋之中。所有以上步驟又再經過反復循環之後,一個人類圍棋高手才逐漸誕生。

與之不同的是,我們看到上面描述的訓練人工神經網絡的方式,和馬戲團訓練動物更類似,相當於就是做對瞭給個吃的,做錯瞭打一鞭子,然後大量重復。拿AlphaGO來說,它“學棋”沒人類那麼多手段,相當於就是自己坐在那裡默默看高手對局,數量多到世界上最勤奮的人幾十輩子也看不完,其間每一局每一步都通過比對自己與高手的差異,一點點校正自己的行為,以圖盡量模仿。這個校正過程本質上可以看作是在同樣浩瀚無窮的原始“參數空間”中的一個“蠻力搜索”過程。

人類和AlphaGO學習方式的不同,一個最大的後果就是AlphaGO這樣的神經網絡學習,必須要極其海量的數據堆砌才有可能體現出效果。在AlphaGO的訓練過程中就發生瞭一個小插曲:一開始,他們使用來自16萬盤棋中的數據來訓練AlphaGO,但效果卻不佳。為此開發團隊不得不通過AlphaGO自弈的方式,重新產生瞭3000萬盤棋做訓練數據。這帶給我們一個重要的信息就是,AlphaGO使用的神經網絡在訓練時對數據量要求非常驚人,即使是十萬量級的數據規模仍然不能滿足要求,而是一定要通過其他手段達到百萬甚至千萬的量級。

延伸閱讀

AlphaGO戰勝李世石

並不代表人工智能已接近人類

AlphaGO戰勝李世石這一事件,確實給很多人觀念上的巨大沖擊。有些人認為,圍棋是檢驗人類智能的標準,圍棋下得好的人大都思維敏捷聰明絕頂,所以計算機在圍棋棋盤上戰勝人類,預示著人工智能超越人類智能腳步的臨近。

但筆者認為,這種理解恐怕帶有一定“恐慌情緒”——速算能力同樣是一個人智力超群的標志,但最聰明的人也算不過兜裡的智能手機,可沒見誰擔心自己的手機比自己智商高。況且對於和圍棋情況類似的國際象棋,機器早已超越人類多年(人類國際象棋棋手下棋時同樣需要綜合棋感、推理、計算、定式知識等思考手段)。

這些事實都一再證明,通常用於檢驗人類智能的標準,未必是檢驗“智能”程度的一般原則,尤其不適用於檢驗機器智能。從專業角度看,通用性才是智能的一般標準,一個物理系統的“智能”體現為它在各種不同環境中都能更好完成既定目標的“全才”能力。

那麼機器要怎樣才能“證明自己的智商”呢?既然客觀事實已經證明用於人類的智能標準對機器不再有效,我們就應該放棄固有的思維慣性,回歸到智能的原始定義去檢驗機器智能。AlphaGO戰勝瞭人類高手,這說明AlphaGO圍棋下的好,但並不能立即說明AlphaGO智力超群。圍棋上你下不過AlphaGO,0:1。可是隨便再找一萬個任務來你都比AlphaGO強,總比分10000:1。

事實上,現在學術界已經有人開始挑戰“通用人工智能”,可以說這也是人工智能領域的“初心所在”。比如這靜電除煙機次做出AlphaGO的DeepMind公司也致力於此。他們做瞭一個程序可以同時在幾百種視頻遊戲中都超出人類平均水平,是可喜的進展。但這也不過是幾百比零而已,我們一個人可以解決的問題何止萬千,按“通用性”標準來看,此時此刻的機器智能程度遠遠不及人類萬分之一。

綜上所述,現在像“動物”一樣學習,“一根筋”式思考的AlphaGO程序,之所以可以戰勝李世石這樣的頂級棋手,不是因為它此時已經像人類一樣思考和學習,更不是因為它已經達到瞭“超人”的智力水平。當然,圍棋被稱為人工智能研究的果蠅,AlphaGO帶來的事實結果和其中所用技術,肯定會為人工智能學術界帶來很多啟發,毫無疑問是偉大的裡程碑。但這距離公眾擔心的機器智能威脅人類智能的局面,還尚且遙遠。

(本文作者在微軟亞洲研究院任副研究員期間曾從事圍棋AI相關研究,對於此次AlphaGO事件的進一步深入介紹,作者在3月底即將出版的《NEWTON科學世界》雜志4月號有專文刊載。)

台灣電動床工廠 電動床

台灣電動床工廠 電動床

AUGI SPORTS|重機車靴|重機車靴推薦|重機專用車靴|重機防摔鞋|重機防摔鞋推薦|重機防摔鞋

AUGI SPORTS|augisports|racing boots|urban boots|motorcycle boots

icm062q0i2 發表在 痞客邦 留言(0) 人氣()