0
本文作者: 鄭宇 | 2017-05-23 22:46 | 專題:烏鎮(zhèn)人機決戰(zhàn):AlphaGo VS 柯潔 |
雷鋒網(wǎng)按:本文轉(zhuǎn)自CCF官方公眾號中國計算機學(xué)會,雷鋒網(wǎng)已獲內(nèi)容授權(quán)。
5月23日AlphaGo2.0版本在人機圍棋比賽中以1/4子的微弱優(yōu)勢戰(zhàn)勝了柯潔,一方面繼續(xù)彰顯了人工智能的強大,但也讓人們對AlphaGo和人工智能有了新的認識。先說出結(jié)論,再看分析。
1.在圍棋這個項目上AlphaGo目前走在了人類的前面,但并沒有完全攻克圍棋這項運動。它只是通過深度學(xué)習(xí)找到了一個比人類認識更優(yōu)的解,但不是最優(yōu)解。最優(yōu)解無法找到,即便用盡地球上所有的資源。從專業(yè)的角度來講,就是用深度學(xué)習(xí)去逼近了一個強化學(xué)習(xí)中的價值判斷函數(shù),然后再跟蒙特卡洛搜索樹結(jié)合的方法(具體詳解可參看《鄭宇:一張圖解ALphaGo原理及弱點》,不再重復(fù))。既然人工智能和人類都不能找到最優(yōu)解,現(xiàn)在說哪一方已經(jīng)完全徹底的失敗還早。
2. 人類也是在進步的,我們也不要低估了人類后天的快速(小樣本)學(xué)習(xí)能力,這點AlphaGo基于現(xiàn)在的學(xué)習(xí)方法還做不到。短期來看人獲勝概率小,但長遠來看(未來5-10年)人還有機會,因為人也有很強的學(xué)習(xí)能力,可以從少量跟AlphaGo的對弈的棋局中快速學(xué)習(xí)。而即便再給AlphaGo1億副棋譜,再添加一萬塊GPU,如果還是基于現(xiàn)有的學(xué)習(xí)體系,它進步的速度也終將放緩,因為新增的棋譜和計算資源相對于2x10171這個搜索空間來說只是滄海一粟。我們對人腦的了解還遠不如對圍棋的認識,這里面還有很大的未知數(shù)。
3. 目前人類職業(yè)棋手跟AlphaGo的差距也就在一個貼目的水平,沒有大家想象的那么大。其實這個貼目的差距(按中國標準7目半),在職業(yè)棋手看來,已經(jīng)是非常大的差距了。很多職業(yè)高手,進入官子階段后發(fā)現(xiàn)自己還落后對方7-8目,就會主動投子認輸了。很多通過數(shù)子來決定勝負的比賽,輸贏往往都在1-2目之間(比如柯潔就輸給AlphaGo半目)。否則會被其他專業(yè)棋手笑話,自己落后那么多都不知道,點空能力太弱了。
要能真正客觀、準確的看待這個問題急需要較強的人工智能專業(yè)知識,也需要一定的圍棋功底。下面先糾正網(wǎng)上認知的一些誤區(qū):
誤區(qū)一:AlphaGo可以讓人類頂尖棋手4個子,AlphaGo2.0可以讓上一個版本4-5個子。
要消除這個誤解,首先要跟大家普及一下圍棋知識:在圍棋里“讓對方兩個子”和“贏對方2個子”有著天壤之別。這點對于下圍棋的人不用多說,但我今天才意識到,很多吃瓜群眾一直以為這就是一回事。難怪網(wǎng)上會流傳以上的錯誤言論。
讓對方兩個子: 在圍棋里讓2子是說讓一方先在棋盤上放上2個棋子(棋子只能放在星位),然后對方才開始走。這兩個子在對弈之初的價值巨大,對于專業(yè)棋手來講,每個棋子價值至少在10目以上(這是最保守估計了)。讓兩子相當于至少先讓出去對方20多目的地盤。由于棋盤是有限的,如果不能在后面的比賽中,在有限的空間里贏回這20多目,那就是讓子失敗了。而且讓子數(shù)越多,被讓方獲得的價值不單是線性增長的,因為子力之間會形成配合,獲取更大的利益。比如說,讓四子,其價值就可能遠不止40目了。
贏對方2個子:是指雙方下完后,贏的一方比輸?shù)囊环蕉喑?個子。如果按照吃住對方一個子算兩目的方法來算,那2個子只相當于4目。AlphaGo贏了柯潔1/4子,就相當于半目棋子而已。
所以“讓對方兩個子”和“贏對方2個子”不可同年而語。如果真的有圍棋之神存在(既他一定能找到最優(yōu)解,我們?nèi)耸菦]有希望下過他的),一般頂尖專業(yè)棋手認為他們跟這個神的差距在讓2-3子之間。由于AlphaGo可以被證明不能保證找到最優(yōu)解,所以他離神還有一定的距離。因此,說AlphaGo可以讓人類頂尖棋手4個子,這簡直就是天方夜談。
誤區(qū)二:AlphaGo也會下出一些明顯不好的招數(shù),是因為他自我判斷形式占優(yōu),而放松了自身的要求。
AlphaGo的搜索策略就是優(yōu)先對獲勝概率比較大的分支進行更多的深度搜索,這個策略在任何時候都不會改變,也不能改變。他不會覺得自己優(yōu)勢了就下出緩手。下得不好的時候是因為其價值判斷本來就是一個近似,而且搜索空間也不能窮盡,得不到最優(yōu)解,因此,有時估計還不錯的棋,其實不一定是真的最好的下法,AlphaGo出現(xiàn)這種不穩(wěn)定狀況是正常的。這也是人類善存的希望所在。當然人類也有自身的弱點,如疲勞、情緒波動等,人也會判斷失誤。而且棋局很長,有些之前不太好的棋,經(jīng)過后面的變化(包括不是預(yù)料中的變化)有可能會變成好棋。所以,不是所有的錯誤,都會直接影響到比賽的結(jié)果。而且現(xiàn)在大家似乎有點怕AlphaGo了,即便是AlphaGo下出一招不好的棋,大家更多的是懷疑自己的水平(是不是我們沒看懂?。浚?,而選擇相信AlphaGo的“深謀遠慮“。
誤區(qū)三:AlphaGo可以不斷自學(xué)習(xí),從新的棋局里獲取經(jīng)驗,快速提升自己。
AlphaGo的系統(tǒng)由于參數(shù)非常多,需要大量的數(shù)據(jù)來訓(xùn)練,新增的幾幅棋譜對提高它的棋力起不到任何作用。而且AlphaGo在做參數(shù)調(diào)整時是針對一大批數(shù)據(jù)的整體優(yōu)化,也必須對很多棋譜做批量處理,訓(xùn)練時間非常長,不可能在很短時間內(nèi)大幅提升自身的水平。即便是同一組訓(xùn)練棋譜,參數(shù)調(diào)整方法不一樣也會訓(xùn)練出棋力水平差異較大的系統(tǒng)。其實AlphaGo是通過自我對弈來生成很多棋譜,然后利用棋譜中的(兩個連續(xù)的)盤面跟最后的勝負對應(yīng)關(guān)系訓(xùn)練出價值網(wǎng)絡(luò)來。這里只是借用了一下強化學(xué)習(xí)的框架來訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的參數(shù)而已,主要貢獻還是深度學(xué)習(xí)的近似能力帶來的(解決了傳統(tǒng)強化學(xué)習(xí)針對復(fù)雜環(huán)境和動作狀態(tài)無法求解的難題)。因此,AlphaGo并沒有大家想象的那種自我博弈就能自己不斷進步的能力。
誤區(qū)四:AlphaGo會故意放水輸?shù)粢痪直荣悺?/strong>
這個沒有可能。要想輸還不能輸?shù)哪敲措y看和明顯,是一件非常難辦的事情,可能比贏棋還要難。在模型訓(xùn)練好之后,AlphaGo能夠臨時改動的只有在搜索部分投入的資源多少(搜索多大的空間)可以改動。縮減的太小,幾乎不會有太大變化,但如果縮減太多,就會下出一些非常低級的棋來。這點從技術(shù)角度來講很難把握。
誤區(qū)五:計算機的計算能力一定比人強,所以不要去跟AlphaGo比計算,應(yīng)該把局面簡單化,避免復(fù)雜的戰(zhàn)斗。
AlphaGo依靠的是一種基于樹的搜索算法,遇到復(fù)雜局面搜索空間變大,對未來輸贏的價值判斷也會變難。因此,人算不過來的復(fù)雜局面,對AlphaGo來說也很困難。如果局面太簡單,機器可以非常好的計算出比較優(yōu)的解,人類棋手更加沒有希望。因此,把局面弄復(fù)雜,人類棋手才有希望獲勝,雖然這個對人類也提出了更大的挑戰(zhàn)。
總結(jié)
基于人類目前對圍棋的認識和理解,現(xiàn)階段仍然會輸給人工智能。我并不是覺得柯潔有希望能夠贏得后面的比賽,但人類也在進步,通過跟AlphaGo的對弈,人類也在重新認識圍棋。只要人類的思想和文明在不斷進步,人就有可能在未來5-10年里通過不斷的學(xué)習(xí)趕上當前的AlphaGo。當然,AlphaGo也會進步,但它還不是圍棋之神,也沒有攻克圍棋這個難題。如果現(xiàn)有的學(xué)習(xí)方法沒有全面的革新,其進步的速度也會慢慢放緩。基于此考慮,人類還會有機會。當人們對圍棋有了更深入的了解之后,又會設(shè)計出更好的人工智能算法。兩者其實并不矛盾,相輔相成,互相促進,不管誰輸誰贏都是人類文明進步的體現(xiàn)。人類的智能也將始終走在機器的前面,而不會被機器取代。
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。