Geoffrey Hinton 與 Yann LeCun,2018 年 ACM A.M. Turing Award 演講「深度學習革命」
開幕致詞與 FCRC 2019 介紹
晚安。成功了。我是來自 Georgia Tech 的 Vivek Sarkar。我很高興代表所有籌辦者,歡迎各位來到 Phoenix 參加 FCRC 2019。也歡迎所有線上收看的各位。我們都知道,現在我們的院長、教務長、高科技經理人都知道,我們的會議是您能找到電腦科學研究最前沿的地方。
FCRC 創立於 1993 年,其理念是每三到四年舉辦一次聯邦式活動,主要會議可以共同舉辦。今年我們創下紀錄,共有 2700 名參與者,涵蓋 30 個主要會議以及許多相關的研討會和教學課程。這比我們原先規劃的多了約 20%。
順帶一提,如果您今晚手機響了,會有 2700 人,包括所有線上收看的觀眾,在您的職業生涯餘下時間裡記得您。請允許我花一點時間念出所有會議的名稱,提醒各位都有哪些人在此。我們有 COLT, e-Energy, EC HPDC, ICS, ISCA, ISMM, IWQoS, LCTES, PLDI, SIGMETRICS, SPAA, 以及 STOC。
這些會議如您所知,涵蓋了電腦科學研究的廣泛基礎領域,包括電腦體系結構、計算經濟學、嵌入式系統、高性能超級計算、機器學習理論、量測與建模、編譯器與程式語言、記憶體管理、平行演算法、服務品質、智慧能源系統、計算理論,以及許多相關主題。
從出席人數來看,我特別高興今年還有創紀錄的 1100 多名學生參與。我鼓勵大家,尤其是學生,利用 FCRC 提供的獨特機會,參加您研究領域之外的場次和會議,以便接觸電腦科學其他領域的新興思想。
只要查看 Hoover 應用程式或線上日程表,就能了解共同舉辦活動的進展。現在,FCRC 的一大亮點是,您有機會聽取不同電腦科學領域傑出領導者的全體會議演講,當然首先是今晚由 Geoff Hinton 和 Yann LeCun 帶來的圖靈演講。
所有全體會議演講都將在這個美麗的交響樂廳空間舉行。下週的演講安排在每天上午 11:20,沒有其他衝突活動。所以務必參加。您沒有任何錯過的藉口。提醒一下,下週的全體會議演講者是 Jim Smith, Cynthia Dwork, Shriram Krishnamurthi, Jeannette Wing, 和 Erik Lindahl,他們都將由 FCRC 全體會議主席 Mary Hall 介紹。
儘管我將在週五會議結束時有機會對每個人進行更全面的感謝,但我現在要對所有會議的贊助商,特別是這裡列出的 FCRC 總體贊助商,表達最深切的謝意。這是一個獨特、四年一次的盛事。
沒有這裡列出的公司挺身而出支持 FCRC,這是不可能實現的。所以感謝他們所有人。此外,整個 ACM 團隊一直在努力確保這整個星期成功舉行。我要特別感謝 Donna Kappel,她對會議行政團隊的孜孜不倦的領導。
Donna 自 1993 年 FCRC 首次舉辦以來就一直參與組織工作。她對於 FCRC 的成功至關重要。所以謝謝您,Donna。(觀眾鼓掌)最後,感謝各位來到 Phoenix 參加 FCRC,並擠滿了這個會場。我希望你們有一個愉快的會議,並享受與所有電腦科學研究同僚的眾多互動。
接著,我想邀請 ACM 主席 Cherri Pancake 上台介紹圖靈演講。謝謝。(觀眾鼓掌)
ACM 會長致詞與圖靈獎得主介紹
謝謝。很高興來到 FCRC。如 Vivek 所述,我很榮幸擔任 ACM 主席,這是全球最大的計算專業人士協會。
您知道 ACM 在全球有近 10 萬名會員嗎?我們通過像這樣的會議、我們的出版物、網路研討會和學習資源,為 190 個國家的計算社群提供服務。ACM 在全球的計算教育和課程指南方面也非常活躍。特別高興能來到這裡參加 FCRC,正是因為 Vivek 提到的原因。這是一個多麼獨特的機會。我們都知道計算已經變得更加跨學科,但我們不常有機會與自己領域之外的其他領域的頂尖研究人員見面和互動。我強烈鼓勵您本週利用這個機會。
我們都知道,AI 是所有科學領域中增長最快的領域。當然也是整個社會的熱門話題。我們在 AI 中看到的令人難以置信的進展,若非今晚我們表彰的這些人奠定的基礎,是不可能實現的。例如,當我們想到影響時。想想最初在遊戲產業中投入 GPU 開發的研究。當時誰能想到,後來它們會被組裝成大型陣列,並作為龐大神經網路的平台,進而推動了機器人學和電腦視覺等領域的飛躍發展?
我們今晚認可的這類進展,大致屬於深度學習領域。全球數十億人受益於機器學習帶來的優勢。任何擁有智慧型手機的人都能享受到電腦視覺和語音辨識等令人驚歎的進展,這些在幾年前我們甚至不敢想像。或許更重要的是,機器學習正在為科學家提供新工具,使他們能夠在從醫學到天文學和材料科學等領域取得進展。
FCRC 每四年才舉辦一次。因此,當我們討論這次會議時,我們希望為歡迎會做點特別的事情。我相信您會同意,聆聽今年的圖靈獎得主演講,是讓這次會議變得真正特別的方式。2018 年 ACM A.M. Turing Award 已於上週在 San Francisco 頒發給三位深度學習的先驅:Yoshua Bengio, Geoffrey Hinton, 和 Yann LeCun。這三位共同且獨立地工作了 30 多年,首先為深度神經網路開發了概念基礎,然後進行了實驗,確定了許多非常有趣的現象。但他們並不止步於此。
他們繼續進行工程上的進展,有力地證明了深度神經網路實際上可以在實踐中以經濟有效的方式應用。這反過來使得其他人能夠開發出我們現在在如此多不同領域受益的驚人概念和進展。電腦視覺、語音辨識、自然語言處理、機器人學,以及許多其他不同領域。因此,我非常榮幸能介紹今晚的演講者。第一位是 Geoff Hinton,他將就「數位學習革命」這一主題發表他的圖靈演講。接著是 Yann LeCun,他非常貼切地將他的演講稱為「深度學習革命續集」。所以 Geoffrey,歡迎您。(觀眾鼓掌)
人工智慧的兩種典範:符號式 vs. 生物式
我首先要感謝 ACM 的所有同仁,他們投入時間確保所有事情順利進行。自 1950 年代以來,人工智慧有兩種典範。一種是受邏輯啟發的方法,其核心是符號表達式由符號規則操作。主要問題是推理。我們如何讓電腦像人一樣進行推理?另一種是受生物學啟發的方法。它非常不同。它認為智慧的核心是學習神經網路中的連接強度,主要關注點,至少一開始是學習和感知。所以它們是非常不同的典範,有著非常不同的初始目標。
它們對於應該使用的內部表示有著非常不同的看法。因此,符號典範認為應該使用符號表達式,如果您發明一種好的語言來表達它們,就可以將這些表達式給予電腦。當然,通過應用規則,可以在電腦內部獲得新的表達式。生物學典範認為內部表示與語言完全不同。它們只是一大堆神經活動向量。這些大向量對其他大向量產生因果影響。而且這些向量將從數據中學習。所以這些向量中的所有結構都將從數據中學習。我顯然是為了強調它們的不同而對這兩種立場進行了某種程度的漫畫化。
它們導致兩種非常不同的方式來嘗試讓電腦做您想做的事情。一種方法,我有點調皮地稱之為「智慧設計」,就是您所說的程式設計,您找出如何解決問題,然後告訴電腦確切要做什麼。另一種方法是,您只需向電腦展示大量的輸入和您產生的輸出的例子,然後讓電腦自己摸索。當然,您也必須程式設計電腦,但它是用一些通用學習演算法進行一次程式設計。這也是一種簡化。
符號式人工智慧的挑戰
舉個例子,人們花了 50 年試圖用符號式 AI 來解決的問題,就是從圖片中描述圖片中的內容。想想看,如何將左邊圖片中的數百萬個像素轉換成一串文字。這很難寫出那樣的程式。人們嘗試了很長時間,但他們寫不出來。做神經網路的人也嘗試了很長時間,最終,他們成功地開發了一個運作得很好的系統,它是基於純粹的學習方法。
神經網路的核心問題:學習
所以神經網路的核心問題一直都是:我們知道有很多層和非線性處理單元的大型神經網路可以計算出複雜的東西。至少我們相信它們可以。但問題是,它們能否學會做到這一點?所以,您能否通過一個大型網路,從隨機權重開始,然後通過某種方式訓練它,使其改變權重,從而改變它計算的東西,來學習像物體識別或機器翻譯這樣的任務?
神經網路的早期歷史與第一個寒冬
對於這類系統有一個顯而易見的學習演算法,這是由 Turing、Selfridge 以及許多其他人提出的,是其變體。想法是您從隨機權重開始。Turing 相信人類智慧就是這樣運作的。您從隨機權重開始,獎勵和懲罰導致您改變連接強度,這樣您最終就能學到東西。嗯,這是極其低效的。它會有效,但極其低效。
在 1960 年代,Rosenblatt 引入了一個相當簡單且有效的學習程序。比隨機試錯法效率高得多,它可以找出如何學習特徵的權重,在其中您從圖片中提取特徵,然後使用權重組合這些特徵來做出決定。他設法證明您可以做到一些這樣的事情。一些中等程度令人印象深刻的事情。但是感知器無法學習特徵。這又是一個簡化。Rosenblatt 對於如何學習特徵有各種各樣的想法,但他沒有發明反向傳播。
在 1969 年,Minsky 和 Papert 表明 Rosenblatt 成功運作的那類感知器在它們能做的事情上非常有限。有一些相當簡單的事情它們做不到。Minsky 和 Papert 強烈暗示,讓它們更深層並不會有幫助。更好的學習演算法也無濟於事。這種做事方式存在一個基本限制。這導致了第一次神經網路寒冬。
反向傳播演算法的誕生與早期進展
在 1970 年代和 1980 年代,許多不同的團隊發明了反向傳播演算法。是它的變體。反向傳播允許神經網路學習特徵偵測器,並擁有多層學習到的特徵偵測器。這引起了很多興奮。它使神經網路能夠將詞語轉換為代表詞語含義的向量,它們只需嘗試預測下一個詞語就可以做到這一點。這看起來似乎能夠解決語音辨識和形狀辨識等難題。事實上,它確實解決了,它在語音辨識方面表現中等程度不錯。對於某些形式的形狀辨識,它表現得非常好。就像 Yann LeCun 辨識手寫的網路一樣。
神經網路的運作原理簡介
現在我要非常簡要地解釋神經網路是如何工作的。我知道你們大多數人都知道這個。但我只是想再說一遍,以防萬一。所以我們對一個神經元做了一個粗略的理想化。這個理想化的目的是得到一個可以學習的東西,以便我們可以研究如何在大型網路中將所有這些東西組合起來學習複雜的東西。
它有一些您可以改變的輸入權重。嗯,學習演算法會改變它們。並且它會給出一個輸出,只要輸入超過一定的量,輸出就等於輸入。這是一個整流線性神經元。我們實際上直到後來才開始使用它,但這就是運作得很好的神經元類型。然後您將它們連接到一個網路中,並為這些神經元中的每一個設定輸入權重。當您改變這些輸入權重時,您正在改變該神經元將對哪個特徵作出反應。所以通過學習這些權重,您正在學習特徵。您放入一些隱藏層,然後您想訓練它,以便輸出神經元能按照您喜歡的方式運作。
例如,我們可能會向它展示狗和貓的圖片。我們可能希望左邊的神經元對狗亮起,右邊的對貓亮起。問題是我們如何訓練它?
學習演算法的類型
主要有兩種學習演算法。哦,實際上是三種,但第三種效果不太好。那叫做強化學習。(觀眾笑聲)有一種很棒的反證法(reductio ad absurdum)證明強化學習,叫做 DeepMind。(觀眾笑聲)嗯,那是個玩笑。(觀眾笑聲)
有監督式訓練,您向網路展示應該產生的輸出。您調整權重直到它產生您想要的輸出。為此,您需要知道應該產生的輸出是什麼。還有非監督式學習,您拿一些數據,然後嘗試在隱藏層中以某種方式表示這些數據,以便您可以重建數據,或者可能是重建數據的一部分。如果我遮蔽數據的一小部分,我現在可以從隱藏單元中重建它們嗎?這就是非監督式學習在神經網路中通常運作的方式。
反向傳播的效率優勢
這是一個非常低效的進行監督式學習的方法,它使用了一種類似突變強化的方法。您將神經網路拿來,給它一些典型的例子集,您看看它做得如何。然後您拿一個權重,稍微改變那個權重,看看神經網路是做得更好還是更差。如果做得更好,您就保留那個改變。如果做得更差,您就丟棄它。也許您可以朝相反的方向改變,這已經是兩倍的改進了。但這是一個慢得令人難以置信的學習演算法。它會有效。但它能達到的效果,反向傳播可以快很多很多倍。
所以您可以將反向傳播想像成這個演算法的一個高效版本。在反向傳播中,您不是改變一個權重並測量其對網路效能的影響,而是利用網路所有權重都在電腦內部的事實。您利用這個事實來計算權重改變對效能的影響會是什麼。並且您同時對所有權重進行計算。所以如果您有一百萬個權重,您可以同時計算它們所有權重的微小改變對效能的影響會是什麼。然後您可以同時更新它們。這有它自己的問題,但它會比先前的演算法快一百萬倍。
許多新聞媒體的人將其描述為指數級的加速。實際上,這是線性加速。「指數級」這個詞被過於頻繁地以二次方式使用。(觀眾笑聲)
反向傳播與隨機梯度下降
所以我們來到反向傳播,您通過網路進行前向傳遞,查看輸出是什麼,然後使用您得到的和您想要的之間的差異,您進行一個反向傳遞,這與前向傳遞的味道非常相似。這只是高中微積分,或者大學一年級微積分。您現在可以並行計算每個權重應該朝哪個方向改變。然後非常令人驚訝的是,您不必對整個訓練集都這樣做。您只需取一小批例子,並根據這批例子計算如何改變連接強度。您可能因為這批例子的特殊性而弄錯了,但您還是改變它們。然後您再取另一批例子。這叫做隨機梯度下降。我猜神經網路社群的主要發現是,隨機梯度下降雖然理論上沒有理由運作得很好,但實際上運作得非常好。
而且它在大規模時運作得非常好。如果您給予它大量數據和大型網路,它真的能展現其能力。
對神經網路的質疑與第二個寒冬
然而,在 1980 年代,我們對反向傳播非常非常高興。它似乎解決了問題。我們深信它將解決一切。它在語音辨識和某些形式的聽覺辨識方面確實做得不錯。但它基本上令人失望。它沒有達到我們預期的效果。真正的問題是為什麼。當時人們對它為何無效進行了各種分析。其中大部分是錯誤的。他們說它被困在局部最優解中。我們現在知道那不是問題所在。
當其他學習演算法在適中大小的數據集上比反向傳播效果更好時,大多數機器學習社群的人認為,你們這些人試圖做的是僅僅使用隨機梯度下降,從隨機權重學習這些深層多層網路,這簡直是瘋了。這永遠不會奏效。你們的要求太高了。除非您加入相當多的手動工程,否則這種系統絕不可能奏效。您必須以某種方式將一些先驗知識嵌入其中。
例如,語言學家被灌輸了許多語言是天生的信念,沒有先驗知識您永遠無法學習語言。事實上,他們有數學定理證明沒有先驗知識您無法學習語言。我對此的回應是:小心攜帶定理的數學家。
學術界的阻力與突破
我只想給你們一些真正荒謬的理論。我是 Monty Python 的粉絲。所以這裡有一些真正荒謬的理論。大陸曾經是相連的,然後漂移開了。您可以想像地質學家認為這個理論多麼荒謬。大型神經網路從隨機權重開始,沒有先驗知識,可以學會做機器翻譯。這對許多人來說似乎是一個非常非常荒謬的理論。再加一個。如果您服用天然療法,並不斷稀釋它,稀釋得越多,它就越有效。(觀眾笑聲)有些人也相信這個。
頂部的引文實際上取自大陸漂移文獻。Wegener 在 1912 年提出這個理論時,被大家嘲笑。儘管他實際上非常有論據。他沒有一個好的機制。地質學社群說,我們必須將這些東西排除在教科書和期刊之外。這只會讓大家困惑。
我們在第二次神經網路寒冬中也經歷了這樣的小插曲。NIPS 這樣級別的會議,拒絕了我的論文。您不會忘記那些事情。(觀眾笑聲)像許多其他失望的作者一樣,我與程序委員會的一位朋友聊了聊。我的朋友在程序委員會告訴我:「嗯,你看,他們不能接受這個,因為他們有兩篇關於深度學習的論文,他們必須決定接受哪一篇。」他們實際上已經接受了另一篇。所以他們不能合理地期望在同一個會議中有兩篇關於同一個主題的論文。我建議您現在去 NIPS 看看他們的現狀。(觀眾笑聲)
Yoshua Bengio 在大約 2009 年向 ICML 提交了一篇論文。我不確定確切的年份,但差不多是那時候。一位審稿人說,神經網路論文在機器學習會議上沒有立足之地。所以我建議您去 ICML。
CVPR,這是領先的電腦視覺會議,這是我認為最令人髮指的一次。Yann 和他的同事提交了一篇關於做一些古老分割的論文,它超越了當時最先進的技術。它超越了主流電腦視覺專家能做到的。然後它被拒絕了。一位審稿人說:「這篇論文對電腦視覺毫無價值,因為一切都是學習的。」
所以這位審稿人,就像當時的電腦視覺領域一樣,困在這樣的思維框架中:你做電腦視覺的方式是,你思考視覺任務的本質,最好寫下一些方程式,思考如何進行視覺所需的計算,然後你實施它,最後看看它是否有效。認為只要學習一切的想法,完全超出了值得考慮的範疇。所以審稿人基本上錯過了重點,那就是一切都是學習的。他完全沒有意識到這如何徹底改變了電腦視覺。
現在我不應該對那些人太苛刻。因為稍後,他們變得非常理性。有了更多證據,他們突然轉變了。
深度學習的技術突破與成功因素
在 2005 年到 2009 年間,研究人員,其中一些在 Canada,我們讓 Yann 成為榮譽的 Canada 人,因為他是 French。(觀眾笑聲)取得了一些技術進展,使得反向傳播在前饋網路中工作得更好。這些進展包括使用非監督式預訓練來初始化權重,然後再開啟反向傳播。像隨機丟棄單元,使整個系統更加穩健。以及引入整流線性單元(rectified linear units),這被證明更容易訓練。對我們來說,這些進展的細節是我們賴以生存的東西。我們對這些非常感興趣。但主要訊息是,有了幾項技術進展,反向傳播的效果驚人地好。
主要原因是我們現在有了大量的標記數據和許多方便的計算能力。不方便的計算能力沒有太大用處。但像 GPU 和最近的 TPU 等東西,使您能夠應用大量的計算,它們帶來了巨大的改變。所以真正決定性的因素我認為是計算能力的提升。
語音辨識的重大突破 (2009-2012)
所以我認為深度學習的大部分功勞實際上歸功於收集大數據庫的人,例如 Fay Fay Lee。以及使電腦運轉快速的人,例如 David Patterson 和其他人。許多其他人。所以從我的角度來看,殺手級應用是 2009 年,當時在我實驗室我們有一堆 GPU 和兩位研究生。他們學會了進行聲學模型建立。聲學模型建立的意思是您拿起像頻譜圖(spectrogram)這樣的東西,並嘗試找出頻譜圖中間幀對應於說話者試圖表達的哪個音素的哪個部分?在我們使用的這個相對較小的數據庫中,有 183 個標籤,代表可能是哪個音素的哪個部分。因此您用許多層的 2000 個隱藏單元預訓練一個網路,您無法預訓練最後一層,因為您還不知道標籤。您只是訓練它能夠重現下面一層的內容。然後您開啟所有層的學習,它的效果比當時最先進的技術略好,而當時最先進的技術已經花了 30 年發展。
當語音領域的人看到這個結果時,那些聰明的人,他們意識到進一步發展這項技術將會非常驚人。我的研究生去了 MSR、IBM 和 Google 等各個團隊。特別是 Navdeep Jaitly 去了 Google,並將在 Toronto 開發的聲學模型系統相當直接地移植過去,它在 2012 年在 Android 上發布了。經過許多優秀的工程努力,使其能夠即時運行。錯誤率大大降低了。幾乎在同一時間,所有其他團隊也開始改變他們做語音辨識的方式。現在,所有優秀的語音辨識器都使用神經網路。它們與我們最初引入的神經網路不同,神經網路逐漸蠶食了系統越來越多的部分。將一個神經網路放入您的系統,有點像得了壞疽。它會逐漸吞噬整個系統。
物體辨識的 ImageNet 時刻 (2012)
然後在 2012 年,我的另外兩位研究生將 Yann LeCun 多年開發的那類神經網路應用於 Fay Fay Lee 匯集的一個包含 1000 種不同物體類別的大型數據庫上的物體辨識。這終於是一個足夠大的真實圖片數據庫,可以展示神經網路能做什麼。而且它們能做很多事。因此,如果您查看所有電腦視覺系統的結果,標準系統的錯誤率穩定在大約 25%。我的兩位研究生開發的系統錯誤率為 16%。然後在此類神經網路的進一步研究下,到 2015 年錯誤率降至 5%。現在已經降至遠低於此。
神經機器翻譯的崛起 (2014)
當時發生的事情,正是科學應該發生的樣子。電腦視覺領域的領導者看到了這個結果,他們說:「哦,它們真的有效。我們錯了。好吧,我們要轉變。」一年之內,他們都轉變了。科學終於像它本該運作的那樣運作了。
我想談的最後一件事是機器翻譯的一種全新方法。這是在 2014 年由 Google 的人們以及 Montreal 的 Yoshua Bengio 實驗室的人們引入的。2014 年的想法是,對於每種語言,我們都將有一個神經網路。它將是一個遞歸網路,它將以一種語言中的單詞串(它一次接收一個)編碼到一個大向量中。我稱這個大向量為思維向量(thought vector)。這個想法是,這個大向量捕捉了那個單詞串的含義。然後您將這個大向量給予一個解碼器網路。解碼器網路將這個大向量轉換成另一種語言的單詞串。它或多或少有效。經過一些發展,它運作得非常好。
神經機器翻譯的進展與對符號式人工智慧的影響
自 2014 年以來,一項主要的發展是在解碼一個句子的含義時,您會回頭查看您正在編碼的句子,這被稱為軟注意力(soft attention)。所以每次您產生一個新詞時,您都在決定要看您正在翻譯的句子的哪個位置。這有很大幫助。您現在也會預訓練詞嵌入(word embeddings)。這也有很大幫助。
預訓練的工作方式是您拿一堆詞,並嘗試在一個深度網路中重現這些詞,但您漏掉了一些詞。所以從這些詞中,您必須重現相同的詞,但您基本上必須填空。他們使用了叫做 Transformer 的東西,在這個深度網路中,當每個詞通過網路時,它會查看附近詞語來消除歧義,判斷它可能意味什麼。所以如果您有一個詞,例如「may」,當它進去時,您會得到一個最初的向量,這個向量在助動詞和月份之間有些歧義,但如果它看到旁邊有「the 13th」,它就知道很可能是月份。因此在下一個區域它可以消除這種歧義,並且那個「May」的含義將是月份。
那些 Transformer 網路現在對於獲取詞嵌入效果非常好。事實證明,它們還學習了大量的語法。所以語言學家認為必須先天嵌入的所有東西,這些神經網路現在正在獲取。它們獲得了大量的句法理解。但這一切都是從數據中學習的。如果您查看 Transformer 網路的早期層,它們知道詞語的詞性。如果您查看網路的後期部分,它們知道如何消除代名詞引用的歧義。基本上,它們正在學習語法,就像一個小孩子學習語法一樣。只是通過看句子。
所以我認為機器翻譯真正是符號式 AI 的棺材上的最後一顆釘子。因為機器翻譯是符號式 AI 的理想任務。輸入是符號,輸出也是符號。但事實證明,如果您想做好它,您內部需要的是大向量。
歷史回顧總結與未來展望
好了,關於神經網路的歷史直到 2014 年左右,我想說的都說完了。我強調了思想。有這兩個陣營。好人贏了。這還沒有結束,因為當然,我們現在需要神經網路開始能夠解釋推理。我們還做不到。我們正在努力。但推理是人們最後學會的東西,而不是第一件。推理建立在所有這些其他東西的基礎上。我的觀點一直是,除非您了解所有這些其他東西,否則您永遠無法理解推理。現在我們正在開始了解所有這些其他東西。我們差不多準備好開始理解推理了。但僅僅通過使用表達其他符號的規則,僅僅使用裸符號進行推理。在我看來那只是無望的。您遺漏了所有的內容。那裡沒有意義。
電腦視覺的未來與卷積神經網路的限制
好的,我想談談電腦視覺的未來。卷積神經網路非常有效。卷積神經網路做的事情是,它們內建了這樣一個想法:如果一個特徵在一個地方有用,它在另一個地方也會有用。這使我們能夠結合來自不同位置的證據來學習一個共享的特徵偵測器。也就是說,學習在所有這些位置都相同的複製性特徵偵測器。這是一個巨大的勝利。它使得數據效率更高。這些東西 Yann 在 1990 年代就讓它運作起來了。它們是 1990 年代少數運作得非常好的東西之一。現在運作得更好。
但我不認為這是人類看待視覺的方式。我的意思是,其中一個方面,也就是有複製的裝置,這在腦中顯然是真的。但它們辨識物體的方式與我們不同。這導致了對抗性範例。所以如果我給你一個大型數據庫,卷積神經網路會做得很好。它可能做得比人類好。但它辨識事物的方式與人類不同。因此我可以用一種方式改變事物,這會導致卷積神經網路改變它的判斷。而人類甚至看不到我所做的改變。它們更多地使用紋理和顏色。它們沒有使用物體及其部分的幾何關係。
視知覺中的座標框架與物件理解(方塊演示)
我深信,人類辨識物體的主要方式,他們顯然使用紋理和顏色,但他們非常清楚物體及其部分的幾何關係。這種幾何關係完全獨立於視角。這使您得到一些非常穩健的東西。您應該能夠從更少的數據中進行訓練。
我實在忍不住要做一個小演示,以說服您,當您理解物體時,您不僅僅是在做科學家時使用座標框架。即使您只是在天真地思考物體,您也會對它們施加座標框架。所以我要做一個小演示。您必須參與這個演示,否則就沒意思了。
好的,我想請您想像一下,在您面前的桌面上放著一個正方體。所以這是頂部,這是底部。這是正方體。它是這樣的線框正方體。啞光黑色的線。我要對這個正方體做的是,從您的視角來看,這裡有一個前下方右角,這裡有一個後上方左角。好的。我要旋轉這個正方體,使得後上方左角正好垂直地位於前下方右角的上方。
所以我們現在是這樣。現在,我想請您用手指尖在空中,可能是您的左手指尖,指向正方體的頂點,好嗎?現在,沒人在做,快點。(觀眾笑聲)現在,用您的另一個手指尖,我只想請您指向正方體其他角的所在位置。那些沒有放在桌上的角。所以桌上有一個角。垂直位於它上方的是這裡的角。其他角在哪裡?您必須這樣做,您必須指出來。
好的,我看不見您在做什麼,但我知道有很多人會指出另外四個角,因為我以前做過這個。現在我想請您想像一個正常方向的正方體,問它有幾個角?它有八個角,對吧?所以有六個這些角。大多數人做的是,他們說這裡、這裡、這裡和這裡。問題是什麼?問題是那不是一個正方體。您所做的是保留了正方體具有的四重旋轉對稱性。並指出了一個完全不同的形狀。它是一個完全不同的形狀,它的面數與正方體的角數相同,它的角數與正方體的面數相同。它是正方體的對偶。因為您太喜歡對稱性了,所以您不得不扭曲事物來保留對稱性。
實際上,一個正方體有三條邊這樣下來,三條邊這樣上去。我的六個手指尖是角的所在位置。而人們就是看不見。除非他們是晶體學家或非常聰明。
這個演示的主要目的是我通過這個旋轉迫使您對正方體使用一個軸。定義正方體方向的主軸不是您通常為正方體使用的座標框架的軸之一。通過迫使您使用一個不熟悉的座標框架,我摧毀了您關於正方體各部分在哪裡的所有知識。您是根據座標框架來理解事物的。如果我讓您強加一個不同的座標框架,對您來說它就是一個不同的物體。
現在卷積網路不會這樣做。因為它們不會這樣做,我認為它們不是人們感知形狀的方式。我們最近成功地讓神經網路通過一些自我監督式訓練來做到這一點。這裡有一個 arXiv 的參考,如果您動作快的話可以找到,或者您可以,我稍後會在 Twitter 上發布。
神經網路的未來:多時間尺度學習
我想說的最後一件事不是關於形狀辨識,而是關於神經網路的未來。在過去的 50 年裡,我們一直在做一件非常奇怪、非常不符合生物學的事情。那就是我們只使用了兩個時間尺度。也就是說,神經活動變化很快。而權重變化很慢。就這樣。但我們知道在生物學中,突觸以各種時間尺度變化。問題是如果您現在引入更多的時間尺度會發生什麼?特別是,讓我們只引入一個額外的時間尺度,並說除了這些權重變化緩慢,這是長期學習中發生的事情。權重有一個組成部分。同樣的權重,同樣的突觸。但有一個額外的組成部分可以變化得更快並且衰減得相當快。
所以如果您問,一分鐘前我把手指放在這個角上的記憶在哪裡,這是否在一些神經元中,它們保持活躍狀態,以便您可以記住?這似乎不太可能。更有可能的是,您對此的記憶是在神經網路權重的快速修改中,這些修改讓您能夠非常迅速地重構這個。而且這會隨時間衰減。所以您在權重中有一種記憶,這是一種短期記憶。
一旦您這樣做,各種好事就會發生。您可以用它來獲得更好的優化方法。您還可以用它來做一些可能與推理非常相關的事情。您可以用它來讓神經網路進行真正的遞歸。不是很深,但真正的遞歸。我所說的真正遞歸是指當您進行遞歸呼叫時,就像句子中的關係子句一樣,神經網路可以使用處理整個句子的所有相同神經元和所有相同權重來處理關係子句。當然,要做到這一點,它必須以某種方式記住它決定處理關係子句時發生了什麼。它必須將其存儲在某處。我不認為它將其存儲在神經元上,我認為它將其存儲在突觸強度的臨時變化中。當它處理完關係子句時,它將其打包並說,基本上它說,當我開始進行這個處理時我在做什麼?它可以從這種聯想記憶和快速權重中取回信息。
我想以此結束,因為我在 1973 年的第一次演講就是關於這個的。我有一個系統在一個擁有 64K 記憶體的電腦上運行。我還沒來得及發表。但我認為它又變得時尚了,所以我很快就會發表。我的演講到此結束。我的時間到了。(觀眾鼓掌)現在我想介紹 Yann LeCun,他不僅是同事,還是非常好的朋友。(觀眾鼓掌)
深度學習的續集:回顧與監督式學習的成功
好的,我將談談續集。但我也會從一些歷史開始,並回顧一下 Geoff 剛才提到的一些事情。
Geoff 談到了監督式學習。監督式學習如果數據量很大,效果驚人地好。我們都知道這一點,所以我們可以做語音辨識,我們可以做圖像辨識,我們可以做人臉辨識,我們可以為圖像生成標題。我們可以做翻譯。這些都運作得非常好。
如果您給您的神經網路一個特定的結構,比如像卷積網路,正如 Geoff 在 80 年代末、90 年代初提到的,我們可以訓練系統來辨識手寫字,這相當成功。到 90 年代末,我在 Bell Labs 建立的一個這種類型的系統,正在讀取美國所有支票中的約 10% 到 20%。所以這是一個巨大的成功,甚至是商業上的成功。
但當時整個社群基本上已經放棄了神經網路,部分原因是缺乏可以讓它們工作的大型數據集。部分原因是在當時您必須編寫的軟體類型相當複雜,而且這是一項巨大的投資。部分原因也是因為電腦對於各種其他應用程式來說速度不夠快。
卷積神經網路的生物啟發與原理
但是卷積網路確實受到了生物學的啟發。它們不是複製生物學,但從生物學中、從視覺皮層的結構以及處理信號(無論是音訊信號還是圖像信號)時自然產生的過濾(filtering)是一個好方法這個想法中,獲得了很多啟發。而卷積(convolution)作為過濾的方式是非常自然的。而且在大腦中發現這一點其實並不奇怪。這些想法當然是由 Hubel 和 Wiesel 在 60 年代的神經科學經典工作中提出的,以及後來由 Fukushima(一位 Japanese 研究員)採納,他試圖建立 Hubel & Wiesel 模型在電腦上的模型。我發現這很有啟發性,並試圖用可以通過反向傳播訓練的神經網路來重現這一點。這基本上就是卷積網路。
卷積神經網路的階層式表示概念
因此,卷積網路的想法是,世界、感知世界是組合性的。視覺世界中的物體由部分組成,部分由圖案組成,圖案由紋理或邊緣的基本組合組成,而邊緣由像素、像素的排列組成。因此,如果您有一個系統能夠分層地檢測像素不尋常的有用組合形成邊緣,邊緣形成圖案,圖案形成物體的部分,那麼您就會有一個辨識系統。這種階層結構的思想其實由來已久。這就是卷積網路的真正原理。
事實證明,階層式表示不僅對視覺有益,對語音、文本以及所有其他自然信號也有益,這些信號因為它們是組合性的而可以理解。我想有句話是這樣說的,我相信是歸功於 Einstein 的話:世界上最神秘的是它可以被理解。這很可能就是因為自然信號的組合性。
卷積神經網路的早期實際應用(手寫辨識)
所以在 90 年代初期,我們能夠做諸如此類的事情,建立像這樣的辨識系統。這是我年輕時的樣子。我在 Bell Labs。順帶一提,這是我在 Bell Labs Holmdel 的電話號碼,現在已經不使用了。我在這裡按下一個鍵,系統用視訊攝影機捕捉一張圖像。這個系統運行在配有特殊 DSP 卡的 PC 上。當時它可以以每秒幾百個字元的速度運行這些卷積網路,這非常驚人。我們可以達到 20 megaflops。你知道,這簡直不可思議。
所以這運行得相當不錯。很快我們意識到我們也可以在實際圖像上使用這個來做諸如人臉檢測之類的事情。最終實現行人檢測。這花了幾年時間。但是正如 Geoff 提到的,在 90 年代中期到 2000 年代後期,基本上沒有人在做神經網路,除了我們這些瘋子之外。
卷積神經網路在機器人學的應用
所以這並沒有阻止我們。我們繼續研究人臉檢測、行人檢測。甚至將機器學習和卷積網路用於機器人學,我們使用卷積網路來標記整張圖像,使得圖像中的每個像素都被標記為機器人是否可以通過。這方面的好處是您可以自動收集數據。您不需要手動標記,因為使用立體視覺,您可以通過 3D 重建判斷一個像素是否從地面突出。但不幸的是,這只適用於短距離。因此,如果您想要一個可以規劃遠距離軌跡的系統,您可以使用這些標記訓練一個卷積網路來預測可通過性,然後讓機器人自己繞著開。
因此,這個特定的機器人具有結合了卷積網路提取的不同特徵以及一個快速的立體視覺系統,使其能夠避開障礙物,例如討厭的研究生。(觀眾笑聲)Cassiel Manet 和 Ryan Hedse 順帶一提,他們很確定機器人不會壓到他們,因為他們實際上寫了程式碼。(觀眾笑聲)
語義分割與學術界的阻力 (CVPR 2011)
好的,幾年後,我們使用了一個非常類似的系統來做一些語義分割。這實際上是 Geoff 提到的那項工作,被 CVPR 2011 拒絕了。這個系統可以在 FGA 實現下即時分割圖像。基本上是為圖像中的每個像素指定一個類別,以約每秒 30 幀的速度在相當好的解析度下。這遠非完美,但它可以以相當合理的準確性標記,檢測行人、道路、樹木等等。但這些結果並沒有立即被電腦視覺社群相信。
電腦視覺的最新進展:全景分割
現在來衡量自那時以來(基本上是過去十年)發生的進展,這裡是一個最近一個系統的結果範例,由 Facebook 的一個團隊開發,他們稱之為 Panoptic Feature Pyramid Network。它基本上是一個大型卷積網路,有一個提取特徵的路徑。一個多層路徑提取特徵,然後另一個路徑生成一個輸出圖像。輸出圖像基本上識別並為圖像中每個物體的每個實例生成一個遮罩,並告訴您它們是什麼類別。所以這裡類別名稱顯示在螢幕上,但它可以辨識幾百個類別。人物、各種車輛,不僅僅是物體類別。還有背景、紋理或區域。像草地、沙地、樹木之類的東西。所以您可以想像,如果您能完全分割和識別圖像中的所有像素,像這樣一個系統對於自動駕駛汽車會非常有用。
深度學習在醫學影像分析的應用
不僅僅是自動駕駛汽車,還有醫學影像分析系統。這是一個相對類似的架構。人們有時稱之為 U-Net,因為這個卷積網路有明顯的 U 形。同樣,它有一個編碼器部分,提取特徵,然後有一個部分用於建構輸出圖像,其中醫學圖像的部分被分割。這是它產生的結果。這是我在 NYU 的一些同事的工作。我沒有參與這項工作。另一小群同事與一些共同作者,例如 Wartell 等人,研究從乳腺攝影 X 光影像中檢測乳腺癌。事實上,現今放射學中最熱門的話題之一就是使用深度學習進行醫學影像分析。這很可能會在未來幾年內影響甚至徹底改變放射學。它在某種程度上已經做到了。
這方面還有更多的工作。這實際上是 NYU 醫學院和 Physics Care Research 的合作項目,旨在加速 MRI 的數據收集。當您進行 MRI 檢查時,您必須在機器裡躺一個小時或 20 分鐘,具體取決於您正在進行的檢查類型。這裡的技術使用了這種類型的重建卷積網路,基本上可以減少數據收集時間並獲得本質上相同質量的圖像。所以它們不會讓放射科醫生失業。但這可能會讓他們的工作更有趣。
神經機器翻譯的架構演進與挑戰
Geoff 提到了使用神經網路進行翻譯的工作。我認為這是一個非常令人驚訝和有趣的進展,即您可以使用神經網路進行翻譯。而且用於此目的的架構類型有很多創新。Geoff 談到了注意力機制、Transformer 架構。這是一個新的叫做動態卷積(dynamic convolutions),它有點回收了這些想法。這些技術的效果非常好。這些網路非常大。它們有幾億個參數。因此,其中一些挑戰實際上是在 GPU 上運行它們。需要足夠的記憶體來運行它們。我們基本上受到 GPU 記憶體的限制。
深度學習在自動駕駛領域的進展與挑戰
這些圖像分割的想法已被研究自動駕駛汽車的人們使用。特別是 MobilEye 的人們,他們現在是 Intel 的一部分,追溯到幾年前。我認為首批用於自動駕駛汽車或駕駛輔助的卷積網路部署在 2015 年的 Tesla Model S 中。NVIDIA 也投入了大量精力研究自動駕駛汽車。因此,這裡有很多有趣的進展。但進展,我不會說緩慢,但完全自主駕駛是一個困難的問題。它不像人們最初想像的那麼容易。
強化學習的挑戰:資料效率問題
好的,Geoff 有點輕視了強化學習。但強化學習是很多人非常興奮的領域。特別是 DeepMind 的人們。但當前強化學習存在一個問題。那就是它極度缺乏數據效率。如果您想訓練一個系統做任何事情使用強化學習,它必須進行大量的試錯。例如,要讓機器玩 Atari 經典遊戲,達到人類在約 15 分鐘訓練內能達到的水平,機器必須玩相當於 80 小時的即時遊戲。要達到超人水平的 Go,它必須玩約 2000 萬局。要玩 StarCraft。這是 DeepMind 最近的工作,是一個部落格文章,不是論文,AlphaStar 系統需要相當於 200 年的即時遊戲時間才能達到人類水平,而且僅限於一張地圖,一種玩家類型。順帶一提,所有這些系統都使用了 ConvNets 和各種其他技術。這是一件有趣的事情。
所以強化學習的問題是,這些模型必須嘗試某些東西才能知道它是否有效。如果您想訓練一個機器人抓取這些東西,或者您想訓練一輛汽車自己駕駛,在現實世界中使用它實在不切實際。
人類與動物的直覺物理模型與高效學習
所以,要訓練一個系統駕駛汽車,使其不會衝下懸崖,它實際上必須嘗試,它實際上必須多次衝下懸崖,才能弄明白如何不這樣做。首先,要弄明白這是個壞主意,其次,要弄明白如何不這樣做。因為它沒有世界模型。它無法想像在事情發生之前會發生什麼。它必須嘗試事物來糾正自己。這就是它如此低效的原因。
這引發了一個問題,為什麼人類和動物學習如此高效,如此快速?我們可以在大約 20 小時的訓練內學會駕駛汽車,幾乎沒有任何事故。這是怎麼發生的?我們不會衝下懸崖,因為我們有一個相當好的直覺物理模型,它告訴我們,如果我開車靠近懸崖,並且我向右轉動方向盤,汽車就會衝下懸崖,會摔下去,而且不會有好事發生。所以我們有這種內在模型。問題是我們如何學習這種內在模型?下一個問題是如何讓機器學習這種內在模型?基本上只通過觀察。
嬰兒學習基本概念的例子 (Emmanuel Dupoux 的研究)
Paris 有一位先生叫 Emmanuel Dupoux。他是一位發展心理學家。他研究孩子如何學習語言和語音等概念。也研究其他概念。他做了一張圖表,關於嬰兒學習基本概念的月齡時間。例如,區分有生命物體和無生命物體。這發生得非常快,大約在三個月大時。有些物體是穩定的,有些會掉落,您可以觀察嬰兒對某些物體行為的驚訝程度。然後大約需要九個月,嬰兒才能明白沒有支撐的物體會掉落。基本上就是重力。所以如果您給一個六個月大的嬰兒看左上方的情景,有一個小車和一個平台,您把小車推離平台,而車沒有掉下來,這是一個把戲。六個月大的嬰兒甚至不會注意。這只是世界向他們丟來的另一件他們必須學習的東西,沒關係。一個九個月大的嬰兒會像左下方的小女孩一樣。會非常非常驚訝。在此期間,他們學會了重力的概念。而且沒有人真正告訴他們重力是什麼。他們只是觀察世界,然後發現沒有支撐的物體就會掉落。所以當這種情況沒有發生時,他們會感到驚訝。
動物的直覺物理模型例子(紅毛猩猩的魔術反應)
這是怎麼發生的?不僅限於人類。動物也有這些模型。貓、狗、老鼠、紅毛猩猩。這是一個影片。這裡的紅毛猩猩正在觀看一個魔術。把一個物體放進杯子裡。然後拿出物體,但他沒有看到。然後展示杯子。它是空的。他樂得在地上打滾。(觀眾笑聲)所以他的世界模型被違反了。他有一個相當好的世界模型。物體永恆性。這是一個非常基本的概念。物體不應該這樣消失。當您的世界模型被違反時,您會注意,因為您將學到一些您以前不知道的世界知識。如果它動搖了一個非常基本的世界觀,這很有趣。但也可能很危險。這是可能導致您死亡的事情,因為您剛剛沒有預測到發生的事情。
自我監督式學習:解決方案
好的,那麼救贖是什麼?真的,我們如何讓機器學習這類知識?學習我們在生命最初幾個月僅通過觀察所獲得的關於世界的龐大背景知識。而且動物也能做到這一點。例如,如果您問我,如果我訓練自己預測當我輕微向左移動頭部時世界會是什麼樣子,由於平行移動(parallel motion),附近的物體和遠處的物體相對於我的視角不會以相同的方式移動。因此,預測當我移動頭部時世界會是什麼樣子的最佳方式,基本上是在內部表示深度的概念。因此,反過來說,如果我訓練一個系統預測當它移動攝影機時世界會是什麼樣子,也許它會自動學到深度的概念。一旦您有了深度,您就有了物體,因為物體會遮擋其他物體。您有遮擋邊緣。一旦您有了物體,您就有了可以影響的事物。以及可以獨立於其他事物移動的事物等等。所以概念可以像這樣通過預測互相建立。
這就是自我監督式學習的想法。它是預測和重建。我給機器一部分數據。比如說一個影片片段。我遮蔽影片片段的一部分,然後要求系統從它能觀察到的部分來預測缺失的部分。好的,這就是影片預測。只是預測未來。
自我監督式學習的實踐:填空 (自然語言處理)
但是自我監督式學習更普遍的形式是,我不預先指定我要遮蔽哪一部分,我只會告訴系統我將遮蔽一部分,無論被遮蔽的是什麼,我要求您重建它。事實上,我甚至可能完全不遮蔽它。我只是虛擬地遮蔽它,然後要求系統在某些約束條件下重建輸入。
人工智慧蛋糕的比喻:自我監督式學習的重要性
這種自我監督式學習的優勢在於它不依賴於任務。您讓機器在沒有針對特定任務進行訓練的情況下學習關於世界的知識。因此,它只需通過觀察就可以學習,而無需與世界互動,這會更有效率。但更重要的是,您要求系統預測很多東西。不像強化學習那樣只是一個值函數(value function),在強化學習中您基本上只是偶爾給機器預測一個標量值。不像監督式學習那樣,您要求系統預測一個標籤,只有幾個位元。在自我監督式學習的情況下,您要求機器預測大量東西。
這讓我聯想到這個有點令人討厭的比喻,至少對於那些研究強化學習的人來說是這樣的,這個想法是如果智慧或學習是一個蛋糕,蛋糕的主體,我們 French 人說的 Genois 海綿蛋糕,實際上是自我監督式學習。我們學習的大部分,我們累積的關於世界的知識的大部分是通過自我監督式學習學到的。蛋糕上這一點點糖霜,是監督式學習。我們被展示圖畫書,並被告知物體的名稱,只需幾個例子,我們就能知道物體是什麼。我們被教導一些詞語的含義,嬰兒可以每天學習很多很多新詞語。
然後蛋糕上的櫻桃是強化學習。您要求機器預測的信息量非常小。因此,機器純粹從這種學習形式中學習是不可能的。它必須是所有三種學習形式的組合,但主要是自我監督式學習。
預測作為學習基礎的思想回顧 (Geoff Hinton 的引言)
這個想法並不新。很多人都主張以預測作為學習的想法,學習模型,預測模型。其中一個人事實上就是 Geoff。這是他的一句話,這是幾年前的,但他已經說了大約 40 年了。至少比我認識他更久。它是這樣說的:「大腦大約有 10 的 14 次方突觸,我們只活了大約 10 的 9 次方秒。所以我們的參數比數據多很多。這激發了這樣一個想法:我們必須做大量的非監督式學習或自我監督式學習,因為感知輸入,包括本體感覺(proprioception),是唯一可以獲得每秒 10 的 15 次方維度約束的地方。」
如果您被要求預測每秒鐘進入您感官的一切,那將是大量的資訊,您必須學習。這可能足以約束我們大腦中所有的突觸,以學習有意義的事物。
深度學習的續集:自我監督式學習的革命
所以在我看來,深度學習的續集是自我監督式學習。事實上,從歷史上看,正如 Geoff 提到的,Yoshua、Geoff 和我在 2000 年代初期發起的深度學習陰謀,最初的重點就是非監督式學習,非監督式語音訓練。這在一定程度上是成功的。但我們曾將其暫時擱置。現在它又重新回到前沿。它將引發一場新的革命。至少這是我的預測。下一場革命將不是監督式的。
所以我必須感謝 Alyosha Efros 提出了這個口號。他發明的。當然,他受到了 Gil Scott Heron 的啟發,《革命將不會被電視轉播》。您現在甚至可以買到印有這個口號的 T 恤。
自我監督式學習的實踐:填空 (自然語言處理)
那自我監督式學習到底是什麼?自我監督式學習就是在填空。它對於自然語言處理效果非常好。所以在自然語言處理中,一種在過去一年變得標準的方法,在像 BERT 等模型中,您從文本語料庫中提取一個長序列的詞語,遮蔽一部分詞語。然後訓練一個非常大的神經網路,基於那些 Transformer 架構或各種其他架構,來預測缺失的詞語。事實上,它無法精確預測缺失的詞語,所以您要求它在整個詞彙表上預測在這些位置每個詞語可能出現的機率分佈。這被稱為,這是一個我們稱為遮蔽自動編碼器(masked auto encoder)的特例。給它一個輸入,要求它重建輸入中未呈現的部分。
自我監督式學習在電腦視覺的嘗試
人們也一直在嘗試在圖像辨識的背景下做這件事。有一些不同的嘗試。這是 Pathak 等人幾年前的工作,您遮蔽圖像的一部分,然後要求系統填補。這只取得了部分成功。遠不及在自然語言處理背景下那麼成功。
自然語言處理的革命性進展
所以在自然語言處理方面,過去一年來,使用這些預訓練系統進行自然語言理解、翻譯等各種任務,發生了一場革命。性能令人驚嘆。這些模型非常非常大。但性能確實運作得非常好。Yoshua Bengio 很久以前在 90 年代以及 Milan Klement 和 Weston 在 2010 年左右使用神經網路進行 NLP 的工作已經有一些早期跡象。然後是最近的工作,Word2vec, FastText 等,我會選擇這種從上下文預測詞語的想法。但是,整個想法完全起飛了。
為何自我監督式學習在自然語言處理中更成功?
那麼為什麼它對自然語言處理有效,而對圖像和視覺效果不太好呢?我認為這是因為我們如何表示不確定性,或者我們如何不表示不確定性。
影片預測的挑戰:不確定性與模糊預測
假設我們想做影片預測。我們有一些只有幾幀的短片。在這個例子中,一個小女孩走近生日蛋糕。然後我們要求機器預測影片的未來幾幀。如果您訓練一個大型神經網路使用最小平方誤差來預測未來幾幀,您會得到模糊的預測。為什麼?因為系統無法精確預測將會發生什麼,所以它能做的最好就是預測所有可能未來的平均值。
更具體地說,假設所有的影片都是某人將一支筆放在桌子上然後鬆手,每次重複實驗,筆會朝不同的方向掉落。您無法真正預測它會朝哪個方向掉落。那麼如果您預測所有結果的平均值,那將是一個透明的筆,在所有可能的方向上疊加在一起。這不是一個好的預測。
解決不確定性的方法:潛在變數模型
所以如果您想讓系統能夠表示多個預測,它必須有一個所謂的潛在變數(latent variable)。所以您有一個由神經網路實現的函數。它接收過去的數據,比如影片的幾幀,然後它想預測未來的幾幀。它必須有一個額外的變數,這裡稱作 Z,這樣當您改變這個變數時,輸出會在特定的一組可能預測中變化。好的,這就是所謂的潛在變數模型。
訓練這些東西的問題是,基本上我們只知道兩種訓練方法。或者說兩種訓練這些系統的方法家族。一種是非常酷的想法,來自 Ian Goodfellow 和他在 University of Montreal 的合作者幾年前提出的對抗訓練(adversarial training)。或者稱為生成對抗網路(generative adversarial networks, GANs)。GANs 的想法是訓練第二個神經網路來告訴第一個神經網路,它的預測是否在可信未來的流形(manifold)或集合上。您同時訓練這兩個網路。還有另一種技術,它在於推斷潛在變數的理想值,以便做出一個好的預測。但如果您這樣做,您會面臨潛在變數捕捉所有關於預測的信息的風險,而沒有信息會實際用於過去的數據來做出預測。所以您必須對這個潛在變數進行正則化。
潛在變數模型的訓練方法:對抗式訓練 (GANs)
好的,所以像對抗訓練這樣的想法效果非常好。您在這裡底部看到的是一段短片的影片預測,系統已經用這種對抗訓練進行了訓練。而且進行這些預測的方法有很多種。不僅僅在像素空間,還可以在已經分割的物體空間。這些對抗生成網路可以生成用於輔助藝術創作的圖像。這些都是不存在的人臉。您這裡有一個系統,它已經被訓練生成看起來像名人的圖像,訓練完成後,您餵入幾百個隨機數,結果就出來一張不存在的人臉。而且它們看起來相當不錯。這是 NVIDIA 今年的工作,實際上是今年展示的。您可以用它來生成各種不同的東西。例如,衣服。根據某位著名設計師的一系列衣服進行訓練。
對抗不確定性的新技術需求
所以我認為我們需要新的方法來制定這個非監督式學習問題,以便我們的系統可以在連續高維空間中處理這種預測中的不確定性。在自然語言處理的背景下我們沒有這個問題,因為表示詞語分佈很容易,它只是一個離散分佈。它是一個長向量,由介於零和一之間的數字組成,總和為一。但在連續高維空間中非常困難。所以我們需要新的技術。
基於能量的自我監督式學習概念
我提出的一種技術是基於能量的自我監督式學習。想像一下您的世界是二維的。您只有兩個輸入變數,兩個傳感器,而您的整個世界,您的整個訓練集,由這個二維空間中的這些點組成。您想要的是訓練一個對比函數,我們稱之為能量,它給數據流形上的點賦予低能量。而數據流形之外的點賦予高能量。這裡基本上有很多研究要做,才能找到實現這一點的最佳方法。我最喜歡的方法是我稱之為正則化潛在變數模型。大約十年前我們在使用這類技術進行卷積網路中的特徵學習方面取得了一些成功,完全是非監督式的。
基於能量模型的應用與潛在價值
您在左邊看到的是一個系統的動畫,它通過自然圖像塊的訓練,在稀疏約束下重構這些圖像塊,從而學習定向濾波器。您在右邊看到的是用相同演算法學習的不同濾波器數量的卷積網路的濾波器。這些東西效果不錯。如果您有大量數據,它們不會擊敗監督式學習。但希望是它們將減少所需的標記數據量。
結合自我監督式學習與強化學習:學習自動駕駛
所以最後我將舉一個例子,說明如何結合所有這些來讓機器學習一些有用的東西,比如一個動作任務。這裡我要談論的是我們能否通過僅觀察其他人駕駛,並訓練一個關於世界上發生的事情的模型來訓練機器學習駕駛?
所以您在您的汽車裡。您可以看到周圍的所有汽車。如果您能提前預測周圍汽車會做什麼,那麼您基本上就可以防禦性駕駛。您可以決定遠離這輛汽車,因為您看到它在晃動。您可以決定慢下來,因為您前面的汽車很可能會慢下來,因為它前面還有另一輛汽車正在慢下來。所以您有所有這些預測模型,它們基本上讓您保持安全,並且您學會了隨時間整合它們。您甚至不必去想它。它就在您的駕駛反應中。您可以同時說話。和您的工作。
前向模型的訓練與不確定性
但是訓練這樣一個系統的方法是,您首先必須訓練一個前向模型(forward model)。所以前向模型就是這樣:給出時間 T 的世界狀態,給我一個關於時間 T 加 1 的世界狀態的預測。當然,這方面的問題是世界並非確定性的。有很多事情可能發生。所以這和我談論那支筆時遇到的問題是一樣的,很多事情都可能發生。但是如果您有這樣一個前向模型,您可以運行多個時間步長的前向模型。然後如果您有一個目標函數,比如您離其他汽車有多遠,您是否在車道上,等等,您可以使用整個系統進行反向傳播梯度,來訓練一個神經網路預測長遠來看安全正確的行動方案。這完全可以在您腦中完成。如果您腦中有一個前向模型,您不必真正開車來訓練自己駕駛,您可以僅僅想像所有這些事情。
這是一個具體的例子。在高速公路上放置一個朝下看的攝像機。它跟隨每一輛汽車,並提取一個圍繞每一輛您在底部看到的汽車的小矩形。您現在做的是訓練一個卷積網路,接收幾幀以特定汽車為中心的圖像,並預測世界的下一個狀態。如果您這樣做,您會得到,糟糕,對不起。您會得到第二列。左邊的列是真實世界發生的情況。第二列是如果您只訓練一個卷積網路使用 Z 平方來預測將會發生什麼。它只能預測所有可能未來的平均值,因此您會得到模糊的預測。
運用潛在變數模型改善前向預測
如果您現在轉換模型,使其具有一個潛在變數,允許它考慮世界的不確定性。我不會確切解釋它是如何運作的。那麼您就會得到您剛才在右邊看到的預測,其中對於這個潛在變數的每一次抽樣,您會得到不同的預測,但它們是清晰的。
訓練駕駛策略網路與探索空間的挑戰
好的,現在您可以做的是,您可以進行我剛才告訴您的訓練,您對某些變數進行抽樣,以便得到未來可能發生的情況。然後通過反向傳播訓練您的策略網路,讓您的系統進行駕駛。如果您這樣做,它不起作用。它不起作用是因為系統進入了狀態空間中前向模型非常不準確且非常不確定的一些區域。所以我們必須在目標函數中添加另一個項,以防止系統進入那些預測效果不佳的空間部分。
好的,如果您願意,這就像一個反向好奇心約束。如果您這樣做,它就起作用了。
透過觀察學習駕駛策略的實驗成果
這些是範例,藍色汽車正在自己行駛。小白點表示它是否加速、是否剎車或是否轉彎。它能讓自己安全地遠離其他汽車。其他汽車看不見它。藍色汽車在這裡是隱形的。讓我再給您看一個例子。這裡黃色汽車是影片中的實際汽車。藍色汽車是這裡被訓練的代理正在做的事情。它被擠在兩輛汽車之間,所以它必須逃脫,因為其他汽車看不見它。所以它必須擠出去。但它有效。它運作得相當不錯。基本上,這個系統從未與真實世界互動過。它只是看了其他人駕駛。然後它利用這些觀察來訓練它的行動計畫。基本上就是它的策略。
技術與科學的歷史關係
好的,現在我要稍微講點哲學。在技術和科學的歷史上,一直存在這種現象。它不是普遍的,但相當頻繁,人們發明一個人工製品,然後從這個人工製品中推導出科學,來解釋這個人工製品如何工作,或者弄清楚它的局限性。
一個很好的例子是 1600 年代望遠鏡的發明。光學至少在 50 年後才發展起來。但人們在那之前就對如何建造望遠鏡有很好的直覺。蒸汽機在 1600 年代末、1700 年代初發明,而熱力學則是在 100 多年後才出現。基本上是為了解釋熱力機的局限性。熱力學現在是所有科學中最基本、最完整的建構基礎之一。所以它是特意為解釋特定人工製品而定義的。這非常有趣。
電磁學和電動力學也是如此。帆船和飛機的發明,以及空氣動力學。化合物的發明和化學(用於解釋),等等,對嗎?電腦科學是在電腦發明之後出現的,對吧?信息論是在第一批數位通信(通過無線電、電傳打字機等)發明之後出現的。
建構智慧產品是否會催生智慧理論?
所以很有可能,在接下來的幾十年裡,我們將擁有通過試錯、或許是通過強大機器的系統性優化、或許是通過直覺、通過實證工作,或許還有一點理論,希望有很多理論,來構建的經驗系統。問題是這是否會導致一個完整的智慧理論。我們能夠建造一個智能人工製品的事實,可能會導向一個關於信息處理和智慧的通用理論。這是一種很大的希望。我不確定這會在接下來的幾十年裡實現,但這是一個好的目標。
生物啟發的注意事項:不要只是模仿
關於生物啟發,我要警告一下。神經網路受到了生物學的啟發。卷積網路也受到了生物學的啟發。但它們只是受到了啟發,它們不是複製。
讓我給您講一個關於一位叫 Clement Ader 的先生的故事。這裡有 French 人嗎?好的,請舉手,French 人?沒有 French 人。是的,好吧,有幾個。您聽說過 Clement Ader 嗎?從未聽說過 Clement Ader。是的,您聽說過,好的。有沒有非 French 人聽說過 Clement Ader?好的,一個,兩個。基本上沒有人。你們完全不知道他是誰。好的。
所以這個人在 1800 年代末建造了一架蝙蝠形的飛機,用蒸汽動力驅動。他是一位蒸汽機設計師。他的飛機實際上在 Wright 兄弟之前 13 年自己起飛了。飛行了約 50 米,高度約 50 厘米,然後就墜毀降落了。它基本上無法控制。所以基本上,這個人只是複製了蝙蝠,並假設因為它有蝙蝠的形狀,它就能飛。這看起來有點天真。其實一點也不天真,但它有點過於依賴生物學,並被它催眠了。而且沒有做像建造模型、滑翔機、風箏或風洞之類的事情,就像 Wright 兄弟那樣。所以他過於依賴生物學了。
Clement Ader 的飛行器故事:過度模仿生物的例子
另一方面,他留下了巨大的遺產,那就是他的第二架飛機叫做 L'Avion。這實際上是 French 文、Spanish 文和 Portuguese 文中表示「飛機」的詞。所以他確實留下了一些遺產。但他是一個有點神秘的人。這是在開源時代之前的事了。所以,這就是您從未聽說過他的原因。非常感謝。(觀眾鼓掌)
問答環節
謝謝。謝謝 Geoff。謝謝 Yann。我們有,能請把會場燈打開嗎?我們有兩個麥克風,還有時間提幾個問題。請開會場燈。我知道它們之前亮過。(觀眾笑聲)是的,那麼首先,讓我們為 Yann 和 Geoff 精彩的演講鼓掌。(觀眾鼓掌)
在有人走到麥克風前時,分享一個小知識。Alan Turing 的生日是 1912 年 6 月 23 日。所以今天是他的 107 歲生日。因此我們今天能有這場令人難忘的圖靈演講非常合適。好的,問題。
- [女] 您好,謝謝兩位。我對理解推理這項工作非常感興趣。您能否稍微介紹一下您的想法?關於神經網路如何推理。
- [Geoff Hinton] 好的,神經網路非常擅長您在一百毫秒內並行完成的事情。到目前為止,它們不太擅長您在更長時間內完成的事情。特別是,人們批評神經網路的一點是它們無法做到遞歸。所以當我們理解一個句子時,我們可以轉入一個關係子句,並理解這個關係子句。我們將所有精力用於理解那個關係子句,然後再回來。這種事情我們剛剛開始能夠用神經網路來做。Facebook 的人做了很多這方面的工作。Google 的人也在做。但是為了做這樣的事情,您需要某種記憶。在神經網路中,典型的做法是您只是有另一組神經元,這些神經元是您已經擁有的神經元的複製。但這不符合生物學上的合理性。所以我總是想要一些符合生物學上的合理性的東西。在大腦中,這種記憶似乎更可能不是神經活動的複製,而是一種聯想記憶,它可以重塑神經活動。但這是一種僅用於臨時事物的功能。
- [Yann LeCun] 關於這方面的工作其實很多,都在試圖彌補神經網路無法進行長鏈推理的不足。所以 Geoff 長期以來一直倡導的一個問題是,如果您擁有基於古典邏輯的推理,它是離散的,因此與基於梯度的學習不相容。那麼您如何通過用向量替換符號,用連續函數替換邏輯來進行推理呢?基本上是基本的連續函數。如果您需要長鏈推理,您需要工作記憶。Geoff 剛才提到了一個想法,使用快速權重,許多人正在研究所謂的記憶網路(memory networks)。所以您基本上有一個循環網路(recurrent net),它可以存取一個單獨的神經網路,這個網路也是可微分的,但它的特定架構使其成為一個聯想記憶。這些在簡單情況下是有效的。它們還沒有擴展到大型問題。但有些非常有趣的工作,神經網路並非直接計算答案,而是生成一個神經網路,這個神經網路被設計來回答被問的問題。視覺問答就是一個典型的例子。您向系統展示一個複雜圖像,然後問它:「這張圖片中有沒有比這兩個方塊更大的 Chinese 劇院?」神經網路做的是生成另一個神經網路,這個神經網路擁有回答這個問題所需的正確模組。您可以通過反向傳播訓練整個系統,它居然能運作,這有點神奇。但它確實有效。
- [Vivek Sarkar] 嗯,還有一個問題。哦,抱歉,是的,請說。
- [Efram] 您好,我是來自 Northeastern University 的 Efram。我知道很多人質疑神經網路,說我們知道神經網路有效,但我們不知道它們是如何運作的。所以我想聽聽您對這個問題的看法。
- [Yann LeCun] 其實這不完全正確。我的意思是,我們當然有一些理解。我的意思是,首先,我們可以存取機器內部的一切,對吧?顯然,這些東西有幾億個參數,幾十萬個內部變數。這會很複雜。它必須很複雜,因為我們希望它們解決複雜的問題。所以認為您能完全理解每一個細節是無望的。另一方面,我認為有很多理論上的理解,例如為什麼優化在大型網路中似乎有效。為什麼系統似乎沒有被困在局部最小值中。或者學習到的表示的類型。
- [Geoff Hinton] 我對此也有話說。就是我們不知道大多數人是怎麼做事的,我們完全不知道他們是怎麼做到的。所以如果您用神經網路取代人類,您的處境不會比用人類更糟。但您可能會更好,因為您可以用神經網路比用人更好地控制偏見。但另一件事是,有些任務可能需要利用數據中成千上萬個微弱的規律來做出預測。沒有簡單的規則。只有大量的微弱規律。大型神經網路所做的是它們利用了所有這些規律,並說你知道,30 萬個規律說是,15 萬個規律說否,所以很可能是是。如果您問我,它是怎麼做到的?如果您期望得到一些電腦程式碼的行數來計算,您不會得到。這個神經網路有一億個權重,它做到的方式是這些一億個權重擁有這些值。這可能是您能得到的最好的解釋了。所以對於這種決策,您只能接受這樣一個事實:人們有直覺,他們的直覺告訴他們怎麼做。神經網路也有直覺。它們運作的方式,就像人類一樣,是通過大量權重共同作用,來判斷這個比那個更有可能。
- [Vivek Sarkar] 謝謝,我知道您一直在等,所以請您先提問,然後我們再從那邊取一個問題。
- [男] 抱歉,只有一個快速問題。關於其他 AI 方面,比如進化計算等等,您對此有什麼看法嗎?因為您剛才提到它們只是符號式和歐洲式。
- [Geoff Hinton] 抱歉,我沒聽清您說什麼。
- [男] 像遺傳規劃(genetic programming)之類的東西。
- [Geoff Hinton] 啊,是的。我認為它非常適合設定超參數(hyperparameters)。也就是說,如果您在高維空間中,並且想要改進,如果您能獲得梯度,您的表現會比那些無法獲得梯度的人好很多。大腦是一種獲得梯度的裝置。進化無法獲得梯度,因為決定基因型和表現型之間關係的很多因素超出了您的控制範圍。那是環境。所以進化必須使用突變、隨機變化和重組等技術。但我們不限於此。我們可以製造一個能夠獲得梯度的裝置。現在很明顯,如果您能夠獲得梯度,您也可以使用進化來使那個裝置變得更好。如果您看看現在神經網路中發生什麼,您使用梯度來訓練神經網路。但現在您使用更像是進化技術的方法來微調超參數。
- [Vivek Sarkar] 我想我們還有時間從那邊再提一個問題。
- [男] 非常感謝。Yann 談到了在自動駕駛汽車的感知方面使用 CNs 或其他類型的神經網路,聽起來不是很積極。您能否就此多做一些評論?
- [Yann LeCun] 嗯,有很多聲明,可能更多是市場導向而非科學導向,稱完全自主駕駛即將實現。但它遠比大多數人想像的要困難得多。當然,很多業內人士都知道這很困難,而且並非近在咫尺。我認為在很多 AI 領域,以及整個 AI 領域,都有類似的情況,許多人對何時能達到人類水平的 AI 抱有非常樂觀的期望。
在我看來,這並非近在咫尺。肯定有一些問題,例如如何正確進行自我監督式學習,需要在這之前解決。但這並非唯一的障礙。它只是我們看到的第一座山。可能還有許多我們還沒有弄清楚的後面的山。
所以我認為自動駕駛也是如此。自動駕駛,早期取得令人印象深刻的成果很容易,汽車看起來能很好地自動駕駛半小時。但是要達到與人類相同的可靠性水平,即每 1 億英里發生一次致命事故,抱歉,每 1 億英里。(觀眾笑聲)你知道,朋友之間 10 的 6 次方算什麼。(觀眾笑聲)達到那個水平真的非常困難。如果您試圖通過觀察性能如何隨數據量增加而提高來推斷達到那個水平需要多少數據,那基本上是不切實際的。
所以我們必須找到新的訓練這些系統的方法。我認為自我監督式學習是答案的一部分。我們拭目以待。這是一個難題。您可以過度工程化它。您可以添加傳感器使處理更容易。您可以製作詳細地圖。您可以做各種各樣的事情,以便在某些條件下使它變得實用。但完全的 Level 5 自主駕駛是很困難的。
- [男] 非常感謝。
- [Vivek Sarkar] 好的,我知道你們許多人還有其他會議活動要參加。現在我們問答環節結束了。所以我要再次非常感謝 Yann 和 Geoff 帶來這場最令人難忘的圖靈演講。(觀眾鼓掌)謝謝。祝您會議餘下的時間愉快,包括今晚的活動。謝謝。