638
技術社區[雲棲]
演講實錄丨劉知青 人工智能圍棋的技術突破,標誌著人工通用智能的到來
人工智能圍棋的技術突破
標誌著人工通用智能的到來
劉知青
CAAI理事
北郵計算機圍棋研究所所長
劉知青:大家上午好,很榮幸今天請到了各位嘉賓來合肥,有機會報道一下兩個方麵的東西:一個就是AlphaGo的技術突破,因為我們有很多的合肥圍棋愛好者,肯定是關心為什麼AlphaGo會產生這麼大的一個作用,突破這個知識的關口,我們從技術和圍棋的角度上麵看它做了一些什麼事情,產生的這個情況。第二個我談一談人工智能,因為AlphaGo這些東西它還不僅僅是一個圍棋方麵的,剛才王老也講了,像穀歌這樣的公司他誌不在這裏,他背後有很深的技術積累,我們說是某種意義上的通用技術,這個還不像人一樣。就是類似的方法已經可以應用到其他領域上來來了。我就先講一下這個AlphaGo的技術突破。
比賽之前我已經預測了一下比賽的結果,雖然我們不是第一個能夠突破它的的,但是我們跟蹤這個前沿,然後1月28日發表的文章以後我們第一時間做了解讀。當時我們預測是這樣的三點,是比賽之前預測的。我就說第一點李世石不可能全勝,2機器的勝點更大一點。3,甚至有內幕消息說李世石會感到意外的。事實就是這樣的李世石完全被AlphaGo全敗了。這個團隊開始做這個AlphaGo是兩年之前,他們穀歌的目的是否能用一個最新的人工智能技術或者計算機的技術是不是能夠理解和識別人工智能。到了去年8月份的時候我們知道它已經有了突破,因為11月份的時候我們在北京做第一次的世界計算機圍棋錦標賽,為了做這個比賽我們在三四月份的時候就去各地邀請世界上所有的頂尖圍棋隊到北京來。很多人非常積極的,其中有一個是法國的圍棋,他第一個時間報名來參加的,然後他還幫助我說,你還可以請這個人,請那個人,可是到了8月份他給我來了一封郵件,他說對不起老師11月份可能我來不了了,他是唯一一個人中間退出的。當時我還不知道,我說我們請你來我們提供最好的條件,你有什麼問題我們都可以全麵解決,他說不是你的原因,是因為我還有其他的事情要做。現在回頭看這個問題就很簡單了,他是計算機研究的成員。作為這個博士論文導師,他是預先知道了AlphaGo的突破,AlphaGo那個時候已經完全突破了現有的模式和水平的話,當然他也沒有必要到這裏來,去年8月份的時候這個事情就已經出現了。所以他就不來了。到了10月份這個AlphaGo就公布了。從當時的計算機水平,到五子、六子,到戰勝樊麾就是巨大的突破。我們從軟件角度來說AlphaGo是一個軟件,是一個係統,它有版本,它不是一個永遠不變的,到了去年10月份的時候它的版本13,5比0戰勝了樊麾,到了今年1月份的時候它已經進化到版本18了,它可以讓版本13四顆子了。本來AlphaGo還準備邀請其他的職業,邀請中國的職業選手到春節前後到矽穀或者到倫敦對AlphaGo做進一步測試,但是當它知道這個AlphaGo版本18可以讓版本13四顆子的時候,這個測試已經不太需要了。因為我想這裏有很多職業選手,比我水平高很多,你可以設想一個職業選手讓樊麾四粒子嗎?你很難想象這個結果。所以他們很有信心3月份就直接挑戰李世石。作為一個參考,大概成出職業選手一千分。
當然到了3月份就是版本18戰勝了李世石,4比1。我的消息是說版本18還不是最終的,有確定的消息說有版本19,但是具體什麼情況我就不便透露了,比版本18還要強大很多。那麼AlphaGo的水平仍在不斷提升過程中,尤其是在它的價值網絡水平上麵。就是這個團隊沒有放棄,他們認為他們還沒有遇到瓶頸,他們還在繼續升級也就是說我們今天如果再看到AlphaGo,既不是版本18,又不是版本19,就不是戰勝李世石了,可能是另外一個版本了。我們也看一看它的成長的時間表,這個是穀歌公布的一個圖片。左邊這個樹的是級別,橫軸是18個月,18個月就是它的級數長了18段,從業餘三級到職業九段,每個月大約長一段。而且這個曲線幾乎是沒有停下來,當然這個最終那塊,就是到3月份那裏,還沒有停止現在。
下麵我說一下人工智能圍棋的技術,我們回顧一下早期是怎麼做的,一起AlphaGo的突破。陳誌行教授的水平應該是到了業餘六段,他得過全國高校教師圍棋比賽得冠軍。當然他完全是根據自己對圍棋的理解,把圍棋的知識都寫到他的程序裏麵來了。但是它有一個主要的缺點,就是說以圍棋的知識無法覆蓋圍棋的變化,圍棋的變化太多了,你用一個知識都有一個場景約束,你這個場景是怎麼約束它的,就是很難通過這個知識來歸納的,不可能完成。第二種方法就是完全拋棄了職業選手或者是人類的知識,它是用了一種概率的方法來做圍棋的計算的。使用了概念模型獲得複雜的數據計算。假設我們計算一個無理數,你可以看哪些點是在圓裏麵,這些圓裏的這些點的個數比上放塊裏麵點的個數,其實就是一個派的體係了。圍棋也可以的,圍棋的盤麵也很複雜,我們是不是可以通過隨機數的統計方法來判斷當前盤麵的好壞。現在所有圍棋的方法都是使用概率模型來對每一個盤麵進行估計,這個是法國人最先做的。這麼做也有一個問題,就是說盤先很多,比如說現在我有三百個點可以做,每個點都去試試可能性,這樣效率就不高了。因為雖然有三百個點,你會發現你沒有多少時間去真正算那些的,需要把你有限的計算資源,放在那些真正可能下的點。所以它有一個最大信心上限搜索的方法,根據勝率分配蒙特卡羅評估的資源使用,加大在高勝率選點上蒙特卡羅評估,以提高計算效率。2006年這個蒙特卡羅的搜索已經達到了業餘五級的水平。但是這個蒙特卡羅搜索的主要缺陷就是在於蒙特卡羅評估的“冷啟動。就是如果一開始什麼都不知道的話,我們知道做統計評估的時候隻有數量比較大的時候,你的評估結果才有意義,你如果隻評估三次,很可能就是一個非常偏差的結果。職業選手不是這麼做的,職業選手是有非常強大的圍棋的棋感,即使不是職業選手,我們下過圍棋的一些業餘選手,我們經過一定的積累,我們對棋型都有一定的積累,這些積累是我們評判的一些基礎,我們不能把這些基本放棄了,這個就是棋感直覺。棋感直覺再加上技術思想,就完全克服了這個缺陷。我們看看落子直覺吧,這個就是給你一個盤麵,任意的,它可以推薦合乎人類棋手落子的科學性,比如說在這個上麵它就體現出來了哪些標著數字的,現在是黑下,黑可以彎頭,可以貼在白棋上麵等等,有不同的下法。盤麵有三百多個可能,但是它選擇了十幾種走法,都是合乎科學的。第二個就是勝負棋感,勝負棋感就是無論你怎麼下我都是贏的,,還有對半的機會,右邊這個圖就是表示了每個點它的勝率,越難一點的是說明我們的勝率更高一點,比較高的幾個點都標出來了,大概在50%左右。這個勝負棋感是怎麼得到的呢?它是AlphaGo自我堆積三千萬盤,這個速度比剛才王老提的五秒一步還要快,它有一個快速計算的方法,它下了三千萬盤,然後三千萬盤裏麵每一盤找出一個勝負關係,通過這些關係來獲得這個勝負棋感。然後這兩個棋感直覺再輔助於蒙特卡羅搜索來進行驗證,最後就是這麼一個落子順序了。它公布的是版本13的情況,搜索一步他往前看了28步。在剛才這個盤麵下它認為它應該走圖標的這個地方,如果這樣它預測白棋將走一路二路跳,然後黑棋還有機會在四路上扳,這個局部就告一段落了。我看看了這個28步應該是幾乎每次都是這麼一個深度,28步還是挺深的,像我們業餘選手我也就是看9步、10步頂多了。當然28步是在幾乎所有的情況下都是這樣,不會像我們人在某種情況下能算40步,50步的。
這個就是我要說的AlphaGo的技術突破,下麵我再談一下人工智能圍棋。
我這塊的標題是人工智能圍棋的技術突破標誌著人工通用智能的到來。我們準備講述一下人工智能圍棋研究的意義,核心技術突破,然後介紹兩個背後的方法,一個是深度學習神經網絡,一個是增強型學習算法,以及展望一下這些方法對於將來的影響。
圍棋當然非常重要了,圍棋其實是我們當今世界上唯一一個最複雜的,就是肯定是最複雜的,人類經過流傳過來的一個東西。當然你也可以設置一個新的圍棋,就是比如設置一個29步的圍棋,圍棋是經過曆史流傳,有至少三千年的曆史,現在世界上至少有四千萬個圍棋選手,還不包括愛好者的學習的孩子們。盤麵的變化是在10的170次方,應該是比我們現在世界所有的原子的個數還要多。它是一個最複雜的致力遊戲。早在北宋沈括就算過了,就是說一個點三種狀態可以放黑子可以放白子,也可以不放子。最後我們現在算了一下結果是10的170次方。圍棋一直被視做人工智能領域的一個重大挑戰,它跟象棋不一樣,象棋它是一個完全可以通過蠻力計算的,也就是10的46次方,但是人工智能領域裏麵我們發現這個方法是不可能直接用在圍棋裏麵的,第一它的變化太多了,第二很多情況下不是通過蠻力來算的,比如右邊這個圖是02年,我們安徽的中科大的張達人教授,他做了國際象棋和圍棋對弈過程中思維的掃描,它會發現就是說做圍棋下棋的時候它的形象思維非常重要。它不僅有形象思維,又有邏輯判斷,又有規劃選擇諸如此類的一些東西,是一種多種智能的一種綜合。當然一直認為要解決這個東西是重大挑戰,我們需要十到二十年的時間。其中兩大難題是什麼?一個就是我們叫做龐大的搜索決策空間。因為你要不做簡單的智能去選擇的話,你會麵臨很多很多的選點,一步棋有200個選點,兩步棋就是200×200了。第二個就是勝負的評價。我記得有一次李世石跟唐為新三盤棋,第一盤棋下完了李世石他不知道怎麼輸的,就是點錯誤了,到了中盤的時候就更容易選錯了。所以怎麼去辨認這個錯誤。你怎麼評價這個是好還是壞呢?而且棋子稍微挪一步可能結果就錯了,所以這個很難直接就去判斷勝負。就是這兩個問題的。當然圍棋既是一個目標,又是一個標尺,這個目標促使我們探索新的技術來克服這個目標,當然你要不斷克服這個目標,表示你的人工智能技術水平達到了一個高度可以應用到更廣泛的領域。我們認為AlphaGo戰勝李世石標誌著人工智能已經獲得了重大突破。這個突破是什麼?我的總結就是還是機器的直覺,直覺是職業棋手依賴、判斷眾多可能性的一個重要考量。它是通過長期的訓練,長期的對弈積累下來的。AlphaGo的人工智能基礎上麵的突破是實現了一定層麵的機器直覺。它給你一個盤麵,它也能夠給你一個當前的落子選點,以及勝負判斷,而且這些選點和勝負判斷都是非常高明的。有了這兩個直覺就可以幫助我們克服剛才的兩大問題,一個就是搜索空間巨大,一個就是盤麵很難評估它的好壞。我們用這兩個直覺來克服這兩個問題。
怎麼來克服這兩個問題呢?第一本來是這麼一個龐大的搜索空間,是一個非常大的數,第一個就是用了這個落子選點的直覺來縮小了這個搜索的寬度。因為某些落子點是不可能的了,你不要去考慮它,你隻要考慮那些高可能的落子選點。所以那些不可能的選點,通過落子直覺就把它排除掉了,這樣在廣度上麵就縮小了範圍。另外一個就是勝負的直覺判斷,這樣它可以在深度上縮小你的搜索空間。因為某些點你一看我這邊已經不行了,就不要再繼續考慮了,或者說這個對方不行了,如果對方不行了,對方也不需要去下這樣的子,你必須設計雙方最有可能的,最佳的落子點去選擇。所以通過這兩個直覺有效的縮減了搜索空間。換句話說它在搜索空間上麵進行搜索,但是他是通過這兩個直覺進行有效的直覺,這兩個直覺指引了他在有效的空間進行搜索。這個是怎麼做的?它是用了我們生物學的神經網絡。這個神經網絡某種程度上就是一個黑盒子,這邊有棋盤的輸入,輸出的時候可能就是一個勝負的概率。神經網絡在一定程度上是模仿人腦的神經元的組織結構,這個思想已經有幾十年了。比如說為了做圖象的識別,其實圍棋最後做圖象識別的時候要做複雜的數學計算,沒有大量的計算資源是無法做到的。深度學習神經網絡就是建立大規模的數據集的訓練,這種神經網絡技術本身是一種通用的技術,就是神經網絡在這個地方可以搭建,做它們之間的構建,這個本身並不具有任何指引。隻有通過搭建這些神經網絡再用數據去訓練它,然後調整它的參數,這個數據本身是領域的。它有兩個主要的學習:一個是有監督的機器學習,就是你要告訴機器你要怎麼做。其實人類在不同盤麵的落子,就是把人類的知識教給了機器。在這個盤麵上,你要這麼下,諸如此類的東西,這些都是人類的知識。它通過人類交談,人類標注的數據來進行學習。另外一個就是我們的增強型學習。這個應該是AlphaGo的最重要的核心。什麼是增強型的學習?它的原理起源於動物的行為心理學。它是根據不同的行為給予不同的獎勵或者懲罰來引導機器或者引導動物獲得更多的獎勵,從而調整它的行為。比如說教孩子的時候,孩子這個情況下總要犯錯誤,但是你要鼓勵他嚐試不同的事物,同時要鼓勵或懲罰。比如說一盤棋,我每次這麼下就會輸了,那我自然就不會這麼下,人也有自我的學習能力。就是為了你的目標你會調整你的行為,最大化你的目標的實現。這個就是引導學習的一種方法,而且是AlphaGo成長過程中一個最有效的方法。它是學習了什麼東西呢?就是學習最後勝負的關係,勝負就是說我下的過程中,總共下了200步棋,最後我輸了,我要把這個輸的這個懲罰映射到我下的那200步棋裏麵去,要映射給每一步棋。當我有足夠大數據的時候,我就會知道哪步棋現在是比較差,哪個盤麵是最後導致我輸的結果。贏了棋我會把這個獎勵複製到我下的別的棋步裏麵,我以後就多下這樣的棋。這樣他就學習到了。神經網絡算法是最重要的,並不是用到很多的機器。而且深度學習的這個增強型學習算法,可以不僅僅用於圍棋,早期AlphaGo的團隊是用它來解決打電視上的早期遊戲,而且他們現在或者已經在做了醫療的診斷上了。
我們總結一下這個地方我們叫做數據驅動人工通用智能。無論是神經網絡還是增強型學習算法,都是把領域無關的人工智能,而訓練深度神經網絡的海量數據,以及增強型學習過程中所需要的獎勵與懲罰都是相關的知識。比如你診斷出醫療上如果人沒有診斷出來而產生了病,這個也是懲罰等等,像這樣的數據以及獎勵和懲罰都是與之相關的。我們人工智能圍棋所展示的前沿智能方法就是把領域相關的這些數據,應用到領域無關的人工智能技術上。它的意義和前景是這樣的,首先它的三大技術基礎:它有大數據,有深度學習的神經網絡和高性能的計算,因為需要大量的計算資源才能夠可以。我們最近在跟國家超導中心在做類似的工作,也就是使用最先進的計算機來做計算。而且我們認為這個東西已經具有了一定的通用性,雖然這個通用性還不是像人一樣,又能下象棋,又能開車,如果是醫生還能診斷。但是這種方法在一定程度上具有通用性。現在可以用在圍棋上麵,已經開始應用在醫療診斷、自動駕駛等其他的領域了。當然我們認為它對於將來有重大的意義前景,其實很多人已經在不同程度上麵找到我,說劉老師你能不能把你們的技術跟我們的比如醫療或者什麼樣的結合在一起,大家的需求非常非常大。
我就舉兩個例子,一個就是醫療診斷。醫療診斷,其實昨天報告的時候IBM的沈院長也提出了,醫療診斷有巨大的市場。第二就是現在缺乏智能的設備能夠及時的識別疾病。有些非常重要的病比如說急性腎損傷,腎損傷是一個非常常見的病,你要到ICU裏麵去,幾乎50%的病人都有這樣的病,但是識別非常難,即使兩個腎都壞了,可能24小時之後才能發現。但是人工智能如果把這些醫療數據和我們剛才說的方法相結合,就能夠早期的預測,它能看這個片子,他能看這些數據,你現在還沒有得這個病的,我甚至可以早期的預測你是不是半個月以後或者半年以後會得這個病,易特曼公司已經開始做這個事情了。第二個就是自動駕駛,昨天我們也專門講了自動駕駛的原理,其實他說方法跟我的一樣,就是一邊使用傳感器對於駕駛場景的獲取,可能包含視覺,包括雷達的數據諸如此類的,另外一個就是人對它的操作,這個其實就是數據量的,在這樣的場景下人做這樣的一個操作,人在這個情況下是要踩刹車的,在那種情況下是要轉彎的諸如此類的,這些也是可以通過這些數據來訓練海量的數據,來模擬神經網絡的東西。當然很多其他的公司也在做。最後我就總結一下,就是人工智能,我們正處在人工智能爆發的轉折點,這個AlphaGo的突破其實看到了我們原來不能做的事情,現在我們都能做了。我們預測未來幾年數據驅動的人工通用智能會有井噴式的發展。
引用喬布斯的一句話,但是我改了一點點:從機器的角度來看,禿鷹是地球上向往最高的動物,但是騎上自行車以後,人便能把禿鷹甩在後麵。人工智能是我們發明出來的最非凡的工具,相當於我們大腦的自行車。謝謝大家!
本文來源於"中國人工智能學會",原文發表時間" 2016-09-28"
最後更新:2017-05-24 17:01:46