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