張巨巖等
Yoshua Bengio,計算機(jī)科學(xué)家,畢業(yè)于加拿大麥吉爾大學(xué),在MIT和AT&T貝爾實驗室做過博士后研究員,自1993年之后在蒙特利爾大學(xué)任教,與 Yann LeCun(燕樂純)、 Geoffrey Hinton并稱為“深度學(xué)習(xí)三巨頭”,也是神經(jīng)網(wǎng)絡(luò)復(fù)興的主要的三個發(fā)起人之一。
他對機(jī)器學(xué)習(xí)愛好者提問的各種解答讓我們能深入了解深度學(xué)習(xí)及AI(人工智能)未來發(fā)展趨勢。
Q:理解大腦對于理解深度學(xué)習(xí)來說有多重要?反過來呢?
A:就像許多早期從事神經(jīng)網(wǎng)絡(luò)研究的人(包括我的同事Geoff Hinton和Yann LeCun)一樣,我相信,當(dāng)我們思考我們對于大腦已經(jīng)知道了什么的時候,我們會有不錯的機(jī)會來從中學(xué)習(xí)一些對于搭建AI來說有用的東西,并且這一點隨著神經(jīng)科學(xué)家們收集了越來越多的大腦數(shù)據(jù)而變得越來越確定。
這個信念與相反的想法也是有聯(lián)系的——為了真正理解為何大腦讓我們擁有智能,我們需要對于大腦中發(fā)生的事構(gòu)建一個“機(jī)器學(xué)習(xí)”的解釋,也就是說,搭建一個計算的、數(shù)學(xué)的模型來解釋我們的大腦是怎樣學(xué)習(xí)如此復(fù)雜的東西、又怎樣表現(xiàn)出如此成功的信度分配的。
為了驗證這個解釋,我們應(yīng)該能夠運行一種機(jī)器學(xué)習(xí)算法,它擁有從神經(jīng)生物學(xué)中提取出來的基本原則,但它沒有必要理解這些原則(但是可能有必要將這些原則在它的“大腦”中實現(xiàn),或是為它提供一些我們與生俱來的知識)。就我所知而言,我們還沒有明白,腦內(nèi)神經(jīng)元突觸應(yīng)該怎樣產(chǎn)生變化,才能讓作為一個整體的大腦對于世界有更好的理解、做出更好的行為。這是這些日子經(jīng)常在我腦海中徘徊不去的話題之一。
Q:有沒有深度學(xué)習(xí)永遠(yuǎn)不能學(xué)會的東西?
A:這取決于你說的深度學(xué)習(xí)指什么。如果你指的是現(xiàn)在我們知道的算法,那么答案很有可能是“是的”。但是,毫無疑問,隨著這個領(lǐng)域的研究不斷探索,深度學(xué)習(xí)還在繼續(xù)演化,很明顯深度學(xué)習(xí)的應(yīng)用范圍有不斷擴(kuò)大的趨勢。
神經(jīng)網(wǎng)絡(luò)曾經(jīng)在模式識別問題上非常成功,音素識別和物體識別都是很好的例子。然而,我們可以看到越來越多神經(jīng)網(wǎng)絡(luò)方面的工作正在靠近傳統(tǒng)的AI領(lǐng)域,比如推理、知識表征、以及操作符號數(shù)據(jù)。我相信,這些近期的工作只不過是冰山一角,當(dāng)然我的手里并沒有水晶球來做預(yù)言。如果我們未來對于深度學(xué)習(xí)的定義中,包括了以受神經(jīng)啟發(fā)的算法來復(fù)制所有人類認(rèn)知能力的能力,那么“這個領(lǐng)域中沒有深度學(xué)習(xí)學(xué)不會的事情”的假設(shè)就是相當(dāng)合理的。
不過,到時候,可能會有一些人類永遠(yuǎn)不能學(xué)會的任務(wù),對于這些任務(wù),很容易得出結(jié)論:沒有機(jī)器能完美地完成這些任務(wù),因為用來訓(xùn)練的樣本數(shù)量太局限了。
Q:深度學(xué)習(xí)研究將去往何方?
A:研究從定義上來說就是在不斷探索的,這意味著首先我們不知道什么能起效,其次我們需要探索許多途徑,我們需要整個科學(xué)社區(qū)在研究方向上有很大的差異性。所以我只能告訴你我目前的直覺,我在哪些地方看到吸引了我直覺的重要挑戰(zhàn)和機(jī)遇。下面是其中的一些:
(1)非監(jiān)督式學(xué)習(xí)是關(guān)鍵,我們現(xiàn)在的做法還并不正確(我和其他人在這一方面寫過、說過很多觀點試圖糾正)。
(2)深度學(xué)習(xí)研究可能會繼續(xù)擴(kuò)張,從原本的傳統(tǒng)模式識別任務(wù)擴(kuò)張到AI的全部任務(wù),包括符號操作、記憶、規(guī)劃和推理。這對于完整地理解自然語言和與人對話(即通過圖靈測試)來說將會非常重要。相似的是,我們見證著深度學(xué)習(xí)正在延伸到強(qiáng)化學(xué)習(xí)、控制以及機(jī)器人學(xué)的領(lǐng)域,而這只不過是一個開始。
(3)對于AI,我們可能仍然需要再獲得許多知識,更好地理解大腦并嘗試找到大腦運作的機(jī)器學(xué)習(xí)解釋。
(4)最大似然可以加以改進(jìn),當(dāng)在復(fù)雜的高維度領(lǐng)域中學(xué)習(xí)時(非監(jiān)督式學(xué)習(xí)和結(jié)構(gòu)化輸出情景中興起的情況),它不一定是最佳的目標(biāo)。
(5)基于深度學(xué)習(xí)的AI(不只是消費者產(chǎn)品)將會很大地受益于計算力的大幅提高,這可能意味著出現(xiàn)專門的硬件;這是因為AI需要大量關(guān)于世界的知識(然后對它們進(jìn)行推理),這就需要用非常大量的數(shù)據(jù)來訓(xùn)練大型模型,這一切都需要比我們現(xiàn)在使用的高得多的計算力。
Q:為什么非監(jiān)督學(xué)習(xí)很重要?深度學(xué)習(xí)在其中起什么作用?
A:深度學(xué)習(xí)其實是關(guān)于學(xué)習(xí)表征方式,這意味著學(xué)習(xí)有益于捕捉我們所關(guān)注的統(tǒng)計相關(guān)性的中間概念、特征或隱性變量。這些相關(guān)性來自于從輸入變量到輸出變量的監(jiān)督學(xué)習(xí)過程,或在變量的任何子集之間的非監(jiān)督學(xué)習(xí)過程。通常來說,監(jiān)督學(xué)習(xí)用于教電腦學(xué)會對解決特定任務(wù)很重要的中間概念(例如類別)。然而,我們看到監(jiān)督式深層網(wǎng)絡(luò)在它們的網(wǎng)絡(luò)層中可以發(fā)掘出有意義的中間概念。非監(jiān)督學(xué)習(xí)很相似,不同在于我們讓模型捕捉了所有變量之間可能的相關(guān)性,不區(qū)別輸入和輸出。用監(jiān)督學(xué)習(xí)來完成AI可能需要讓電腦從所有與這些概念有關(guān)的數(shù)據(jù)集中學(xué)會所有對我們很重要的概念。這不是人類的學(xué)習(xí)方式:是的,由于語言的存在,我們得到了一些闡明新概念的示例,但是我們觀察到的很多東西并沒有明確的標(biāo)記,至少一開始是這樣的。
孩子們并沒有讓大人告訴他們每幅圖的每個像素是什么,或者每幅圖中的物體是什么,什么是語法結(jié)果,每句話中的每個單詞的確切意思是什么。我們從簡單的觀察中提取出大部分信息(可能通過“動作—感知”循環(huán)),而這就是非監(jiān)督學(xué)習(xí)的基本原理。我們希望深度非監(jiān)督學(xué)習(xí)將能夠發(fā)現(xiàn)(可能需要很少的標(biāo)記數(shù)據(jù)的幫助)所有的概念和事情發(fā)生的起因(一些被直接標(biāo)記好,一些沒有標(biāo)記),進(jìn)而解釋我們看到的現(xiàn)象。所以我相信這個方向上的進(jìn)步對實現(xiàn)AI有本質(zhì)性推動作用。
如果你仔細(xì)想想,科學(xué)家正在做非監(jiān)督學(xué)習(xí):觀察世界,想出解釋某種現(xiàn)象的模型,收集更多觀察數(shù)據(jù)(雖然是有目的的)來測試它們,接著不斷地改進(jìn)這種解釋世界運行原理的模型。
Q:在研究預(yù)料之外的實驗結(jié)果時,比如你覺得某個想法應(yīng)該會有效,結(jié)果在實驗里卻沒有效果,你會用到什么技術(shù)?
A:通常來說,這要么是一個bug,要么就是更有趣的情況:它證明了你腦海中的模型應(yīng)該改一改了!你需要變得善于尋找bug(這需要練習(xí)),在機(jī)器學(xué)習(xí)中這并不是一件容易的事,因為許多bug仍然會允許其繼續(xù)學(xué)習(xí),只不過效果不那么好了。但無論如何,當(dāng)實驗結(jié)果與你的期望不符時,不要無視它!這是一個你應(yīng)該為之熱切期盼的機(jī)會。
有時候你腦海中的模型是錯誤的,但是別人可能不覺得你的結(jié)果讓他們驚訝,于是你將需要通過交流(可能是寫一篇論文,或者是與其他研究人員探討)來找出錯誤。
我最好的調(diào)試工具是我腦海中的模擬系統(tǒng)。讓模型在你的腦海中運轉(zhuǎn),越詳細(xì)越好,然后試著想象有什么事可能發(fā)生。
Q:深度學(xué)習(xí)之后機(jī)器學(xué)習(xí)中的“下一個”大事會是什么?
A:第一,我根本沒有水晶球。第二,據(jù)我所知,當(dāng)我們實現(xiàn)了人類級別的AI后,深度學(xué)習(xí)的使命就結(jié)束了,而我很難預(yù)見這之后會發(fā)生什么。深度學(xué)習(xí)為神經(jīng)網(wǎng)絡(luò)帶來了一些想法。隨著時間推移,其他概念也會加入其中,從而一點點向著實現(xiàn)AI方向努力。
我真的認(rèn)為有些想法會歷久彌新。這像是在問“我們研究了過擬合、欠擬合和容量之后,機(jī)器學(xué)習(xí)的下一個大事件是什么?”(過擬合、欠擬合和容量在1980年代后期開始盛行)這些想法永遠(yuǎn)不會過時,因為它們非常有用。顯然這類想法,如學(xué)習(xí)復(fù)合函數(shù)(深度)的提出(和重要性),會歷久彌新。但單憑其自身無法保證這一點,我們還有很多工作要完成。
Q:一個人怎樣才能開始機(jī)器學(xué)習(xí)?對于一個熟悉機(jī)器學(xué)習(xí)基本概念的人來說,開始接觸深度學(xué)習(xí)時有什么不錯的資源?
A:首先你需要在數(shù)學(xué)和計算機(jī)科學(xué)方面有適當(dāng)?shù)幕A(chǔ)。深度學(xué)習(xí)方面,你可以看看MIT出版社的《深度學(xué)習(xí)》(現(xiàn)在可以在線閱讀,最終MIT出版社會將它印刷成冊)第1部分,重溫一下數(shù)學(xué)和計算機(jī)科學(xué)的知識、或是看一下數(shù)學(xué)和計算機(jī)科學(xué)中哪些領(lǐng)域與深度學(xué)習(xí)最有關(guān)系。然后你需要了解一些機(jī)器學(xué)習(xí)方面的知識(有一些不錯的書,比如Chris Bishop寫的和Kevin Murphy寫的,視頻有吳恩達(dá)的coursera課程和Hugo Larochelle的神經(jīng)網(wǎng)絡(luò)授課視頻,你也可以從《深度學(xué)習(xí)》這本書的第5章中獲得許多基本知識的總結(jié))。
然后你需要開始練習(xí),也就是說,親手編寫一些學(xué)習(xí)算法、用數(shù)據(jù)來訓(xùn)練它們——比如說,嘗試參加一些Kaggle競賽。
同時,繼續(xù)保持閱讀。如果你對于深度學(xué)習(xí)感興趣,我的書《深度學(xué)習(xí)》中第3章將會為你使用大多數(shù)常見的算法打下基礎(chǔ)。到那時,你應(yīng)該有了足夠的背景知識、能夠以穩(wěn)定的頻率來閱讀勾起你興趣的論文了。另外《深度學(xué)習(xí)》可以在網(wǎng)站上(http://www.deeplearningbook.org/)閱讀所有的草稿了。
Q:你對于進(jìn)入機(jī)器學(xué)習(xí)領(lǐng)域的年輕研究者們有什么建議?
A:確認(rèn)你在數(shù)學(xué)和計算機(jī)科學(xué)領(lǐng)域(包括實際的部分,也就是編程)有扎實的背景。讀書和讀(大量的)論文,但這還不夠:你需要培養(yǎng)出你的直覺,這可以通過(1)自己編寫很多學(xué)習(xí)算法,如嘗試重現(xiàn)文獻(xiàn)中的方法;(2)例如參加比賽或者在重現(xiàn)文獻(xiàn)中方法后進(jìn)一步改善結(jié)果,從而學(xué)會去調(diào)試超參數(shù)(hyper-parameters)和探索(框架、目的函數(shù)等等)變異性。然后找到合作者,你可以與他們一起對想法進(jìn)行頭腦風(fēng)暴,并與他們一起分擔(dān)探索和測試新想法的工作量。當(dāng)然能與一個已有的團(tuán)隊一起工作非常理想,或者如果你是一位大學(xué)教師的話,你可以招募你自己的學(xué)生,和他們一起工作。
責(zé)任編輯:方丹敏