吳恩達專訪LeCun:即便在神經網路的寒冬,我也堅信它終會重回公眾視野
時隔半年,終於等來了 Yann LeCun 回憶殺視頻。
去年 8 月時,隨著 deeplearning.ai 深度學習教學網站和系列課程的發布,吳恩達也在「the Heros of Deep Learning」系列視頻中採訪了 7 位深度學習界重要人物,其中包括「深度學習教父」Geoffery Hinton、「GANs 之父」Ian Goodfellow、「深度學習三駕馬車」中另一位 Yoshua Bengio 、UC 伯克利教授 Pieter Abbeel 、百度研究院院長林元慶 、「深度學習網紅」Andrej Karpathy、蘋果機器學習研發總監 Ruslan Salakhutdinov。我們也聽譯了採訪林元慶和 Ian Goodfellow 的視頻。
不過令人奇怪的是,當時的這組採訪對象中居然缺了絕對不可忽視的 Yann LeCun。現在吳恩達終於為大家補上了這個遺憾,和 Yann LeCun 一起回憶了曾經和深度學習一起經歷的風風雨雨。AI 科技評論把採訪聽譯如下。
吳恩達:Yann 你好,很久以來你都是深度學習領域的領軍人物,謝謝你參與這次採訪。
Yann LeCun:謝謝你採訪我。
吳恩達:你研究神經網路已經有很長的時間了,我想聽聽你的個人經歷,你是如何開始研究 AI 、如何開始研究神經網路的?
Yann LeCun:我對「智慧」這個總體概念一直都有很深的興趣。當我還小的時候就想知道人類的智慧是怎麼回事、人類是如何進化的,那時候我還在法國,大概還在讀中學。我對科技啊、太空啊這種東西都很感興趣,我最喜歡的電影是《2001 太空漫遊》,裡面有有智慧的機器、有太空旅行等等;還有人類進化,這些都是我很喜歡的東西。「有智慧的機器」這個概念深深吸引著我。
後來我在大學學習了電子工程,大概就在工程學院的第二年,我遇到了這麼一本書,它其實是一本講哲學的書,是關於 MIT 的計算語言學家 Noam Chomsky 和瑞士的兒童發展心理學家 Jean Piaget 之間的辯論。他們辯論的根本觀點是語言是天生的還是後天發展的。Noam Chomsky 的論點是語言里有很多內在結構,Jean Piaget 認為這些結構都是可以學習的,等等。
站在 Jean Piaget 的觀點這一邊的還有一篇列印稿,收集了很多支持這個觀點的人的言論來幫助討論,其中包括 MIT 的 Seymour Papert,Perceptron(感知機)模型就是他研究出來的,這也是世界上第一個可以運行的機器。我以前從來沒有聽說過 Perceptron,然後讀了他的論文以後發現,這種機器是可以運行的,聽起來棒極了。然後我就去了好幾個大學的圖書館,想要找到所以和 Perceptron 有關的資料,結果卻發現即便同樣是 Papert 合著的書,1950 年代之前的書會談到它,但 1960 年之後的書就再也沒有提到的了。
我和學校里的一些數學教授一起做了一些項目,基本上就像神經網路那樣的,但是我找不到任何做過神經網路的人可以討論,因為這個領域大概就是在這個時候,1980 年前後消失了,沒有人研究這個。我們當時做實驗都是編寫、運行一些模擬軟體,讀一些神經科學的論文,類似這種。
當我讀完工程學位以後,我去學習了電子晶元設計,半導體設計,這是一些完全不同的事情。當我學完以後,我特別想做這方面的研究,因為當時就有重要的問題,如何訓練多層神經網路。在 1960 年代的文獻里明顯可以感覺到這是一個重要問題,而且也並沒有被解決。比如對於層級這種概念,我讀了福島邦彥關於新認知機(Neocognitron)的文章,裡面有層級化的結構,和我們今天稱作卷積網路的結構很像,只不過沒有反向傳播這樣的學習演算法。
我還遇到了法國一個小實驗室里的一群人,他們感興趣的東西那時候叫做自動機網路(Automata Networks)很感興趣,他們還給我看了幾篇關於霍普菲爾德網路(Hopfield Networks)的論文。這些網路現在已經不流行了,但是它是第一次把存儲和神經網路聯繫到了一起。這也說明了我們在 80 年代早期就可以重新喚起部分研究者對神經網路的興趣,多數是凝聚態物理學家,還有一些心理學家。其實即便到了現在,工程師和計算機科學家討論神經網路都不是一件完全被接受的事情。
他們還給我看了一篇論文,那時候才剛剛作為預印本發布,標題是「最優感知機推理」(Optimal Perceptual Inference)。這是第一篇關於玻爾茲曼機的論文,作者是 Geoffrey Hinton 和 Terrence Sejnowski。其中談到了隱層神經元、如何學習有多個層的神經網路,這要比線性分類器強大多了。我當時就覺得,我一定要見見這群人,因為他們已經找到了正確的問題。
幾年以後當我讀博士的時候,我在 La Douche 參加了一個 workshop。這個 workshop 是我共事的人組織的,Terrence 是那天的演講者之一,也就是這次我跟他遇到了。在 1985 年 La Douche 的這個 workshop 上我不僅遇到了 Terrence,早期研究神經網路的很多人都在那裡,還有很多研究理論神經科學的。那個 workshop 非常棒。我也遇到了幾個貝爾實驗室的人,就是這群人最後把我招進了貝爾實驗室,不過這也是我博士畢業幾年之後的事情了。
當時我就和 Terrence 聊起自己在做某種形式的反向傳播,這時候任何關於反向傳播的論文都還沒有發表, Terrence 演講里也談到了反向傳播。Rumelhart、Hinton 和 Williams 的關於反向傳播的論文這時候也還沒發表,不過他也和 Hinton 是朋友,信息一直在溝通,所以他就已經在研究了,想辦法讓它成功。不過這些都不是他當時就告訴我的。他回到了美國,然後告訴 Hinton 說在法國也有個小孩在和我們研究一樣的東西。(笑)
過了幾個月,6 月的時候另一個別的會在法國開,Hinton 是會上的演講者,他講的內容是玻爾茲曼機,但他肯定在寫反向傳播那篇論文。他做完演講之後,周圍圍了好幾十個人想要跟他說話,然後他跟會議組織者說的第一句話就是,有個叫 Yann LeCun 的你認識嗎?因為他在會議論文集里看到我的論文了,論文是用法語寫的,但是他能看懂一些,能看懂裡面的公式,能看懂這就是反向傳播。我們就一起吃了午飯,從此就成朋友了。
吳恩達:也就是說你們基本上是幾組人同時各自獨立地創造了反向傳播。
Yann LeCun:對。我們都意識到了鏈式規則,也就是做最優控制的人在他們的領域裡叫 joint state method 的東西,本質思想就是反向傳播。 它的實質就是多階段的梯度下降。這個概念在很多不同的語境里都前後出現過很多次,但我覺得讓它變得熱門的就是 Rumelhart、Hinton 和 Williams 的這篇論文。
吳恩達:這之後過了幾年,你來到了 AT&T 的貝爾實驗室,在這裡你發明了很多東西,其中就包括 LeNet,我的課程里也有講到。我還記得我在 AT&T 的貝爾實驗室做暑期實習生的時候都還聽他們談起你的研究。跟我們詳細講講你在 AT&T 研發 LeNet 的經歷吧。
Yann LeCun:其實我在多倫多大學跟著 Hinton 做博士後的時候就已經開始研究卷積網路了,我寫了代碼,做了最早的實驗。當時還沒有 MNIST 這種東西,所以我就用滑鼠畫了一批字元作為訓練數據集,用的也是當時最好的個人電腦;畫了一些數字,然後做了數據擴增增多了一些樣本以後,就用它做了測試。我們當時對比測試了全連接卷積網路、局部連接卷積網路、沒有共享權值和有共享權值的網路,這也就是最早的卷積網路的樣子。實驗結果挺不錯的,表明了如果你有一個很小的數據集就可以得到(比以往的方法)更好的表現,藉助卷積網路的結構也不會過度訓練。
當我 1988 年 10 月去了貝爾實驗室的時候,我做的第一件是就是擴大網路規模,因為那時候的電腦也更快了。就在我去貝爾實驗室的幾個月前,我當時的 boss、後來也做了貝爾實驗室的主管的 Larry Jackel 說,在你來之前要給你買一台新電腦,你想要什麼樣的。我說多倫多大學有一台 Sun 4,很厲害,如果貝爾實驗室也能有一台就好了。所以他們就買了一台,專門買給我用的。要知道,在多倫多大學的時候一台 Sun 4 是整個學院用的,在這裡一台就我一個人用!Larry 說,在貝爾實驗室沒有誰是能靠省錢省出名的。這真是棒極了。
我去的時候他們研究字母識別已經研究了一陣子了,他們有一個非常大的數據集叫做 USPS ,裡面有 500 0 個訓練樣本。(笑)所以我馬上就拿這個數據集訓練了卷積網路,也就是當年的第一代 LeNet,得到了非常好的結果,比當時其他在這個數據集上試過的方法都要好。我們有預感這可能是某件更大的事的開始,而這時候我加入貝爾實驗室也只有三個月。
在當時第一版的卷積網路中,我們用了條帶(stride)卷積,沒有用分開的子採樣和池化,所以每個卷積操作都是直接做子採樣。之所以這樣做,就是因為如果在每個位置都做卷積的話計算量太高了,我們承擔不了。到了第二版的時候有了分別的卷積、池化層以及子採樣。這也就是大家稱作 LeNet 1 的網路了。我們發表了好幾篇關於這個的論文,包括在 NIPS 上。
關於這項研究有件有意思的事情,當時我在 NIPS 上演講的時候 Hinton 就坐在下面聽。我講完以後就坐在他旁邊,他說,你的演講里透露出了一條信息,就是如果你做了所有合理的事情,那它就能真的成功。(笑)
吳恩達:這之後沒過多久歷史就被它改寫了,卷積網路的概念很快在識別支票之類的事情上流行了起來。
Yann LeCun:是的,不過這只是在 AT&T 內部,AT&T 之外沒有怎麼用這個。其實我一直不是很明白為什麼,到了 80 年代後期的時候,有電子郵件和 FTP,但還沒有網際網路,那時候世界上就沒有哪兩個實驗室用的軟硬體平台是一樣的,有的人用的是 Sun 的工作站,有的人用的別的牌子的,也有人用個人電腦。也沒有 Python、Matlab 等等這些東西,每個人都是寫自己的代碼。我和我的學生 Leon Bottou 花了一年半時間才寫出一個神經網路模擬器。而且因為那時候沒有 Python、Matlab,你還需要自己寫解釋器才能控制它,所以我們又寫了 Lisp 的解釋器。所以整個 LeNet 都是用 Lisp 寫的,搭配一個數值化的後端,和我們現 Python、PyTorch、TensorFlow 等等里非常熟悉的可以互相連接的塊狀結構、有共享結構的網路架構已經很像了。
然後我們就開發了一批應用,我們和一群工程師一起合作,他們很聰明,裡面有的人是理論物理學家但是來了貝爾實驗室做工程師,Chris Burgess 就是其中一位,後來在微軟研究院也做出了很多成果。我們和他們一起,把理論成果變成實際產品。我們開發了字元識別系統,把卷積網路和類似我們現在叫做 CRF 的東西結合在一起,它能識別一連串的字元,而不只是單個單個的字元。
吳恩達:在 LeNet 論文里你們完善了神經網路,然後又完善了自動機,然後把兩者結合了起來。
Yann LeCun:對的,論文的前一半講的是卷積神經網路,很多人都喜歡的是這一部分;後一半就很少有人讀了,它講的是序列級別的辨識學習和結構預測,而且不需要正則化,實際上和 CRF 很像。PC 的 CRF 再過幾年也出現了。
當時我們做的很成功,唯一的一點就是,剛才提到的工程師做的是整個系統的工程,還有一個產品小組在另一個地點工作,他們屬於 AT&T 拆分後的公司 NCR,他們做大型的 ATM 機,也做支票識別系統,他們算是我們的客戶吧,用我們的支票識別技術,然後部署在銀行。系統部署那天我們實驗室的人去了一家很好的餐廳慶祝,就在這時候 AT&T 宣布拆分。那時候是 1995 年,AT&T 拆分成了三個公司,AT&T、朗訊和 NCR。工程團隊分到了朗訊,產品團隊分到了 NCR。很讓人難過的是,我們當時給卷積網路申請了專利,好在現在專利已經在 2007 年過期了(笑),但那時候 AT&T 的律師們有無窮的智慧,專利當時分給了 NCR,而 NCR 的人連一個知道卷積網路是什麼的都沒有。所以專利就這樣握在了一群根本不知道自己拿著的是什麼的人手裡。我們則在另一個公司里,沒法繼續開發這個技術;工程團隊也在另一個公司。這事提起來還是有點鬱悶的。
吳恩達:在你早期的、卷積網路起飛之前的工作之外,你也一直在堅持研究神經網路,即便是在神經網路的冬天。那時候的感覺如何?
Yann LeCun:可以說我堅持了,也可以說我某種程度上沒堅持。我一直堅信這些方法總有一天會回到大家的視野中,大家會學會如何用它們,解決一些實際問題。我一直有這個信念。但是到了 1995 年 AT&T 拆分以後,我們在字元識別方面的研究成果也跟著失散了。我也成為了實驗室主管,需要考慮要研究什麼問題。這時候還是網際網路剛剛萌發的時候,我有個想法就是,網際網路的出現帶來的一個問題就是如何把我們印在紙上的各種知識搬到數字世界裡來。我就帶頭做了 DjVu 這個項目,壓縮掃描的文檔,這樣方便它們在網路上分享。做這個項目的時候我們有很多樂趣,也獲得了一定的成功,雖然後來 AT&T 並不知道應該怎麼處理它。
吳恩達:我也還記得這個項目,方便在網上查看論文。
Yann LeCun:對的,就是這樣的。我們把 NIPS 的所有收錄論文都掃描出來放在了網上,也算是延時了它的效果。高解析度的文章經過我們壓縮以後只有幾百 KB。
吳恩達:你充滿自信的早期研究成果現在已經基本佔據了整個計算機視覺領域,而且也開始對其它的領域產生巨大的影響。你當時預見到了這樣的發展嗎?
Yann LeCun:(笑)我先說說我一開始的預想的是怎麼樣的。一開始我就相信這是可行的,雖然它需要運算很快的計算機和很多數據,但我一直相信這是一種正確的做法。當時我還在貝爾實驗室的時候就覺得,隨著計算機變得越來越強大,沿著這個方向做下去可以做出一連串的成果。我們在貝爾實驗室甚至設計了專門用來運行卷積網路的晶元,有兩種不同的晶元可以非常高效地運行卷積網路。我們覺得這是一個很好的開端,整個領域對卷積網路的興趣也會越來越濃厚,不斷做出新的進展。但是實際上因為 90 年代中期的時候根本沒人對神經網路感興趣了,所以這些設想都沒實現,1995 年到 2002 年的這六七年算是一段非常黑暗的時光,沒有人研究這個。
其實也有一點點研究,微軟在 2000 年早期的時候用卷積網路識別中文字元。在法國也有人做面部檢測這樣的任務,但規模都很小。而且我最近才發現,也有幾個小組想出了本質上和卷積網路非常相似的東西,用來做醫學影像分析,但是他們並沒有機會像我們這樣發表論文,都是直接用在了商業化系統裡面,沒有發什麼文章。在我們的第一篇卷積網路論文發表以後他們也知道了這件事,發現差不多就是跟我們同時做著類似的研發。所以其實有很多人都有類似的想法,各自分別在做。
接下來我是真的對大家產生興趣的速度感到驚訝,就從 2012 的 ImageNet 開始。2012 年底的時候,在法國召開的 ECCV 上有這麼一個很有意思的活動,是關於 ImageNet 的 workshop,大家都已經聽說了 Hinton 團隊以及 Alex Krizhevsky 以很大優勢贏得了比賽,所以都在期待 Alex Krizhevsky 的演講,而這時候計算機視覺領域的大多數人都還沒聽說過卷積網路是什麼。實際上聽過的那些人也是聽我在 CVPR 2000 上講的,但是並沒有引起大多數人的注意。做了很長時間研究的人會知道,但是年輕一些的就沒聽說過了。
到了 Alex Krizhevsky 講的時候,他根本沒有解釋卷積網路是什麼,因為他是研究機器學習出身的,默認了所有人都知道卷積網路。然後他就直接講,這裡是個全連接層,我們是怎麼怎麼傳輸數據的,然後得到了這樣的結果。現場聽的人里有很多都很驚訝,大家的觀念也以肉眼可見的速度在改變。
吳恩達:你覺得這就是卷積網路改寫了計算機視覺領域的標誌性時刻?
Yann LeCun:沒錯,就是這時候發生的。
吳恩達:現在你不僅保留著紐約大學(NYU)的教職,而且也是 Facebook 人工智慧實驗室(FAIR)的負責人(AI 科技評論註:今年 1 月 LeCun 已把負責人職位轉交給 Jér?mePesenti,同時升任 Facebook 首席人工智慧科學家,專註於學術/技術研究。)我聽說你對如何在企業做研究的觀點很獨特,可以給我們講講嗎?
Yann LeCun:過去 4 年裡我在 Facebook 享受到的一件很美妙的事情就是,我有很大的自由可以按照我自己覺得合適的方式來構建 FAIR。這是 Facebook 的第一個研究機構,而 Facebook 是一個以工程為中心的企業,在此之前關注的重點都是在如何生存或者其它一些短期的東西上。在這個公司成立快要 10 年了、成功 IPO 的時候,也要開始考慮下一個 10 年要怎麼辦,Mark Zuckerberg 需要想想未來 10 年裡什麼東西最重要。既然生存已經不是問題了,雖然當時 Facebook 還沒那麼大,5000 個人左右,但也確實是一個轉型成大公司思路的時刻,思考什麼技術未來比較重要。
Mark 和他的團隊就認為,AI 對於 Facebook 的宗旨「連接不同的人」來說會是一項非常重要的技術。他們嘗試了一些不同的方式想在 AI 方面有所作為,他們構建了一個內部團隊研究卷積網路這些東西,在人臉識別等一些任務上獲得了非常好的成果。他們也考慮了要不要招聘一些年輕研究員,或者收購別的公司,最終決定從領域內招聘一位資深學者,成立一個正式的研究機構。
一開始文化方面的衝突還是挺大的,因為在公司內做研究的方式和做工程有很大區別,做工程要有時間表、路線圖,但是研究者對於自己研究節奏的選擇就會很保守。而且我也是在很早的時候就明確表示,做研究需要開放,不僅要鼓勵研究者公開發表成果、甚至要求他們公開發表,而且對成果的評價標準也要和學術界的研究者一樣。Mark 和 Facebook 的 CTO、現在我的上司 Mike Schroepfer 就說,Facebook 是一個非常開放的公司,我們的很多東西都是開源發布的;Mike Schroepfer 自己也是來自開源世界的,之前他在 Mozilla,所以開源就在公司的 DNA 里。這也讓我們很有信心可以建成一個開放的研究機構。
並且,Facebook 對於知識產權沒有別的公司那麼嚴格,這也讓我們更方便和大學合作,以及一個人可以同時參與學術和企業的事情。
吳恩達:這對你自己也有很大好處,可以在紐約大學任教。
Yann LeCun:沒錯。如果你看看我過去 4 年裡發表的論文的話,其實大多數是和我在紐約大學的學生們一起做的。我在 Facebook 做的其實很多是整個實驗室的管理、招人、做指導這些事情,但是我沒辦法參與到一個個具體的研究項目裡面去,也就沒辦法在論文里署名了 —— 當然了我現在也不在乎能不能在論文里署名。
吳恩達:就是幫助別人做出很好的成果,然後自己做自己的研究。
Yann LeCun:對,你自己不應該特別參與,應該就在幕後看著,讓實驗室里的人自己形成競爭。
吳恩達:下面這個問題相信很多人都問過,現在在看這個視頻的人也很想知道答案,那就是,對於想要進入 AI 領域的人,你有什麼建議可以給他們嗎?
Yann LeCun:(笑)AI 這個領域和我剛剛進入的時候已經完全不一樣了。我覺得這個領域現在有一點很棒,就是想要在一定程度上參與進來是很簡單的一件事。我們現在有很多簡單好用的工具,TensorFlow、PyTorch 等等一大堆,自己家裡隨便一個什麼電腦就能運行得起來,然後訓練一個卷積網路或者循環神經網路做任何想做的事情。除了這些工具,也還有很多線上的教學資源可以學習,沒有什麼門檻,高中生都能玩得轉,我覺得這棒極了。而且現在的學生里對機器學習、AI 感興趣的也越來越多,年輕人也能喜歡真的很好。
我的建議是,如果你想要進入這個領域的話,做出一些幫助,比如在開源項目里貢獻一些代碼,或者實現某個網上找不到代碼的標準演算法,這樣別人就有得用了。你可以就找一篇你覺得重要的論文,把演算法實現出來,然後做成開源的代碼包,或者貢獻到別的開源代碼包里。如果你寫的東西有趣、有用,就會有別人注意到你,你非常想去的公司可能會發 offer 給你,你很想讀博的地方也可能給你回信,之類的。我覺得這是一種很好的開頭方式。
吳恩達:參與開源項目是進入這個領域的一種很好的途徑。這個過程里也可以學習。
Yann LeCun:是的。
吳恩達:謝謝你,真的很棒。雖然從媒體看了不少報道,但是聽你親自講以前的這些故事細節還是很精彩。
Yann LeCun:這樣的故事還有很多,而且直到十幾二十年後你去回想的時候,才會發現這些事其實有多重大。
視頻地址:
http://youtu.be/JS12eb1cTLE
推薦閱讀:
TAG:深度學習DeepLearning | lecun | 神經網路 |