0
本文作者: 楊曉凡 | 2019-05-15 21:52 |
雷鋒網(wǎng) AI 科技評(píng)論按:在今年的谷歌 IO 2019 大會(huì)上有個(gè)環(huán)節(jié),邀請(qǐng)了「深度學(xué)習(xí)教父」、也是 2018 年圖靈獎(jiǎng)獲獎(jiǎng)?wù)咧坏?Geoffery Hinton 聊一聊學(xué)術(shù)、非學(xué)術(shù)的各類(lèi)話(huà)題。整個(gè)過(guò)程很輕松,就是聊聊各種話(huà)題,不過(guò) Hinton 老爺子一如既往地學(xué)術(shù)風(fēng)氣十足。雷鋒網(wǎng) AI 科技評(píng)論根據(jù)視頻回放把訪(fǎng)談內(nèi)容聽(tīng)譯整理如下。有小部分刪節(jié)。
主持人:大家好,我是 Nicholas Thompson,Wired 記者。今天我們要和 Geoffery Hinton 面對(duì)面聊一聊。說(shuō)起 Hinton 他身上有兩件事讓我很敬佩,第一件當(dāng)然是他很能堅(jiān)持,即便所有別的人都說(shuō)他的想法很糟糕,他也堅(jiān)持相信自己,堅(jiān)持一直做下去。別的「有很糟糕的想法」的人很受到他的鼓勵(lì),包括我自己。第二件就是,我做了大半輩子管理者,可以說(shuō)收集了各種各樣的職位頭銜,而當(dāng)我看到 Hinton 的簡(jiǎn)介的時(shí)候,他的頭銜簡(jiǎn)直不能更加平庸 —— 就是谷歌工程 Fellow(Google Engineering Fellow)而已。讓我們邀請(qǐng)他上臺(tái)。
Hinton:謝謝,很高興來(lái)到這里。
主持人:那我們開(kāi)始吧。我記得大概是 20 年前,你開(kāi)始寫(xiě)一些最早的產(chǎn)生影響力的論文,別人看了以后覺(jué)得「唔,挺聰明的想法,但是我們沒(méi)辦法設(shè)計(jì)這樣的電腦」。跟大家談?wù)勀銥槭裁茨芤恢眻?jiān)持、為什么那么相信自己找到了很重要的東西?
Hinton:首先糾正你一下那是 40 年前。在我看來(lái),大腦沒(méi)辦法以別的方式運(yùn)轉(zhuǎn),它只能是學(xué)習(xí)連接的強(qiáng)弱。那么,如果你想要制造一個(gè)能做智能的事情的機(jī)器,你面前有兩個(gè)選擇,給它編程,或者讓它學(xué)習(xí)。顯然我們?nèi)祟?lèi)的智慧不是被別人編寫(xiě)出來(lái)的,所以就只能是「學(xué)習(xí)」。只有這一種可能。
主持人:那你能再給大家解釋一下「神經(jīng)網(wǎng)絡(luò)」這個(gè)概念嗎?在場(chǎng)的多數(shù)人應(yīng)該都是知道的,不過(guò)我們還是想聽(tīng)聽(tīng)你最初的想法,以及它是如何發(fā)展的。
Hinton:首先你有一些非常簡(jiǎn)單的處理單元,可以看做是神經(jīng)元的簡(jiǎn)單形式。它們能接受傳入的信號(hào),每個(gè)信號(hào)都有權(quán)重,這些權(quán)重可以變化,這就是學(xué)習(xí)的過(guò)程。然后神經(jīng)元做的事情就是先把傳入的信號(hào)值乘上權(quán)重,再把它們?nèi)技悠饋?lái)得到一個(gè)和,最后再?zèng)Q定是否要把這個(gè)和傳送出去;比如這個(gè)值足夠大,就傳送出去,不夠大或者是負(fù)數(shù),就不傳送。就這么簡(jiǎn)單。你只需要把成千上萬(wàn)個(gè)這樣的單元互相連接起來(lái),里面有成千上萬(wàn)的成千上萬(wàn)倍的權(quán)重,然后學(xué)習(xí)到這些權(quán)重,那你就可以做到任何事了。難點(diǎn)只在于如何學(xué)習(xí)權(quán)重。
主持人:你是在什么時(shí)候開(kāi)始覺(jué)得,這種做法和人類(lèi)大腦的運(yùn)轉(zhuǎn)方式差不多的?
Hinton:神經(jīng)網(wǎng)絡(luò)一開(kāi)始就是仿照人類(lèi)大腦的樣子設(shè)計(jì)的。
主持人:比如在你人生中的某個(gè)時(shí)候你開(kāi)始意識(shí)到了人類(lèi)大腦是怎么工作的,可能是在 12 歲的時(shí)候,也可能是在 25 歲的時(shí)候,那么你是在什么時(shí)候開(kāi)始、以及如何決定了你要仿照人類(lèi)大腦的樣子設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的?
Hinton:差不多一知道人類(lèi)大腦是這么工作的就決定了吧。做這個(gè)研究的整個(gè)思路就是模仿人類(lèi)的大腦的連接,然后試著學(xué)習(xí)這些連接權(quán)重。我其實(shí)不是這個(gè)思路的創(chuàng)始人,圖靈就有過(guò)同樣的思路。雖然圖靈為標(biāo)準(zhǔn)計(jì)算機(jī)科學(xué)的發(fā)展做出了很大貢獻(xiàn),但是他就認(rèn)為人類(lèi)大腦是一個(gè)沒(méi)有什么明確結(jié)構(gòu)、連接權(quán)重也都是隨機(jī)值的設(shè)備,然后只需要用強(qiáng)化學(xué)習(xí)的方式改變這些權(quán)重,它就可以學(xué)到任何東西。他覺(jué)得「智慧」的最好的模式就是這樣的。還有很多別的人也都有差不多的想法。
主持人:上世紀(jì) 80 年代的時(shí)候你在這方面的研究讓你變得小有名氣,但后來(lái),從什么時(shí)候開(kāi)始其它的研究者就開(kāi)始放棄這個(gè)方向了呢?只有你一個(gè)人堅(jiān)持下來(lái)了。
Hinton:(停頓了一下)總有那么一小撥人是堅(jiān)持相信、堅(jiān)持到了今天的,尤其是心理學(xué)領(lǐng)域里。不過(guò)計(jì)算機(jī)科學(xué)這邊能堅(jiān)持的就少一點(diǎn),因?yàn)樯鲜兰o(jì) 90 年代的時(shí)候,領(lǐng)域內(nèi)的數(shù)據(jù)集很小、計(jì)算機(jī)也沒(méi)有那么快,這時(shí)候還有其它類(lèi)型的方法出現(xiàn),比如支持向量機(jī)(SVM),它們?cè)谀菢拥臈l件下效果更好,受到噪聲的影響也沒(méi)那么嚴(yán)重。這就開(kāi)始讓人感覺(jué)到沮喪了,雖然我們?cè)?80 年代開(kāi)發(fā)了反向傳播,我們也相信它能解決任何問(wèn)題,但那時(shí)候我們搞不清它「為什么沒(méi)能解決任何問(wèn)題」。后來(lái)我們知道了讓神經(jīng)網(wǎng)絡(luò)發(fā)揮實(shí)力需要數(shù)據(jù)和計(jì)算力都有很大的規(guī)模,但當(dāng)時(shí)沒(méi)人知道。
主持人:你們當(dāng)時(shí)以為它效果不好的原因是什么?
Hinton:我們以為是算法不好、目標(biāo)函數(shù)不好等等各種原因。我自己很長(zhǎng)時(shí)間內(nèi)都有一個(gè)想法,覺(jué)得是因?yàn)槲覀冊(cè)谧霰O(jiān)督學(xué)習(xí),需要標(biāo)注很多數(shù)據(jù);那么我們應(yīng)該做的是無(wú)監(jiān)督學(xué)習(xí),從沒(méi)有標(biāo)簽的數(shù)據(jù)中學(xué)習(xí)。但最后我們發(fā)現(xiàn)主要原因還是在規(guī)模上。
主持人:聽(tīng)起來(lái)很有趣,其實(shí)只是數(shù)據(jù)量不足,但是你們當(dāng)時(shí)以為數(shù)據(jù)量夠了,但是標(biāo)注得不好 —— 你們找錯(cuò)了問(wèn)題了對(duì)嗎?
Hinton:我當(dāng)時(shí)覺(jué)得「用有標(biāo)注的數(shù)據(jù)」就是不對(duì)的,人類(lèi)的大多數(shù)學(xué)習(xí)過(guò)程都沒(méi)有用到任何標(biāo)簽,就只是在建模數(shù)據(jù)中的結(jié)構(gòu)。其實(shí)我現(xiàn)在也還相信這個(gè),我覺(jué)得隨著計(jì)算機(jī)變得越來(lái)越快,給定一個(gè)足夠大的數(shù)據(jù)集以后就應(yīng)該先做無(wú)監(jiān)督學(xué)習(xí);無(wú)監(jiān)督學(xué)習(xí)做完以后,就可以用更少的標(biāo)注數(shù)據(jù)學(xué)習(xí)。
主持人:到了九十年代,你還繼續(xù)在學(xué)術(shù)界做研究,還在發(fā)表論文,但是沒(méi)能繼續(xù)解決越來(lái)越多的問(wèn)題。你當(dāng)時(shí)有沒(méi)有想過(guò),覺(jué)得我受夠了、我要做點(diǎn)別的去?還是就是很堅(jiān)定地要一直做下去?
Hinton:就是要堅(jiān)定做下去,這是一定能行的。你看,人類(lèi)大腦就是通過(guò)改變這些連接來(lái)學(xué)習(xí)的,我們?nèi)パ芯?、去模仿就好了。學(xué)習(xí)這些連接的強(qiáng)弱可能會(huì)有很多種不同的方式,大腦用了某一種,但是其他的方法也有可能是可行的。不過(guò)你總是需要找到一種學(xué)習(xí)連接權(quán)重的方法。這一點(diǎn)我從來(lái)沒(méi)有懷疑過(guò)。
主持人:大概在什么時(shí)候看起來(lái)好像行得通了?
Hinton:八十年代的時(shí)候其實(shí)有件事讓大家很頭疼,就是如果你設(shè)計(jì)了一個(gè)有很多隱層(中間層)的神經(jīng)網(wǎng)絡(luò),你沒(méi)辦法訓(xùn)練它們。有一些很簡(jiǎn)單的任務(wù)里的神經(jīng)網(wǎng)絡(luò)是可以訓(xùn)練的,比如識(shí)別手寫(xiě)字體,但是對(duì)于大多數(shù)比較深的神經(jīng)網(wǎng)絡(luò),我們都不知道要怎么訓(xùn)練。到了大約 2005 年,我想到了一些對(duì)深度神經(jīng)網(wǎng)絡(luò)做無(wú)監(jiān)督訓(xùn)練的點(diǎn)子。具體來(lái)說(shuō)是,從你的輸入,比如說(shuō)是一些像素,學(xué)習(xí)一些特征檢測(cè)器,學(xué)習(xí)過(guò)之后它們就可以很好地解釋為什么這些像素是這樣的。然后你把這些特征檢測(cè)器作為數(shù)據(jù),把它們作為輸入再學(xué)習(xí)另一批特征檢測(cè)器,就可以解釋那些特征檢測(cè)器之間為什么會(huì)有關(guān)聯(lián)性。那么就這樣一層又一層地學(xué)。很有趣的是,你可以通過(guò)數(shù)學(xué)證明,當(dāng)你學(xué)的層數(shù)越來(lái)越多的時(shí)候,你不一定得到了更好的數(shù)據(jù)模型,但是你會(huì)知道你當(dāng)前的模型的比較結(jié)果。每當(dāng)你增加一個(gè)新的層,你就會(huì)得到更好比較結(jié)果。
主持人:能多解釋一下嗎?
Hinton:當(dāng)你得到一個(gè)模型以后,你會(huì)問(wèn)「這個(gè)模型和數(shù)據(jù)的相符程度如何?」你可以給模型輸入一些數(shù)據(jù),然后問(wèn)它「你認(rèn)為這些數(shù)據(jù)和你的想法相符嗎?還是說(shuō)你感到很意外?」你可以對(duì)這個(gè)程度做出一些測(cè)量。我們想要的效果是,得到一個(gè)好的模型,它看到這些數(shù)據(jù)以后會(huì)說(shuō)「嗯,嗯,都是我很熟悉的」。準(zhǔn)確地計(jì)算模型對(duì)數(shù)據(jù)有多熟悉一般來(lái)說(shuō)是很難的,但是你可以計(jì)算一個(gè)模型和模型之間的相對(duì)高低,就是比較結(jié)果。那么我們就證明了,當(dāng)你增加的額外的特征檢測(cè)器層越多,新模型對(duì)數(shù)據(jù)的熟悉程度就會(huì)越高。(雷鋒網(wǎng) AI 科技評(píng)論注:這部分的具體技術(shù)細(xì)節(jié)可以參見(jiàn) Hinton 在 NIPS 2007 上介紹深度信念網(wǎng)絡(luò)的教學(xué)講座 http://www.cs.toronto.edu/~hinton/nipstutorial/nipstut3.pdf )
主持人:在 2005 年有這樣的建模想法挺好的,那你的模型開(kāi)始有好的輸出大概是在什么時(shí)候?你又是在什么數(shù)據(jù)上做的實(shí)驗(yàn)?
Hinton:就是手寫(xiě)數(shù)字?jǐn)?shù)據(jù)集,非常簡(jiǎn)單。差不多也就是那個(gè)時(shí)候,GPU(圖形計(jì)算單元)開(kāi)始快速發(fā)展,做神經(jīng)網(wǎng)絡(luò)的人大概從 2007 年開(kāi)始使用 GPU。我當(dāng)時(shí)有一個(gè)很優(yōu)秀的學(xué)生,他借助 GPU 在航拍圖像里找到公路,他當(dāng)時(shí)寫(xiě)的代碼有一些后來(lái)被其它學(xué)生用在語(yǔ)音的音位檢測(cè)里,也是借助 GPU。他們當(dāng)時(shí)做的事情是預(yù)訓(xùn)練,做完預(yù)訓(xùn)練之后把標(biāo)簽加上去,然后做反向傳播。這種做法不僅確實(shí)做出來(lái)了很深的、經(jīng)過(guò)了預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò),再做了反向傳播之后還能有不錯(cuò)的輸出,它在當(dāng)時(shí)的語(yǔ)音識(shí)別測(cè)試中打敗了不少別的模型,數(shù)據(jù)集是 TIMIT,很小,我們的模型比當(dāng)時(shí)學(xué)術(shù)界的最好的成果好一點(diǎn)點(diǎn),也比 IBM 的好一些。這是一開(kāi)始,提升不算多。
然后其他人很快就意識(shí)到,這種方法再繼續(xù)改進(jìn)一點(diǎn)就能取得很好的成果,畢竟它當(dāng)時(shí)打敗的那些標(biāo)準(zhǔn)的模型都是花了 30 年時(shí)間才做到這種效果的。我的學(xué)生畢業(yè)以后去了微軟、IBM、谷歌,然后谷歌最快把這個(gè)技術(shù)發(fā)展成了一個(gè)生產(chǎn)級(jí)別的語(yǔ)音識(shí)別系統(tǒng)。2009 年有了最初的成果,2012 年已經(jīng)來(lái)到了安卓系統(tǒng)上,安卓系統(tǒng)也就在語(yǔ)音識(shí)別方面遙遙領(lǐng)先。
主持人:那時(shí)候你有這個(gè)想法都 30 年了,終于做出大眾認(rèn)可的成果,而且也比其他的研究人員效果更好,你的感覺(jué)如何?
Hinton:感覺(jué)真的很開(kāi)心,終于發(fā)展到了解決實(shí)際問(wèn)題的階段了。
主持人:那么,當(dāng)你發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)能很好地解決語(yǔ)音識(shí)別問(wèn)題以后,你是什么時(shí)候開(kāi)始嘗試用它解決其他的問(wèn)題的?
Hinton:嗯這之后我們就開(kāi)始在各種問(wèn)題上嘗試這個(gè)方法。最早用神經(jīng)網(wǎng)絡(luò)做語(yǔ)音識(shí)別的是 George Dahl,他又開(kāi)始用神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)一個(gè)分子是否會(huì)連接到某些東西上面然后起到治療的作用。當(dāng)時(shí)有一個(gè)做這個(gè)的競(jìng)賽,他就直接把用于語(yǔ)音識(shí)別的標(biāo)準(zhǔn)方法用來(lái)預(yù)測(cè)藥物分子的活性,然后就這么贏(yíng)了競(jìng)賽。這是一個(gè)很積極的信號(hào),神經(jīng)網(wǎng)絡(luò)的方法似乎有很高的通用性。這時(shí)候我有一個(gè)學(xué)生說(shuō),「Geoff,我感覺(jué)用這個(gè)方法去做圖像識(shí)別也會(huì)效果很好,李飛飛也已經(jīng)創(chuàng)建了一個(gè)合適的數(shù)據(jù)集,還有一個(gè)公開(kāi)的競(jìng)賽,我們一定要去試試」。我們就參加了,得到的結(jié)果比標(biāo)準(zhǔn)計(jì)算機(jī)視覺(jué)方法好很多。(AlexNet 在 2012 年的 ImageNet 大規(guī)模視覺(jué)識(shí)別挑戰(zhàn)賽 ILSVRC 中以遠(yuǎn)好于第二名的成績(jī)?nèi)〉玫谝?,下圖中 SuperVision 團(tuán)隊(duì))
主持人:說(shuō)了不少的成功案例,對(duì)化學(xué)分子建模啊、語(yǔ)音啊圖像啊什么的,有沒(méi)有什么失敗的案例?
Hinton:失敗都只是暫時(shí)的,你能明白嗎?
主持人:那么,有沒(méi)有哪些領(lǐng)域特別快就成功,有的領(lǐng)域里就慢一些?我的感覺(jué)好像是視覺(jué)信號(hào)處理、語(yǔ)音信號(hào)處理這些人類(lèi)的感知器官的核心任務(wù)是最先攻克的,是這樣嗎?
Hinton:不完全對(duì),感知的確實(shí)攻克了,但還有運(yùn)動(dòng)控制之類(lèi)的事情沒(méi)有那么大的進(jìn)步。人類(lèi)的運(yùn)動(dòng)控制能力非常高,也非常輕松,很顯然我們的大腦就是為運(yùn)動(dòng)控制設(shè)計(jì)的。一直發(fā)展到今天,神經(jīng)網(wǎng)絡(luò)在運(yùn)動(dòng)控制方面的表現(xiàn)才開(kāi)始追趕上此前就有的技術(shù)。神經(jīng)網(wǎng)絡(luò)最終會(huì)趕超的,但現(xiàn)在才剛剛出現(xiàn)小的勝利。我覺(jué)得,推理、抽象推導(dǎo)這些人類(lèi)也最后才學(xué)會(huì)做的事情,也將會(huì)是神經(jīng)網(wǎng)絡(luò)最難學(xué)會(huì)的事情。
主持人:你們總說(shuō)神經(jīng)網(wǎng)絡(luò)最后能搞定所有的事情?(笑)
Hinton:這個(gè)嘛,我們?nèi)祟?lèi)就是神經(jīng)網(wǎng)絡(luò)啊。所有我們能做的,神經(jīng)網(wǎng)絡(luò)就能做。
主持人:沒(méi)錯(cuò),不過(guò)人類(lèi)大腦也不見(jiàn)得就一定是世界上最高效的計(jì)算機(jī)器。有沒(méi)有哪種機(jī)器比人類(lèi)大腦的效率更高的?
Hinton:哲學(xué)上來(lái)講,我并不反對(duì)「存在一種完全不同的方式來(lái)達(dá)成這一切」這樣的觀(guān)點(diǎn)。比如有可能你從邏輯開(kāi)始,你就會(huì)嘗試研究自動(dòng)邏輯,會(huì)研究出什么特別厲害的自動(dòng)定理證明機(jī)器;如果你從推理開(kāi)始,然后你要通過(guò)推理做視覺(jué)感知,可能這個(gè)方法也可行。不過(guò)最后這些方法沒(méi)做出好的效果。我從哲學(xué)角度上并不反對(duì)其它的方式也能達(dá)成這些。只是目前來(lái)看,我們知道大腦、也就是神經(jīng)網(wǎng)絡(luò),是確實(shí)可以做出這些的。
主持人:下面我想問(wèn)另一個(gè)角度的問(wèn)題,那就是,目前我們并不完全清楚神經(jīng)網(wǎng)絡(luò)是如何工作的,對(duì)嗎?
Hinton:對(duì),我們不太清楚神經(jīng)網(wǎng)絡(luò)是如何工作的。
主持人:我們很難從結(jié)果推理出神經(jīng)網(wǎng)絡(luò)的工作方式,這是我們對(duì)神經(jīng)網(wǎng)絡(luò)的不理解的關(guān)鍵之處對(duì)吧?詳細(xì)談?wù)劙?。以及顯然我還有緊接著的下一個(gè)問(wèn)題:如果我們不知道他們是如何工作的,那么我們把它們?cè)斐鰜?lái)以后是如何得到好的效果的?
Hinton:如果你觀(guān)察一下當(dāng)前的計(jì)算機(jī)視覺(jué)系統(tǒng)的話(huà),它們大多數(shù)都只有前向傳播,沒(méi)有反饋連接。當(dāng)前的計(jì)算機(jī)視覺(jué)系統(tǒng)還有一個(gè)特點(diǎn),就是他們對(duì)于對(duì)抗性錯(cuò)誤非常敏感,比如你有一張熊貓的圖像,輕微修改了其中幾個(gè)像素以后,在我們看起來(lái)仍然是熊貓,但計(jì)算機(jī)視覺(jué)系統(tǒng)就會(huì)一下子認(rèn)為圖中是火雞。顯然,這個(gè)修改像素的方式是需要經(jīng)過(guò)精密的設(shè)計(jì)的,是對(duì)計(jì)算機(jī)視覺(jué)系統(tǒng)的誤導(dǎo)或者欺騙。但重點(diǎn)是,在人類(lèi)看來(lái)它仍然是熊貓,不受影響。
所以一開(kāi)始我們以為基于神經(jīng)網(wǎng)絡(luò)的計(jì)算機(jī)視覺(jué)系統(tǒng)工作得挺不錯(cuò)的,但是后來(lái)當(dāng)我們發(fā)現(xiàn)這樣的對(duì)抗性修改(攻擊)可以起到這樣的作用以后,大家都會(huì)開(kāi)始有點(diǎn)擔(dān)心。我覺(jué)得這個(gè)問(wèn)題有一部分原因是因?yàn)榫W(wǎng)絡(luò)并沒(méi)能從高級(jí)別的表征進(jìn)行重建?,F(xiàn)在有研究者開(kāi)始嘗試做判別式學(xué)習(xí),就是學(xué)習(xí)很多層的特征檢測(cè)器,然后最終目標(biāo)是改變不同特征檢測(cè)器的權(quán)重,更好地得到正確的結(jié)果。最近我們團(tuán)隊(duì)在多倫多也有一些發(fā)現(xiàn),Nick Frost 發(fā)現(xiàn),如果你引入了重建過(guò)程,它能讓網(wǎng)絡(luò)面對(duì)對(duì)抗性攻擊的時(shí)候更穩(wěn)定。所以我覺(jué)得人類(lèi)視覺(jué)系統(tǒng)中,學(xué)習(xí)的過(guò)程就帶有重建。而且我們?nèi)祟?lèi)除了視覺(jué)之外,很多的學(xué)習(xí)過(guò)程都是帶有重建的,所以我們面對(duì)對(duì)抗性攻擊的時(shí)候要穩(wěn)定得多。
主持人:就是說(shuō),你覺(jué)得神經(jīng)網(wǎng)絡(luò)中從后往前的連接可以幫你測(cè)試數(shù)據(jù)的重建的過(guò)程?
Hinton:對(duì),我覺(jué)得這非常重要。
主持人:那么腦科學(xué)家也持有同樣的觀(guān)點(diǎn)嗎?
Hinton:腦科學(xué)家們?nèi)纪膺@個(gè)觀(guān)點(diǎn),就是如果感知信號(hào)通路要經(jīng)過(guò)大腦皮層的兩個(gè)不同區(qū)域,那一定會(huì)有反向連接。他們只是還沒(méi)有在這個(gè)連接的作用上達(dá)成一致。它的作用有可能是注意力、有可能是為了學(xué)習(xí)、也有可能是為了重建,甚至有可能三者都是。
主持人:所以我們還不完全理解反向連接的作用。那現(xiàn)在你就希望在網(wǎng)絡(luò)中構(gòu)建起到重建作用的反向連接,這么做合理嗎?雖然你說(shuō)要仿照大腦,但是你不確定大腦到底是不是這樣的。
Hinton:我完全沒(méi)有這方面的擔(dān)心。畢竟我做的不是計(jì)算神經(jīng)科學(xué),也不是要為人類(lèi)大腦的運(yùn)轉(zhuǎn)方式提出一個(gè)多么好的模型。我所做的僅僅是觀(guān)察大腦,然后說(shuō)「既然它能很好地發(fā)揮作用,那我們想讓別的東西也發(fā)揮好的作用的時(shí)候,就可以從這里尋找一些靈感」。所以我們從神經(jīng)科學(xué)、腦科學(xué)中獲得靈感,但并不是為腦神經(jīng)建模。我們的整個(gè)神經(jīng)網(wǎng)絡(luò)模型、我們的模型中用的神經(jīng)元,就是來(lái)自于人腦中的神經(jīng)的啟發(fā):神經(jīng)元有很多的連接,而且這些連接可以改變權(quán)重。
主持人:聽(tīng)起來(lái)很有趣。所以如果我也做計(jì)算機(jī)科學(xué),我也研究神經(jīng)網(wǎng)絡(luò),然后我想要比 Hinton 做得更好的話(huà),有一種選擇是根據(jù)腦科學(xué)里的其它一些模型構(gòu)建從后向前的連接,這次我可以選擇讓它發(fā)揮學(xué)習(xí)的作用。
Hinton:如果這樣能得到更好的模型,那你真的有可能會(huì)成功的。
主持人:下一個(gè)話(huà)題,既然我們說(shuō)神經(jīng)網(wǎng)絡(luò)可以解決各種問(wèn)題,那有沒(méi)有可能讓神經(jīng)網(wǎng)絡(luò)捕捉重現(xiàn)人類(lèi)的大腦,比如感情呀……
Hinton:(直接打斷)不可能的。
主持人:那能用神經(jīng)網(wǎng)絡(luò)重建愛(ài)情、重建意識(shí)嗎?
Hinton:這個(gè)可以,只要你弄明白了這些東西的含義到底是什么。畢竟我們?nèi)祟?lèi)也是神經(jīng)網(wǎng)絡(luò)。意識(shí)是我現(xiàn)在特別感興趣的一件事,不過(guò)很多人說(shuō)到這個(gè)詞的時(shí)候都不太清楚自己到底在說(shuō)什么。這東西有很多不同的定義,在我眼中它應(yīng)當(dāng)是一個(gè)科學(xué)詞匯。100 年以前如果你問(wèn)別人「生命」是什么,他們可能會(huì)說(shuō)「活著的東西就有一種積極的生命力,當(dāng)他們死去的時(shí)候,這種生命力就跟著一起走了。所以活著和死了的區(qū)別就是有沒(méi)有那種生命力」。現(xiàn)在我們已經(jīng)不談生命力這種東西了,我們認(rèn)為這是偽科學(xué)概念。甚至當(dāng)你學(xué)習(xí)了生物化學(xué)和分子生物學(xué)之后,你就會(huì)開(kāi)始痛斥生命力的說(shuō)法,因?yàn)槟阋呀?jīng)明白生命具體是怎么回事了。我覺(jué)得我們對(duì)于「意識(shí)」的理解也會(huì)經(jīng)過(guò)同樣的過(guò)程。以前提出這個(gè)詞是為了解釋我們覺(jué)得有重要含義的精神現(xiàn)象。但一旦我們真正明白了意識(shí)是怎么一回事,這個(gè)「重要含義」的內(nèi)容就不再重要了,我們能夠清楚地解釋做哪些事會(huì)讓別人覺(jué)得一個(gè)人「有意識(shí)」,而且這又是為什么,也能夠解釋這個(gè)詞的所有不同含義。
主持人:那么,沒(méi)有什么感情是不能被創(chuàng)造的,沒(méi)有什么思維是不能被創(chuàng)造的,只要我們完全理解了大腦是如何工作的,理論上就沒(méi)有什么人類(lèi)大腦能做的事情是不能被工作良好的神經(jīng)網(wǎng)絡(luò)重現(xiàn)的?
Hinton:你知道嗎,你剛才說(shuō)的這幾句,讓我想起 John Lennon 的一首歌,詞句很像。
主持人:你對(duì)這些有 100% 的信心嗎?
Hinton:不,不是 100%。我是一個(gè)貝葉斯主義者,我有 99.9% 是有信心的。
主持人:好吧,那另外那 0.1% 呢?
Hinton:就是有可能我們整個(gè)世界都是一個(gè)很大的模擬器,這一切都不是真的。
主持人:也不是沒(méi)可能。那么,通過(guò)你在計(jì)算機(jī)方面的研究,我們有沒(méi)有什么關(guān)于大腦的新發(fā)現(xiàn)?
Hinton:我覺(jué)得,在過(guò)去的十年中我們學(xué)到的是,如果你有一個(gè)系統(tǒng)有數(shù)以?xún)|計(jì)的參數(shù)和一個(gè)目標(biāo)函數(shù),比如做好完形填空,它能達(dá)到的表現(xiàn)要比直接看上去的好得多。
做傳統(tǒng) AI 的人大多數(shù)會(huì)覺(jué)得,或者一個(gè)普通人也會(huì)覺(jué)得,對(duì)于一個(gè)有幾十億參數(shù)的系統(tǒng),要從所有參數(shù)都是隨機(jī)值的初始狀態(tài)開(kāi)始,計(jì)算目標(biāo)函數(shù)的梯度,然后挨個(gè)更改這幾十億參數(shù),讓目標(biāo)函數(shù)的值向著更好的方向去那么一點(diǎn)點(diǎn),而且要做一輪一輪又一輪,這件事工作量太大了,沒(méi)什么希望完成,很有可能在半路上就卡死了。但實(shí)際上這是一種很好的算法,各方面的規(guī)模越大,它的效果就越好。這完全是從我們的經(jīng)驗(yàn)中總結(jié)出來(lái)的。現(xiàn)在既然我們已經(jīng)發(fā)現(xiàn)了這樣的規(guī)律,那么認(rèn)為人類(lèi)大腦也是在計(jì)算某些目標(biāo)函數(shù)的梯度、然后依據(jù)梯度更新神經(jīng)電信號(hào)傳播時(shí)候的強(qiáng)弱,就顯得容易接受多了。我們只需要弄明白這個(gè)過(guò)程是如何分解成一步步的,以及這個(gè)目標(biāo)函數(shù)是什么。
主持人:但我們對(duì)大腦的理解還沒(méi)有到那一步?我們還不理解這個(gè)改變權(quán)重的過(guò)程?
Hinton:這是一種理論。挺久以前人們認(rèn)為是有這個(gè)可能的,不過(guò)也總會(huì)有一些傳統(tǒng)的計(jì)算機(jī)科學(xué)家堅(jiān)持說(shuō)「聽(tīng)起來(lái)很美,但是你說(shuō)你有幾十億個(gè)隨機(jī)初始值的參數(shù),然后全部通過(guò)梯度下降去學(xué)習(xí),這是辦不到的,你必須在里面固定一些知識(shí)進(jìn)去。」現(xiàn)在我們能證明他們的觀(guān)點(diǎn)是錯(cuò)誤的,你只需要從隨機(jī)的參數(shù)開(kāi)始,然后學(xué)到一切。
主持人:我們?cè)偻卣挂稽c(diǎn)。假設(shè)我們根據(jù)我們認(rèn)為的大腦工作方式設(shè)計(jì)了模型,然后對(duì)它們做大規(guī)模測(cè)試,我們就很有可能了解到越來(lái)越多的關(guān)于大腦事實(shí)上如何運(yùn)轉(zhuǎn)的知識(shí)。會(huì)不會(huì)有一天到了某個(gè)地步,我們可以動(dòng)手改造自己的大腦,讓它們成為更高效、最高效的計(jì)算機(jī)器?
Hinton:如果我們真的能弄明白的話(huà),我們就可以把教育之類(lèi)的事情做得更好。我相信這是會(huì)發(fā)生的。如果你能弄明白自己的大腦中在發(fā)生什么,但是卻不能夠調(diào)節(jié)它、讓它更好地適應(yīng)你所在的環(huán)境的話(huà),這反倒是一件奇怪的事情。
主持人:我們能更好地理解夢(mèng)境嗎?
Hinton:我覺(jué)得能,我自己也對(duì)夢(mèng)境很感興趣,以至于我知道至少四種關(guān)于夢(mèng)境的理論。
主持人:給大家講講唄。
Hinton:第一種有個(gè)挺長(zhǎng)的故事。很久以前有個(gè)叫做 Hopfield 網(wǎng)絡(luò)的東西,它可以把記憶學(xué)習(xí)為局部吸引子。Hopfield 這個(gè)人發(fā)現(xiàn),如果你試著往里面塞太多的記憶的話(huà),它們就會(huì)混淆。這會(huì)讓兩個(gè)局部的吸引力子在中間某個(gè)位置合二為一。
有 Francis Crick 和 Graeme Mitchison 兩個(gè)人,他們說(shuō)可以做忘記(unlearn)來(lái)避開(kāi)虛假的局部極小值。那么我們就關(guān)閉網(wǎng)絡(luò)的輸入,先把神經(jīng)網(wǎng)絡(luò)設(shè)在一個(gè)隨機(jī)狀態(tài),然后等到它停止下來(lái)以后,我們會(huì)覺(jué)得得到的結(jié)果不好,然后調(diào)整一下網(wǎng)絡(luò)連接讓它不要停在那個(gè)狀態(tài)。這樣做過(guò)幾次之后,它就可以存儲(chǔ)更多的回憶。
然后就到我和 Terry Sejnowski,我們覺(jué)得,不僅僅有存儲(chǔ)回憶的神經(jīng)元,還有很多起其它作用的神經(jīng)元,我們能不能設(shè)計(jì)一個(gè)算法,讓其它的神經(jīng)元也幫助恢復(fù)回憶。后來(lái)我們就這樣開(kāi)發(fā)出了機(jī)器學(xué)習(xí)里的玻爾茲曼機(jī),它有一個(gè)非常有趣的性質(zhì):給它展示數(shù)據(jù),它就會(huì)在其它的單元附近持續(xù)轉(zhuǎn)悠,直到得到一個(gè)滿(mǎn)意的狀態(tài);然后一旦得到了,它就會(huì)根據(jù)兩個(gè)單元是否都激活來(lái)增加所有連接的權(quán)重。這里存在一個(gè)階段,你需要把它和輸入之間切割開(kāi)。你讓它轉(zhuǎn)悠轉(zhuǎn)悠來(lái)到一個(gè)它自己覺(jué)得舒服的狀態(tài),這時(shí)候你就會(huì)讓它找到所有成對(duì)活躍的神經(jīng)元然后減弱它們之間的連接。
在這兒我跟你解釋的算法好像是一個(gè)有趣的過(guò)程,但實(shí)際上算法是數(shù)學(xué)研究的結(jié)果,我們考慮的是「要如何改變這些連接的方式,才能讓帶有隱層的神經(jīng)網(wǎng)絡(luò)覺(jué)得數(shù)據(jù)很熟悉」。而且它還需要有另外一個(gè)階段,我們把它叫做負(fù)性狀態(tài),就是讓它在沒(méi)有輸入的狀態(tài)下運(yùn)行,然后對(duì)于它所處的任何狀態(tài)都會(huì)忘記。
我們?nèi)祟?lèi)每天都會(huì)睡很多個(gè)小時(shí)。如果你隨機(jī)地醒來(lái),你就能說(shuō)出你剛才在做什么夢(mèng),因?yàn)閴?mèng)的記憶在存儲(chǔ)在短期記憶里的。如果你一直睡夠了才醒來(lái),你就只能記得最后一個(gè)夢(mèng),更早的夢(mèng)就記不起來(lái)了。這其實(shí)是一件好事,免得把夢(mèng)和現(xiàn)實(shí)弄混了。那么為什么我們不能記得我們的夢(mèng)呢?Crick 的觀(guān)點(diǎn)是,做夢(mèng)的意義就在于把很多事情忘掉。就像是學(xué)習(xí)的反向操作。
而 Terry Sejnowski 和我展示了,其實(shí)這是一個(gè)玻爾茲曼機(jī)的最大似然學(xué)習(xí)過(guò)程。這也是做夢(mèng)的一種理論。
主持人:你有沒(méi)有讓哪個(gè)深度學(xué)習(xí)算法也像這樣做個(gè)夢(mèng)?學(xué)習(xí)某個(gè)圖像數(shù)據(jù)集,然后忘掉,再學(xué)習(xí),等等。
Hinton:有的。我們?cè)囘^(guò)機(jī)器學(xué)習(xí)算法。我們最早發(fā)現(xiàn)的能夠?qū)W會(huì)處理隱層神經(jīng)元的算法里就包括了玻爾茲曼機(jī),不過(guò)效率非常低。后來(lái)我發(fā)現(xiàn)了一種對(duì)它們做逼近的方法,要高效多了。這些其實(shí)都是讓深度學(xué)習(xí)重獲生機(jī)的契機(jī),也就是借助這些方法我能夠每次學(xué)一層特征檢測(cè)器。這也就是受限玻爾茲曼機(jī)的一種高效形式。它也可以做遺忘。不過(guò)它不需要睡眠,它只需要在看過(guò)每個(gè)數(shù)據(jù)點(diǎn)之后冥想一陣子。
主持人:第二種理論呢?
Hinton:第二種理論叫做清醒和睡眠算法(the Wake Sleep Algorithm),而且你會(huì)想要學(xué)習(xí)一個(gè)生成性的模型。這里的思路是,你有一個(gè)可以生成數(shù)據(jù)的模型,它有很多層特征檢測(cè)器,它可以從高層開(kāi)始逐步向下激活,一直激活到像素的那一層,然后你就得到了一張圖像。你也可以反過(guò)來(lái)做,就成了識(shí)別一張圖像。
這樣你的算法就會(huì)有兩個(gè)階段,在醒著的階段,數(shù)據(jù)進(jìn)來(lái),模型嘗試識(shí)別數(shù)據(jù);但這時(shí)候模型學(xué)習(xí)的目標(biāo)不是加強(qiáng)連接用于識(shí)別,而是加強(qiáng)連接用于生成。隨著數(shù)據(jù)進(jìn)來(lái),隱層的神經(jīng)元被激活,然后讓神經(jīng)元學(xué)習(xí)如何更好地重建數(shù)據(jù)。每一層都學(xué)習(xí)如何重建。但問(wèn)題是,這樣要如何學(xué)習(xí)前向連接呢?思路就是,如果你已經(jīng)知道了前向連接,你就可以學(xué)習(xí)反向連接,因?yàn)槟憧梢詫W(xué)習(xí)重建。
現(xiàn)在我們還發(fā)現(xiàn)它可以使用反向連接,你可以學(xué)習(xí)反向連接,因?yàn)槟憧梢灾苯訌淖钌蠈娱_(kāi)始激活然后生成數(shù)據(jù)。而且因?yàn)槟阍谏蓴?shù)據(jù),你就知道隱層神經(jīng)元的激活狀態(tài),你也就可以學(xué)習(xí)到前向連接來(lái)恢復(fù)這些狀態(tài)。這就是睡眠階段了。當(dāng)你關(guān)掉輸入的時(shí)候,你只是生成數(shù)據(jù),然后你嘗試重建那些生成了數(shù)據(jù)的隱層神經(jīng)元的狀態(tài)。另外,如果你知道了自頂向下的鏈接的話(huà),你就可以學(xué)習(xí)從下向上的連接;反過(guò)來(lái)也一樣。所以如果你從隨機(jī)連接開(kāi)始做,把兩件事交替進(jìn)行的話(huà),也是可行的。當(dāng)然了,為了讓它有好的效果,你需要對(duì)它做各種變化,但是確實(shí)是可行的。
主持人:emmm,我們還有 8 分鐘時(shí)間,你打算繼續(xù)談?wù)勂渌鼉煞N理論嗎?那樣的話(huà)我們就跳過(guò)最后幾個(gè)問(wèn)題。
Hinton:另兩個(gè)理論可能要花一個(gè)小時(shí)。
主持人:那我們就繼續(xù)往下問(wèn)吧。你現(xiàn)在在做哪方面的研究?在嘗試解決哪些問(wèn)題?
Hinton:最終我們都是要把以前沒(méi)做完的研究一直做完。我覺(jué)得我的研究里有一件東西是永遠(yuǎn)都結(jié)束不了的,那就是膠囊(capsules),它就是我心中那個(gè)通過(guò)重建進(jìn)行視覺(jué)感知的理論,也是把信息路由到正確的地方的理論。在標(biāo)準(zhǔn)的神經(jīng)網(wǎng)絡(luò)里,信息,也就是每層神經(jīng)元的活動(dòng),它的走向是自動(dòng)的,你沒(méi)法決定要讓信息去哪里。膠囊的想法就是要決定把信息發(fā)送到哪里。目前來(lái)說(shuō),從我開(kāi)始研究膠囊以后,有一些別的很聰明的谷歌同事創(chuàng)造了 Transformer 模型,做的是同樣的事情。它們都是決定把信息送到哪里,這是很大的一個(gè)進(jìn)步。
還有一件啟發(fā)了我做膠囊的事情是坐標(biāo)框架。當(dāng)人類(lèi)做視覺(jué)感知的時(shí)候,我們都會(huì)使用坐標(biāo)框架。如果人類(lèi)在一個(gè)事物上假設(shè)了錯(cuò)誤的坐標(biāo)框架,他就會(huì)認(rèn)不出來(lái)那個(gè)物體。
你做一個(gè)小任務(wù)感受一下:想象一個(gè)正四面體,它的底面是三角形,然后有三個(gè)三角形的側(cè)面,四個(gè)面都是全等三角形。很容易想象對(duì)吧?然后想象用一個(gè)平面切割它,要得到一個(gè)正方形的截面。切割簡(jiǎn)單,但是得到正方形的截面就難了。每次你嘗試截的時(shí)候,你都會(huì)得到一個(gè)三角形的截面。
似乎很難看到這個(gè)正方形截面要怎么截出來(lái)。那么我換個(gè)方式來(lái)描述這同一個(gè)物體。我用你的筆來(lái)筆畫(huà)一下,上面是一只筆,下面也有一只筆,想象它們?cè)诳臻g中垂直,然后把上面的筆上的所有的點(diǎn)連接到下面的筆的所有的點(diǎn)。這樣你就得到了一個(gè)四面體?,F(xiàn)在我們看一下這個(gè)四面體和坐標(biāo)框架的關(guān)系,上面的邊和一條坐標(biāo)軸平行,下面的邊和另一條坐標(biāo)軸平行。那么當(dāng)你這樣來(lái)看它的時(shí)候,就很容易看到如何截出來(lái)一個(gè)矩形,也就能找到在中間某個(gè)位置可以得到一個(gè)正方形。但是只有我們?cè)谶@個(gè)坐標(biāo)框架下思考才能看得出來(lái)。
對(duì)于人類(lèi)來(lái)說(shuō)這一點(diǎn)是很顯然的,但其實(shí)對(duì)感知這整件事來(lái)說(shuō),坐標(biāo)框架都很重要。
主持人:在模型中增加坐標(biāo)框架,和你在 90 年代做的想要把規(guī)則集成到模型里結(jié)果發(fā)現(xiàn)是個(gè)錯(cuò)誤,有什么區(qū)別嗎?不是說(shuō)要讓系統(tǒng)是無(wú)監(jiān)督的嗎?
Hinton:沒(méi)錯(cuò),這就是同一個(gè)錯(cuò)誤。正因?yàn)槲液艽_定這是個(gè)糟糕的錯(cuò)誤,所以我只能加一點(diǎn)點(diǎn)東西,有點(diǎn)不懂不癢。這實(shí)際上也讓我自己的處境有點(diǎn)尷尬。
主持人:你目前的研究是專(zhuān)門(mén)針對(duì)視覺(jué)識(shí)別的,還是說(shuō)先想到了坐標(biāo)框架的事情,然后再試著把它做成更通用的樣子?
Hinton:它也可以用在其他任務(wù)里,不過(guò)我自己尤其對(duì)視覺(jué)識(shí)別里的應(yīng)用感興趣。
主持人:深度學(xué)習(xí)曾經(jīng)很獨(dú)特,如今似乎很大程度上就是 AI 的近義詞了;同時(shí) AI 也成了一個(gè)市場(chǎng)營(yíng)銷(xiāo)意味很濃的詞,隨便用了一個(gè)什么機(jī)器什么算法的人也說(shuō)自己用了 AI。作為發(fā)展了這些技術(shù)、幫助帶來(lái)了這種現(xiàn)狀的人,你的感受如何?
Hinton:當(dāng)年 AI 只是指基于邏輯的、操作符號(hào)的計(jì)算系統(tǒng)的時(shí)候我要快樂(lè)得多;當(dāng)時(shí)的神經(jīng)網(wǎng)絡(luò)也是說(shuō)你可以用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)?,F(xiàn)在有很多企業(yè)不喜歡那些,只是在乎錢(qián)。我就是在這樣的環(huán)境里長(zhǎng)大的。如今我甚至看到有一些曾經(jīng)連續(xù)很多年說(shuō)神經(jīng)網(wǎng)絡(luò)是垃圾的人現(xiàn)在開(kāi)始說(shuō)「我是做 AI 的教授,所以請(qǐng)給我批資金」。真的很煩人。
主持人:你的研究領(lǐng)域起飛了,有點(diǎn)吞并了其它領(lǐng)域的味道,也就讓他們有理由要錢(qián)了,有點(diǎn)讓人沮喪。
Hinton:不過(guò)也不是完全不公平吧,有很多人確實(shí)調(diào)整了思路。
主持人:最后一個(gè)問(wèn)題,你曾經(jīng)在一次采訪(fǎng)中說(shuō)過(guò),AI 有可能會(huì)像是黑洞,如果你構(gòu)建它的方式不正確,它可能會(huì)反過(guò)來(lái)吃掉你。那么你在研究中是如何避免把它得有傷害、甚至做成黑洞的呢?
Hinton:我永遠(yuǎn)都不會(huì)故意做會(huì)帶來(lái)傷害的 AI。當(dāng)然了,如果你設(shè)計(jì)出了一個(gè)擅長(zhǎng)吃別人的腦袋的黑洞,這就是挺不好的一件事,我是不會(huì)做這樣的研究的。
主持人:好的。今天聊得很開(kāi)心,謝謝你說(shuō)了這么多。也許明年我們繼續(xù)談?wù)勱P(guān)于夢(mèng)的第三個(gè)和第四個(gè)理論。
完整視頻見(jiàn) https://www.youtube.com/watch?v=UTfQwTuri8Y 。雷鋒網(wǎng) AI 科技評(píng)論編譯。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。