許丞:谷歌中國第三位工程師,之前在谷歌參與谷歌中國地圖,谷歌地圖以及谷歌光纖網(wǎng)絡(luò)等項(xiàng)目, 現(xiàn)創(chuàng)業(yè)擔(dān)任心橙互聯(lián)信息技術(shù)有限公司的CEO。2002.9-2005.7 北京大學(xué)計(jì)算機(jī) 最近,AlphaGo和李世石的圍棋大戰(zhàn)刷爆了朋友圈,之前的比賽AlphaGo首次擊敗人類圍棋冠軍,朋友圈都在轉(zhuǎn)發(fā)人工智能的前景有多么樂觀,其在未來發(fā)生的應(yīng)用場景會非常多,機(jī)器代替人類的一天將在不久會出現(xiàn)。隨著2016年3月13日李世石第一次取勝AlphaGo,朋友圈又引起了一片嘩然,都是對人類充滿了希望,感慨人類未來會越來越好,未來的世界還是人類主宰。AlphaGo的出現(xiàn),無疑反應(yīng)了谷歌的技術(shù)實(shí)力,研究水平之深。今天,我們采訪曾經(jīng)的谷歌中國第三位工程師,許丞,李開復(fù)的50大弟子之一,試圖從一個谷歌人的角度談?wù)凙lphaGo與李世石的這場激戰(zhàn)。您之前在谷歌有從事過人工智能相關(guān)的工作嗎?老實(shí)說,其實(shí)沒有。。。我在谷歌參與的項(xiàng)目主要有谷歌地圖搜索,谷歌生活搜索以及谷歌光纖網(wǎng)絡(luò)。我參與過使用機(jī)器學(xué)習(xí)的項(xiàng)目,比如條件隨機(jī)場進(jìn)行命名實(shí)體識別和Logistic Regression做點(diǎn)擊概率預(yù)測,但是沒有直接做跟Deep Learning等相關(guān)的項(xiàng)目。有兩個項(xiàng)目可能跟目前熱得發(fā)紫的深度學(xué)習(xí)相關(guān)的吧: 在谷歌我們有一個去學(xué)習(xí)深度學(xué)習(xí)的codelab,工程師都可以去學(xué)習(xí)如何使用像DistBelief(第一代谷歌大腦項(xiàng)目)來進(jìn)行實(shí)驗(yàn)研究。我研究過如何用DistBelief去完成MINST手寫數(shù)字識別,我寫的程序還進(jìn)了后來的tutorial。之前的研究者如果要去做手寫數(shù)字識別,需要自己先定義好各個features, 然后再訓(xùn)練模型。谷歌大腦系統(tǒng)完全不用寫features,直接把原始手寫數(shù)字標(biāo)注好,直接讓機(jī)器去尋找最好的features并生成模型。這個過程簡直太奇妙了。第二個項(xiàng)目是在參與谷歌光纖網(wǎng)絡(luò)項(xiàng)目的時候,我們需要去用計(jì)算機(jī)視覺的方式去解決一個物體識別的問題。簡單來說的話,就是從街景車的全景圖里面,用谷歌大腦去識別是不是有電線桿子,聽起來這個電線桿子沒什么用。。。。嗯。。。在做光纖布線的時候還是有用的。街景圖里面去識別物體已經(jīng)用在了抹去車牌或者說隱私保護(hù)的很多場景下,經(jīng)過對比測試之后,目前我知道的數(shù)字是谷歌大腦識別這些數(shù)字或者名字的能力已經(jīng)超過了人眼。AlphaGo為什么可以下圍棋?之前深藍(lán)擊敗卡斯帕羅夫的時候是用了什么原理?呃。。。計(jì)算機(jī)是怎么可以下棋的?計(jì)算機(jī)下棋的一個基本原理就是在狀態(tài)空間上進(jìn)行搜索。。。。嗯,太專業(yè)了是吧?好吧,那我們用一個簡單的方式來描述一下這個過程。我們把圍棋簡化一下,簡化成一個叫做九宮棋的棋類游戲。這個棋就是個簡化版的五子棋,規(guī)則就是誰能把3個棋子連一片,就算贏(這也太簡單了吧?圍棋比這個可復(fù)雜多了。。。嗯,所有的抽象模型都是由簡單開始的)。 我們把每個棋的一個形態(tài)當(dāng)做一個狀態(tài),把所有的可能性都作為它的子狀態(tài)。那么久可以形成一個如下類似的一顆樹,這顆樹就叫做博弈樹。這樣的一棵樹基本上把自己接下來可能的步數(shù),以及對手可能走的步數(shù)都模擬了一遍,這就是大家下棋的時候所說的能夠往后看幾步了??吹貌綌?shù)越多,顯然贏的可能性就越大,因此就越厲害。 對于九宮棋(三子棋),所有的狀態(tài)空間是一定的,所以其實(shí)是能夠知道必勝的走法的。但是對于圍棋或者象棋來說,每一次可能的步數(shù)都很多,這樣每多看一步,就產(chǎn)生很多倍的新的狀態(tài)空間,對于機(jī)器來說,可能就會內(nèi)存不夠或者時間不夠了。因此大家會定義一個用來評估當(dāng)前局面的函數(shù),叫做評估函數(shù)。比如拿九宮棋來說,可以有很多,比如那可以是目前已經(jīng)連成2個子的個數(shù),或者任然空著的行列對角線的個數(shù)等等。評估這個局面可以告訴計(jì)算機(jī),目前我這一步的情況如何,是不是很好。 對于某些特別不好的局面,那么評估之后就會被剪掉,這叫做剪枝法。因?yàn)椴┺臉涫且粋€下完一個,另外一個跟著下,因此剪枝的方法一般用的是α–β剪枝法(Alpha–beta pruning) 通過這顆搜索樹,那么機(jī)器就知道如何下子跟走棋了。這樣就明白了。那么《自然》論文的AlphaGo的原理是什么樣的呢?跟剛剛講的一樣嗎?其實(shí)所有的計(jì)算機(jī)下棋的程序抽象來看都是上面那個的過程。只是因?yàn)殡y度不一樣,所以具體的算法復(fù)雜性也會有巨大的區(qū)別。AlphaGo最厲害的地方是用人工神經(jīng)網(wǎng)絡(luò)來建模了“棋感”這一個完全無法用計(jì)算機(jī)語言來描述的概念。通過上面的學(xué)習(xí)我們可以知道,評估一個棋局的局面實(shí)際上可以用簡單的函數(shù)來描述,也可以通過往后看幾步來分析。這個評估函數(shù)建模了棋局的勝負(fù)概率,因此至關(guān)重要。人類經(jīng)過訓(xùn)練之后,能夠比較快速的去數(shù)目并判斷棋盤的局勢,但是機(jī)器顯然很難(對于計(jì)算來說,數(shù)數(shù)顯然是很快的,但是圍棋的目數(shù)和局勢顯然不是單純數(shù)一下數(shù)目)。1. Policy Network: 用來預(yù)測如果是人類最好的選手,他會選擇哪一個走法。這個模型是用深層神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的,其實(shí)是建立了最好棋手棋感的一部分。2. Fast rollout: 快速走子,跟1的功能一樣,但是用了不同的模型,這個模型跟預(yù)測點(diǎn)擊率的Logistic Regression模型沒有區(qū)別。3. Value Network: 評估當(dāng)前的棋局形勢。4. Monte Carlo Tree Search: 蒙特卡洛樹搜索。用來進(jìn)行狀態(tài)空間的快速搜索的概率模型。Policy/Value Network是對比與上文說的評估函數(shù)。在上面的搜索樹里面用了一個簡單的數(shù)數(shù)的方式,而在AlphaGo中,用的是棋感和預(yù)測走子的方式來進(jìn)行構(gòu)建狀態(tài)空間。而蒙特卡洛樹搜索是一個概率搜索算法,跟上面的博弈樹搜索是一個套路的東西,只是用的是概率模型來進(jìn)行更有效的搜索。太復(fù)雜了沒看懂,那么您直接告訴我。。。他的貢獻(xiàn)是什么吧?建立了棋感是很重要的貢獻(xiàn)。人和機(jī)器根本的不一致在于: 如果你給他看一個圖片;對于機(jī)器而言,他看到的都是0/1這樣的二進(jìn)制數(shù)字,除了最基礎(chǔ)的可以去數(shù)里面有多少不同顏色什么信息以外,啥都不知道。而人可以從全局的角度看這個圖片,這樣就能知道這個圖片大概是什么東西,是什么內(nèi)容。棋感也是一樣 - 人工神經(jīng)網(wǎng)絡(luò)應(yīng)用在計(jì)算機(jī)視覺上的重要突破,就是人不再讓計(jì)算機(jī)用0/1來去識別圖像內(nèi)容了,而是讓計(jì)算機(jī)自動的去抽取圖像的語義特征--當(dāng)然很可能只是一個一個小圖塊tiles這種組合方式的語義特征。這樣計(jì)算機(jī)就可以開始慢慢的能夠開始感知到這個物體可能是什么特征通過線性組合出來的。慢慢的也就形成了概念。而棋感就是類比于這樣的概念! 其二是增強(qiáng)學(xué)習(xí)。也就是說計(jì)算機(jī)可以開始通過自己和自己進(jìn)行比賽的方式來提高自己的模型的精度。在此之前,所有的機(jī)器學(xué)習(xí)大部分都可以說是監(jiān)督學(xué)習(xí),人類在扮演著一個家長的角色,不停的告訴自己的計(jì)算機(jī)模型說這個是對的,這個需要修正。而現(xiàn)在在AlphaGo中,他們實(shí)現(xiàn)的無監(jiān)督學(xué)習(xí)已經(jīng)可以讓人不用再去當(dāng)家長,他們左右互搏也能學(xué)習(xí)到非常強(qiáng)的知識。這個結(jié)果非??膳?/span>目前不管是AlphaGo戰(zhàn)勝李世石還是李世石戰(zhàn)勝了AlphaGo ,這場人機(jī)大戰(zhàn)對未來會有什么影響呢?我認(rèn)為這個影響將會是巨大的。在此之前,雖然人工智能,機(jī)器學(xué)習(xí)也算是人盡皆知的詞匯,但是此次新聞的傳播影響之大,從來沒有過讓普通人去這么去關(guān)心人工智能的進(jìn)展。這次人機(jī)大戰(zhàn)可以說是影響力全面超越了卡斯帕羅夫深藍(lán)大戰(zhàn)那次。可以預(yù)言人工智能在接下來的幾年之內(nèi)一定是最熱的熱點(diǎn)話題,可以想象會有更多大學(xué)生投入到其中的學(xué)習(xí)和研究之中,也可能會讓投資更多的聚焦于這個領(lǐng)域,更多的應(yīng)用和場景,進(jìn)而會產(chǎn)生讓人不可思議的結(jié)果。AlphaGo中的技術(shù)和算法顯然不會只用于下棋,有意思的是歷史上的每一次人機(jī)棋類大戰(zhàn)都會帶來更多新技術(shù)的進(jìn)步。1989年我的老師李開復(fù)博士帶著他的實(shí)習(xí)生在奧賽羅比賽中,利用統(tǒng)計(jì)學(xué)習(xí)打敗了當(dāng)時的世界冠軍。也許當(dāng)時對大部分的人來說,其實(shí)也僅僅是一次人機(jī)大戰(zhàn)而已。然而那次之后,統(tǒng)計(jì)學(xué)習(xí)在非特定人語音識別系統(tǒng)開始發(fā)揮無與倫比的作用,傳統(tǒng)的基于規(guī)則的語音識別系統(tǒng)被打得找不著北?,F(xiàn)在我們能用到的siri, 自動電話應(yīng)答機(jī)都是從此變?yōu)楝F(xiàn)實(shí)。更重要的是,從此之后,統(tǒng)計(jì)學(xué)習(xí)理論基本上統(tǒng)治了整個機(jī)器學(xué)習(xí)這個學(xué)科的所有研究方向,延續(xù)了差不多20多年。今天,風(fēng)水輪流轉(zhuǎn),曾經(jīng)被認(rèn)為沒前途的神經(jīng)網(wǎng)絡(luò)技術(shù)卷土重來,通過深度學(xué)習(xí)的方式再次讓人類在視覺識別,棋類競技等項(xiàng)目上敗給機(jī)器,重新占據(jù)了學(xué)術(shù)研究的焦點(diǎn)。這是一場計(jì)算機(jī)智能革命,這些比人機(jī)大戰(zhàn)結(jié)果的更有現(xiàn)實(shí)意義。我相信,隨著這些算法應(yīng)用到計(jì)算機(jī)視覺,自動駕駛,自然語言理解等領(lǐng)域,AlphaGo及其帶來的人工智能革命必將改善我們所有人的生活。
微信號“程序員和創(chuàng)業(yè)者鼓勵師”授權(quán)發(fā)布
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報(bào)。