0
雷鋒網(wǎng) AI 科技評論按:毫無疑問,深度學(xué)習(xí)是影響當(dāng)今世界科技發(fā)展的最重要的技術(shù)之一。2018 年,深度學(xué)習(xí)「三巨頭」因其在這個領(lǐng)域的卓越貢獻(xiàn)榮獲圖靈獎。在人們感慨人工智能迎來春天的同時,也有人為「LSTM 之父」Jürgen Schmidhuber 未能分享這份榮譽而感到遺憾。事實上,除了 LSTM 之外,深度神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、無監(jiān)督學(xué)習(xí)、自監(jiān)督學(xué)習(xí)、元學(xué)習(xí)、知識蒸餾、對抗生成網(wǎng)絡(luò)等重要技術(shù)的誕生與 Jürgen 都有著千絲萬縷的聯(lián)系。
近日,Jürgen 親自撰文介紹了自己從上世紀(jì)90年代起在深度學(xué)習(xí)領(lǐng)域所做出的巨大貢獻(xiàn)。正如 Jürgen 所言,對于科學(xué)研究來說,「唯一真正重要的是研究的質(zhì)量」。也許多年以后,當(dāng)人們回顧這段歷史,我們會意識到,最重要的并不是誰發(fā)明了某項技術(shù),而是技術(shù)本身對于人類文明發(fā)展所具有的無上價值!
Jürgen 在洋洋灑灑寫了近兩萬字之后,總結(jié)道:「放眼于以英語為主導(dǎo)的學(xué)術(shù)圈,我們往往不能看清一個事實——深度學(xué)習(xí)是在官方語言不是英語的地方被發(fā)明的。」對我們中國(當(dāng)前人工智能研究領(lǐng)域最大非英語為母語地區(qū))的人們來說,似乎尤其應(yīng)當(dāng)認(rèn)識到這點。
Jürgen 還提到:
深度學(xué)習(xí)只是人工智能研究的一小部分,它主要局限于被動的模式識別?!斯ぶ悄鼙旧硪仓皇歉甏蟮目茖W(xué)追求的一部分,它將宇宙從簡單的初始條件推向越來越深不可測的復(fù)雜性。最后,即使這個令人敬畏的過程可能也只是所有邏輯上可能存在的宇宙中更宏大、更有效的計算中的滄海一粟。
AI 科技評論將 Jürgen 撰寫的這篇文章編譯了下來,以饗讀者。由于文章較長,且多為歷史,如果您對過往并不感興趣,也可以只看目錄,然后迅速翻到最后的「結(jié)論」部分。
Jürgen :我們團隊的深度學(xué)習(xí)(DL)神經(jīng)網(wǎng)絡(luò)(NN)技術(shù)推動了模式識別和機器學(xué)習(xí)的巨大變革,如今,這些技術(shù)被學(xué)術(shù)界和工業(yè)界廣泛應(yīng)用。到 2020 年,我們將慶祝這場革命背后早在 30 年前就在不到 12 個月的時間里相繼發(fā)表出來的許多基本思想,那一年正是 1990-1991 年,是深度學(xué)習(xí)在慕尼黑工業(yè)大學(xué)誕生的「奇跡之年」!
當(dāng)時,很少有人對這一研究領(lǐng)域感興趣,但是四分之一個世紀(jì)過去了,基于這些思想設(shè)計的神經(jīng)網(wǎng)絡(luò)出現(xiàn)在了包括智能手機在內(nèi)的逾 3 億臺設(shè)備上,每天會被使用數(shù)十億次,消耗著這個世界上相當(dāng)大一部分的計算資源。
下面,本文將總結(jié)深度學(xué)習(xí)領(lǐng)域在 1990-1991 年究竟發(fā)生了什么重要的事件,這不僅為行外人士提供了一個對該領(lǐng)域宏觀的介紹,同時也為那些對該領(lǐng)域十分了解的專家提供了評估原始資料來源的參考。我們還提到了一些后期工作,這些工作進一步發(fā)展了 在 1990-1991 年(在慕尼黑工業(yè)大學(xué)、瑞典人工智能實驗室 IDSIA,以及其它地方)誕生的思想,本文還介紹了其他人的一些相關(guān)工作。本文的目錄如下:
0. 人工神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)的研究背景
1. 第一個基于無監(jiān)督預(yù)訓(xùn)練的深度學(xué)習(xí)器(1991)
2. 對一個網(wǎng)絡(luò)進行壓縮/蒸餾,用于一個網(wǎng)絡(luò)(1991)
3. 根本性的深度學(xué)習(xí)問題(梯度彌散/爆炸,1991)
4. 長短時記憶網(wǎng)絡(luò)(LSTM):有監(jiān)督的深度學(xué)習(xí)(基本思想誕生于 1991 年)
5. 通過對抗生成神經(jīng)網(wǎng)絡(luò)實現(xiàn)人工好奇心(1990)
6. 通過最大化學(xué)習(xí)進度的神經(jīng)網(wǎng)絡(luò)實現(xiàn)人工好奇心(1990)
7. 用于無監(jiān)督數(shù)據(jù)建模的對抗性網(wǎng)絡(luò)(1991)
8. 端到端的可微「快速權(quán)值」:能學(xué)著對神經(jīng)網(wǎng)絡(luò)進行編程的網(wǎng)絡(luò)(1991)
9. 通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)順序注意力機制(1990)
10. 分層強化學(xué)習(xí)(1990)
11. 通過循環(huán)神經(jīng)世界模型規(guī)劃并進行強化學(xué)習(xí)(1990)
12. 將目標(biāo)定義命令作為額外的神經(jīng)網(wǎng)絡(luò)輸入(1990)
13. 作為神經(jīng)網(wǎng)絡(luò)輸入/通用值函數(shù)的高維獎勵信號(1990)
14. 確定性的策略梯度(1990)
15. 用網(wǎng)絡(luò)調(diào)整網(wǎng)絡(luò)/合成梯度(1990)
16. 用于在線循環(huán)神經(jīng)網(wǎng)絡(luò)的時間復(fù)雜度為 O(n3) 的梯度計算
17. 深度神經(jīng)「熱交換器」(1990)
18. 我的博士畢業(yè)論文(1991)
19. 從無監(jiān)督預(yù)訓(xùn)練到純粹的監(jiān)督式學(xué)習(xí)(1995-1995,,2006-2011)
20. 令人驚訝的關(guān)于人工智能的 FKI 系列技術(shù)報告(1990 年代)
21. 結(jié)語
人類大腦擁有約 1,000 億個神經(jīng)元,平均每個神經(jīng)元都會與其余的 10,000 個神經(jīng)元相連。在這些神經(jīng)元中,有一些是為其它神經(jīng)元提供數(shù)據(jù)(聲音、視覺、觸覺、疼痛、饑餓)的輸入神經(jīng)元。另一些神經(jīng)元則是控制肌肉的輸出神經(jīng)元。而大多數(shù)神經(jīng)元則隱藏在輸入和輸出之間的處理過程中,這也正是我們進行思考的地方。顯然,大腦是通過改變連接的強度或權(quán)重進行學(xué)習(xí)的,這樣可以決定神經(jīng)元之間互相影響的強度,而這種機制似乎也對人們一生中積累的經(jīng)驗進行了編碼。我們的人工神經(jīng)網(wǎng)絡(luò)(NN)的工作原理與上述人類的神經(jīng)系統(tǒng)相類似,它能夠比先前的各種方法更好地進行學(xué)習(xí),從而完成語音識別、手寫數(shù)字識別或視頻識別,最小化損失、最大化受益,甚至自動駕駛汽車等任務(wù)[DL1][DL4]。
大多數(shù)現(xiàn)代的商業(yè)應(yīng)用都重點關(guān)注讓神經(jīng)網(wǎng)絡(luò)能夠模仿人類「老師」的監(jiān)督學(xué)習(xí)[DL1][DL4]。經(jīng)過了多次試驗,Seppo Linnainmaa 在 1970 年提出了一種基于梯度的計算方法[BP1],我們現(xiàn)在通常將其稱為反向傳播算法或自動微分的逆序模式,該算法被用來逐漸減弱某些神經(jīng)網(wǎng)絡(luò)連接,同時增強其它的連接,從而使神經(jīng)網(wǎng)絡(luò)與帶有監(jiān)督信號的「老師」的行為越來越相似(相關(guān)變體見[BPA][BPB][BP2])。
如今,那些最為強大的神經(jīng)網(wǎng)絡(luò)往往具有很深的結(jié)構(gòu),也就是說,他們有許多層神經(jīng)元或若干后續(xù)的計算階段。然而,在 1980 年代,基于梯度的訓(xùn)練方法并不適用于深度神經(jīng)網(wǎng)絡(luò),僅在淺層神經(jīng)網(wǎng)絡(luò)上有較好的表現(xiàn)[DL1][DL2]。
這種「深度學(xué)習(xí)問題」在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,于 1945 年首次被非正式地提出[MC43],于 1956 年被正式提出[K56]——相關(guān)變體見[PDA2])上體現(xiàn)的最明顯。循環(huán)神經(jīng)網(wǎng)絡(luò)與人類大腦相類似,但與限制更多的前饋神經(jīng)網(wǎng)絡(luò)(FNN)不同,RNN 具有反饋連接。這種結(jié)構(gòu)使 RNN 成為了功能強大、通用性強,可以進行并行計算的計算模型,它能夠處理任意長度的輸入序列(例如,語音或視頻)。RNN 基本上可以實現(xiàn)所有可以在你的筆記本電腦上運行的程序。如果我們想要構(gòu)建一個通用人工智能系統(tǒng),則其底層的計算基礎(chǔ)必然是類似于 RNN 的結(jié)構(gòu),因為 FNN 從根本上存在不足。RNN 與 FNN 的關(guān)系,就好比通用計算機和專用計算器的關(guān)系。
尤其是,不同于 FNN,RNN 基本上可以處理任意深度的問題[DL1]。然而,在 1980 年代,早期的 RNN 實際上并不能學(xué)習(xí)較深的問題。我希望克服這一缺點,實現(xiàn)基于 RNN 的「通用深度學(xué)習(xí)」。
為了解決上述的「深度學(xué)習(xí)問題」,我首先想到了通過對一個層次化 RNN 的無監(jiān)督預(yù)訓(xùn)練促進深度 RNN 中的監(jiān)督學(xué)習(xí)(1991),從而實現(xiàn)了第一個「非常深的學(xué)習(xí)器」,我們將其稱為「神經(jīng)序列組塊」(Neural Sequence Chunker)[UN0],或稱「神經(jīng)歷史壓縮器」[UN1]。每個更高層的 RNN 會使用預(yù)測性編碼技術(shù)最小化下層 RNN 中的數(shù)據(jù)表征的描述長度(或負(fù)對數(shù)概率)。其中,預(yù)測性編碼技術(shù)試圖在給定先前的輸入的情況下,預(yù)測接下來的數(shù)據(jù)流中的下一個輸入,并且只在存在不可預(yù)測的數(shù)據(jù)時更新神經(jīng)激活值,因此此時只存儲未知的東西。換句話說,神經(jīng)序列組塊會學(xué)著壓縮數(shù)據(jù)流,從而減緩「深度學(xué)習(xí)問題」,使其能夠通過標(biāo)準(zhǔn)的反向傳播方法求解。
盡管那時的計算機要比現(xiàn)在同等價位的計算機運算得慢一百萬倍,但是截止到 1993 年,我的方法可以解決之前無法解決的、深度大于 1000[UN2] 的「非常深的深度學(xué)習(xí)」(需要超過 1000 個后續(xù)的計算步驟,步驟越多則學(xué)習(xí)的深度越深)。在 1993 年,我們還發(fā)布了一個「連續(xù)」版本的神經(jīng)歷史壓縮器[UN3]。
據(jù)我所知,序列組塊[UN0]同時還是第一個由在不同(自組織的)時間尺度上運行的 RNN構(gòu)成的系統(tǒng)(實際上,我還有一種方法,可以將所有這些 RNN 「蒸餾」到一個很深的、在單個時間尺度上運行的 RNN 中——詳見本文第 2 章)。幾年之后,其他的研究者也開始在多時間尺度 RNN 的研究領(lǐng)域發(fā)表相關(guān)工作(例如,[HB96],相關(guān)的工作還有 Clockwork RNN[CW])。
在這項工作發(fā)表十多年后[UN1],一種針對限制更強的前饋神經(jīng)網(wǎng)絡(luò)的類似方法被提出,這種方法通過堆疊的前饋神經(jīng)網(wǎng)絡(luò)的無監(jiān)督預(yù)訓(xùn)練使監(jiān)督訓(xùn)練的性能得到了提升,該方法被稱為深度置信網(wǎng)絡(luò)(DBN)[UN4]。在這篇于 2006 年發(fā)表的論文中,作者的證明與我在 1990 年代初期為我的堆疊式 RNN 所使用的證明幾乎如出一轍:每個更高的層試圖縮短下層中數(shù)據(jù)表征的描述長度(或負(fù)對數(shù)概率)。
在上述的基于無監(jiān)督預(yù)訓(xùn)練的深度學(xué)習(xí)器被提出后不久,「深度學(xué)習(xí)問題」(詳見第 3 章)也通過我們的純監(jiān)督 LSTM 被解決了(詳見第四章)。后來,在 2006 到 2011 年間,我的實驗室又推動了一次非常相似的從無監(jiān)督預(yù)訓(xùn)練到純監(jiān)督學(xué)習(xí)的轉(zhuǎn)變。在「奇跡之年」過去 20 年后,這一次,通用性較低的前饋神經(jīng)網(wǎng)絡(luò)(FNN)催生了在癌癥檢測和許多其它問題上的革命性應(yīng)用,而不是循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)。詳細(xì)情況見第十九章。
當(dāng)然,前饋神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)的起源要追溯到更早的時期。1965 年,Ivakhnenko 和 Lapa 為具有任意層數(shù)的深度多層感知機發(fā)布了第一個通用可行的學(xué)習(xí)算法[DEEP1]。例如,Ivakhnenko 于 1971 年發(fā)表的論文[DEEP2] 就已經(jīng)提出了一個 8 層的深度學(xué)習(xí)網(wǎng)絡(luò),該網(wǎng)絡(luò)采用了一種高被引方法[DL2] 進行訓(xùn)練,這種方法直到 2000 年后仍然被廣泛使用。但是,與 Ivakhnenko 與其后繼者在 1970 年代和 1980 年代提出的深度 FNN 不同,我們的深度 RNN 具有通用的并行序列計算架構(gòu)[UN0-3]。
直到 1990 年代初期,大多數(shù)神經(jīng)網(wǎng)絡(luò)方面的研究仍然僅限于包含 10 個以內(nèi)的后續(xù)計算步驟的非常淺的網(wǎng)絡(luò),而我們的方法已經(jīng)可以使包含 1,000 個這樣的后續(xù)計算步驟的網(wǎng)絡(luò)正常工作。我想說的是,正是我們讓神經(jīng)網(wǎng)絡(luò)變得這么深(尤其是 RNN,它是所有網(wǎng)絡(luò)中最深、功能最強大的)。
在我們上面提到的關(guān)于神經(jīng)歷史壓縮器(第 1 章)的論文中,還介紹了一種將網(wǎng)絡(luò)的層次結(jié)構(gòu)(較高層網(wǎng)絡(luò)相較于較低層網(wǎng)絡(luò),往往在慢得多的自組織時間尺度上運行)壓縮到一個深度 RNN[UN1] 中,從而在盡管存在第 0 章提到的障礙的情況下,學(xué)著解決非常深的網(wǎng)絡(luò)的學(xué)習(xí)問題。這部分的內(nèi)容在參考文獻(xiàn) [UN1][DIST1] 的第 4 章有介紹,它們討論了「有意識」的組塊和「下意識」的自動化,介紹了將一個神經(jīng)網(wǎng)絡(luò)的知識遷移到另一個神經(jīng)網(wǎng)絡(luò)上的通用原則。
假設(shè)有一個「老師」神經(jīng)網(wǎng)絡(luò)和一個「學(xué)生」神經(jīng)網(wǎng)絡(luò),「老師」神經(jīng)網(wǎng)絡(luò)已經(jīng)學(xué)會了對在給定其它數(shù)據(jù)的情況下,預(yù)測數(shù)據(jù)(的條件期望)。那么我們可以通過訓(xùn)練「學(xué)生」神經(jīng)網(wǎng)絡(luò)模仿「老師」神經(jīng)網(wǎng)絡(luò)的行為,將「老師」神經(jīng)網(wǎng)絡(luò)的知識壓縮到一個「學(xué)生」神經(jīng)網(wǎng)絡(luò)中(同時重新訓(xùn)練學(xué)生神經(jīng)網(wǎng)絡(luò)去完成之前學(xué)過的技能,從而避免它遺忘這些技能)。
我將這種操作稱作將一個網(wǎng)絡(luò)的行為「折疊」或「壓縮」到另一個網(wǎng)絡(luò)中。如今,這種方法被廣泛使用,有的研究者(例如,Hinton)也將它稱為將「老師」網(wǎng)絡(luò)的行為「蒸餾」[DIST2] 或「克隆」到一個「學(xué)生」網(wǎng)絡(luò)中。
在介紹背景知識的第 0 章中,我們指出深度學(xué)習(xí)是很困難的。但是為什么它很困難呢?我喜歡將其中的一個主要原因稱為「根本性的深度學(xué)習(xí)問題」,而我的第一個學(xué)生 Sepp Hochreiter 于 1991 年在他的畢業(yè)論文 [VAN1] 中提出了這個問題,并且對其進行了分析。
作為這篇論文的一部分,Sepp 實現(xiàn)了上面(第 1 章)介紹的「神經(jīng)歷史壓縮器」和其它基于 RNN 的系統(tǒng)(第 11 章)。除此之外,他還做了更多的工作——他的工作正式說明了,深度神經(jīng)網(wǎng)絡(luò)受困于如今非常著名的「梯度彌散」或「梯度爆炸」問題:在典型的深度網(wǎng)絡(luò)或循環(huán)網(wǎng)絡(luò)中,反向傳播的誤差信號要么迅速衰減,要么增長得超出界限。在這兩種情況下,學(xué)習(xí)都會失敗。這樣的分析催生了如今的 LSTM 的基本原理 (詳見第 4 章)。
(在 1994 年,還有其他研究者的研究成果 [VAN2] 和 Sepp 于 1991 年發(fā)表的有關(guān)梯度彌散的研究成果 [VAN1] 基本一模一樣。甚至在公開發(fā)表了論文 [VAN3] 之后,本文參考文獻(xiàn) [VAN2] 的第一作者還發(fā)表了一系列論文(例如 [VAN4]),并且只引用了他自己在 1994 年發(fā)表的論文,但對 Sepp 的原創(chuàng)性工作只字不提。)
請注意,在 Sepp 的論文指出那些深度神經(jīng)網(wǎng)絡(luò)中反向傳播的問題之前 20 年,有一位名字相似的學(xué)生(Seppo Linnanimaa)于 1970 年在他的論文中發(fā)表了現(xiàn)代的反向傳播算法,或稱自動微分的逆向模式[BP1]。
長短時記憶虛幻神經(jīng)網(wǎng)絡(luò)(LSTM)[LSTM1-6] 克服了 Sepp 在其 1991 年發(fā)表的畢業(yè)論文 [VAN1](詳見第 3 章) 中提出的根本性的深度學(xué)習(xí)問題。我認(rèn)為這是機器學(xué)習(xí)歷史上最重要的論文之一。它還通過我們在 1995 年發(fā)布的技術(shù)報告 [LSTM0] 中所稱的 LSTM 的基本原理(例如,恒定誤差流)為解決根本性的深度學(xué)習(xí)問題提供了重要的思路。這催生了如下所述的大量后續(xù)工作。
明年,我們將慶祝 LSTM 首次未能通過同行評審的 25 周年。1997年,在經(jīng)過了主要的同行評審出版物 [LSTM1](現(xiàn)在是「Neural Computation」期刊歷史上引用量最多的文章)發(fā)表之后,LSTM 模型和它的訓(xùn)練過程都得到了進一步的改進,這些工作由瑞士人工智能實驗室「IDSIA」的瑞士 LSTM 基金支撐,我后來的學(xué)生 Felix Gers、Alex Graves 等人參與到了這些工作中。
其中一個具有里程碑意義的工作是:帶有遺忘門 [LSTM2] 的「vanilla LSTM」架構(gòu),這是1999年到 2000 年間被提出的 LSTM 變體,直到現(xiàn)在仍然被廣泛使用(例如,在谷歌的 Tensorflow 中)。LSTM 的遺忘門實際上是一種端到端可微的快速權(quán)值控制器,我們在 1991 年也提出了這種結(jié)構(gòu)[FAST0](詳見第八章)。
Alex 是我們首次成功地將 LSTM 應(yīng)用于語音領(lǐng)域的工作的第一作者 (2004)[LSTM10]。2005 年,我們發(fā)布了第一個具有完全基于時間的反向傳播功能的 LSTM 和雙向 LSTM 發(fā) [LSTM3](現(xiàn)在被廣泛使用)。2006 年,另一個重要的里程碑是:用于同時對齊和序列識別的訓(xùn)練方法 「連接時序分類」(簡稱 CTC)[CTC]。自 2007 年以來,CTC 成為基于 LSTM 的語音識別的必要技術(shù)。例如,在 2015 年,「CTC-LSTM」的組合顯著提升了谷歌語音識別系統(tǒng)的性能 [GSR15][DL4]。
在 2000 年代初期,我們說明了 LSTM 如何學(xué)習(xí)傳統(tǒng)模型(如隱馬爾可夫模型)無法學(xué)習(xí)的語言 [LSTM13]。過了一段時間,這份工作才被理解;但到了 2016~2017 年,谷歌翻譯 [WU][GT16] 和 Facebook 翻譯 [FB17] 均基于兩個連接的 LSTM 被提出,其中一個 LSTM 被用于輸入文本,另一個被用于輸出翻譯,這種模型的性能比之前的模型要好得多[DL4]。
2009 年,我的博士學(xué)生 Justin Bayer 作為第一作者完成了一個自動設(shè)計類似于 LSTM 的架構(gòu)的系統(tǒng),該系統(tǒng)在某些應(yīng)用上的性能超過了「vanilla LSTM」。2017 年,谷歌開始使用類似的「神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索」(NAS)技術(shù)。
自 2006 年起,我們一直與軟件公司(例如,LifeWare)通力合作,大大提升了首寫字母識別系統(tǒng)的能力。2009 年,在 Alex 的努力下,利用「連接時序分類」(CTC)技術(shù)訓(xùn)練的 LSTM 模型成為了首次在國際競賽(三個 ICDAR 2009 舉辦的聯(lián)通首寫字母識別大賽(法文、波斯文、阿拉伯文))中奪冠的 RNN 模型。這極大地吸引了工業(yè)界的興趣。
不久之后,LSTM 便被廣泛應(yīng)用于涉及包括語言、語音、視頻在內(nèi)的序列數(shù)據(jù)的一切任務(wù) [LSTM10-11][LSTM4][DL1]。截至 2017年,人們基于 LSTM 模型構(gòu)建了Facebook 的機器翻譯系統(tǒng)(每周需要完成超過300 億份翻譯任務(wù))[FB17][DL4],超過 10 億臺 iPhone 上運行的蘋果的「Quicktype」智能輸入法 [DL4],亞馬遜的 Alexa 語音助手,谷歌的語音識別(自 2015 年起內(nèi)置于安卓設(shè)備)[GSR15][DL4]、圖像字幕生成[DL4]、機器翻譯[GT16][DL4]、自動郵件回復(fù)[DL4] 等系統(tǒng)。美國的「商業(yè)周刊」將 LSTM 成為「商業(yè)化程度最高的人工智能研究成果」。
到 2016 年為止,谷歌數(shù)據(jù)中心超過四分之一的算力都被用于 LSTM(相比之下,只有 5% 被用于另一種名為「卷積神經(jīng)網(wǎng)絡(luò)」的流行的深度學(xué)習(xí)技術(shù)——詳見第 19 章)[JOU17]。谷歌 2019 年發(fā)布的新的設(shè)備內(nèi)置的語音識別(現(xiàn)階段內(nèi)置于你的手機上,而不是部署在服務(wù)器上)仍然是基于 LSTM 模型設(shè)計的。
通過我的學(xué)生 Rupesh Kumar Srivastava 和 Klaus Greff 的工作,LSTM 的原理也催生了我們在 2015 年 5 月提出的「Highway」神經(jīng)網(wǎng)絡(luò)[HW1],這是第一個具有數(shù)百層非常深的 FNN 結(jié)構(gòu)的網(wǎng)絡(luò)。微軟提出的廣為人知的 ResNet[HW2](ImageNet 2015 競賽的冠軍方案)就是 Highway 神經(jīng)網(wǎng)絡(luò)的一種特例。然而,早期的 Highway 網(wǎng)絡(luò)就可以在 ImageNet 上取得與 ResNet 大致相當(dāng)?shù)男阅躘HW3]。Highway 層還常常被用于自然語言處理領(lǐng)域,而此時更為簡單的殘差層則性能較差[HW3]。
我們還通過沒有「老師」監(jiān)督信息的強化學(xué)習(xí)(RL)技術(shù)訓(xùn)練 LSTM 模型(例如,我的博士后 Bram Bakker 于 2002 年發(fā)表的工作 [LSTM-RL])。我們還通過神經(jīng)演化來訓(xùn)練 LSTM,例如我的博士生 Daan Wierstra 于 2005 年發(fā)表的工作 [LSTM12],Daan 后來成為了 DeepMind 公司的 1 號員工,而 DeepMind 的聯(lián)合創(chuàng)始人正是我實驗室中的另一名博士生 Shane Legg(Shane 和 Dann 是 DeepMind 公司里最早發(fā)表人工智能論文的計算機科學(xué)博士)。
強化學(xué)習(xí)與 LSTM 的結(jié)合具有重要的意義。例如, 2019 年,DeepMind 在「星際爭霸」游戲(該游戲在很多方面都要比國際象棋和圍棋更加困難)中擊敗了職業(yè)玩家,而它們使用的正式一種名為「Alphastar」的算法,該算法的決策中樞擁有通過強化學(xué)習(xí)訓(xùn)練的深度 LSTM 核心 [DM3]。OpenAI 的「Dactyl」仿人機械手也采用了通過強化學(xué)習(xí)訓(xùn)練的 LSTM 核心,它能夠?qū)W著在沒有「老師」監(jiān)督信息的情況下,控制靈巧的機器人手[OAI1],同時「OpenAI Five」也于 2018 年通過學(xué)習(xí)在 DOTA2 游戲中成功擊敗了人類職業(yè)玩家 [OAI2]。
上面提到的這一切成果的重要基礎(chǔ)都是在 1991 年奠定的。后來,在慕尼黑工業(yè)大學(xué)和(當(dāng)時還是私人的)瑞士 Dalle Molle 人工智能研究所(IDSIA)的基礎(chǔ)基金以及我在 1990 年代和 2000 年代早期的「神經(jīng)網(wǎng)絡(luò)寒冬」中從瑞士、德國、歐盟獲得的公共基金的資助下,我的團隊還研發(fā)出了「LSTM&CTC」等成果,試圖在幾乎沒有人對神經(jīng)網(wǎng)絡(luò)感興趣的年代保持這一領(lǐng)域的活力。
在此,我要特別鳴謝 Kurt Bauknecht、Leslie Kaelbling、Ron Wiliams 以及 Ray Solomonoff 等教授,他們對我提交的基金申請的積極評價在很大程度上幫助我自從 1990 年代以來獲得了來自 SNF 的資金支持。
當(dāng)人類與自己身處的世界交互時,他們會學(xué)著預(yù)測自己行為的后果。人們有很強的好奇心,會通過設(shè)計實驗得出新的數(shù)據(jù),并且可以從中學(xué)到更多知識。1990 年,為了構(gòu)建具有好奇心的人工智能體,我提出了一種新型的主動無監(jiān)督學(xué)習(xí)(或自監(jiān)督學(xué)習(xí))算法[AC90, AC90b]。該方法以一個極小極大博弈為基礎(chǔ),其中一個神經(jīng)網(wǎng)絡(luò)最小化另一個神經(jīng)網(wǎng)絡(luò)最大化的目標(biāo)函數(shù)。現(xiàn)在,我把這種兩個無監(jiān)督的對抗性神經(jīng)網(wǎng)絡(luò)之間的博弈稱為對抗性好奇心 [AC19],以區(qū)別于我們后來自從 1991 年提出的人工好奇心 (詳見第六章)。
然而,對抗性好奇心的工作原理如何呢?我們不妨將第一個神經(jīng)網(wǎng)絡(luò)成為控制器 C,C 以一定概率生成可能對某個環(huán)境產(chǎn)生影響的輸出。第二個神經(jīng)網(wǎng)絡(luò)被稱為世界模型 M,M 可以預(yù)測環(huán)境對于 C 的輸出做出的反應(yīng),其使用梯度下降法最小化其誤差,從而逐漸成為更好的預(yù)測器。然而,在一個「零和博弈」中,C 試圖找到的是使得 M 的誤差最大的輸出。因此,M 的損失就是 C 的增益。
也就是說,C 的目的是生成新的輸出或者實驗來產(chǎn)生仍然能使 M 感到新奇的數(shù)據(jù),直到生成的數(shù)據(jù)對于 M 來說十分熟悉、最終變得「無聊」。近年來,研究者們基于這個原理進行的相關(guān)總結(jié)和拓展請參閱 [AC09]。
因此,在 1990 年,我們已經(jīng)擁有了無監(jiān)督(或自監(jiān)督)的同時滿足「生成式」和「對抗性」(這里我們采用很久以后在 2014 年的 [GAN1] 中出現(xiàn)的術(shù)語)兩大特征的神經(jīng)網(wǎng)絡(luò),它們生成能夠產(chǎn)生新數(shù)據(jù)的實驗輸出,這不僅僅適用于靜態(tài)的模式,同時也可以用于模式的序列,甚至是通用場景下的強化學(xué)習(xí)。
當(dāng)下火熱的對抗生成網(wǎng)絡(luò)(GAN)[GAN0][GAN1](2010-2014) 是對抗性好奇心[AC90] 的一種應(yīng)用,其中環(huán)境僅僅返回 C 目前的輸出是否屬于一個給定的集合 [AC19]。
此外,請注意:對抗性好奇心 [AC90, AC90b]、GAN[GAN0, GAN1] 以及對抗可預(yù)測性最小化(詳見第七章)是密切相關(guān)的概念。而它們與早期的對抗性機器學(xué)習(xí)問題的設(shè)定 [GS59][H90] 又很不一樣,早期的對抗性機器學(xué)習(xí)既不涉及無監(jiān)督神經(jīng)網(wǎng)絡(luò),也不涉及數(shù)據(jù)建模,而且也沒有使用梯度下降方法 [AC19]。
最近,有許多綜述文章 [AC06][AC09][AC10] 對關(guān)于 1990 年提出的對抗性好奇心(AC1990,詳見第 5 章)的改進進行了總結(jié)。在這里,我將重點介紹1991 年 [AC91][AC91b] 對對抗性好奇心的第一個重要改進。
在這份工作中,AC1990 的世界模型 M 的誤差(需要最小化,詳見第五章)是控制器 C 的獎勵(需要最大化)。這在許多確定性的環(huán)境中是一種非常好的策略。然而,在隨機化的環(huán)境中,這種策略則可能失效。C 可能會學(xué)著重點關(guān)注 M 總是由于隨機性或由于其計算限制而得到高預(yù)測誤差的情況。例如,一個由 C 控制的智能體可能會面對一個播放著極其難以預(yù)測的白噪聲的電視屏幕而束手無策 [AC10]。
因此,正如我們在 1991 年所指出的,在隨機環(huán)境中,C 的獎勵不應(yīng)該是 M 的誤差,而應(yīng)該是 M 的誤差在后續(xù)訓(xùn)練迭代過程中的一階導(dǎo)數(shù)的近似,即 M 獲得的改進[AC91][AC91b]。因此,盡管面對上述充滿噪聲的電視屏幕會導(dǎo)致很高的誤差,但 C 也不會在陷入這種困境時獲得獎勵。完全可預(yù)測和根本不可預(yù)測的情況都會使好奇心消失。這種思路催生了許多人工智能科學(xué)家和藝術(shù)家 [AC09] 的后續(xù)工作 [AC10]。
在我 1990 年發(fā)表首篇關(guān)于對抗生成網(wǎng)絡(luò)的工作(詳見第 5 章)后不久,我在科羅拉多大學(xué)博爾德分校做博士后時,又提出了一種無監(jiān)督對抗性極小極大值原理的變體。神經(jīng)網(wǎng)絡(luò)最重要的任務(wù)之一就是學(xué)習(xí)圖像等給定數(shù)據(jù)的統(tǒng)計量。
為了實現(xiàn)這一目標(biāo),我再次在一個極小極大博弈中使用了梯度下降 / 上升的原理,其中一個神經(jīng)網(wǎng)絡(luò)將最小化另一個神經(jīng)網(wǎng)絡(luò)最大化的目標(biāo)函數(shù)。這種兩個無監(jiān)督對抗性神經(jīng)網(wǎng)絡(luò)之間的對抗被稱為可預(yù)測性最小化 (PM,1990 年代提出)。與后來的 [GAN1] 不同,PM 是一個純粹的極大極小博弈,例如 [PM2] 中的等式 2。相關(guān)綜述文章請參閱 [AC19])。
第一個關(guān)于 PM 的小型實驗 [PM1] 是在大約 30 年前進行的,當(dāng)時其計算成本大約是現(xiàn)在的 100 萬倍。5 年后,當(dāng)計算成本降低了 10 倍時,我們得以說明,應(yīng)用于圖像的半線性 PM 變體會自動生成在神經(jīng)科學(xué)領(lǐng)域廣為人知的特征檢測器(例如,從中心到周圍的檢測器、從周圍到中心的檢測器,以及方向敏感的棒狀檢測器 [PM2])。
一個典型的神經(jīng)網(wǎng)絡(luò)擁有比神經(jīng)元更多的連接。在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)中,神經(jīng)元的激活值變化較快,而連接權(quán)值變化則較慢。也就是說,大量的權(quán)重?zé)o法實現(xiàn)短期記憶或臨時變量,只有少數(shù)神經(jīng)元的激活值可以做到。具有快速變化的 「快速權(quán)值」的非傳統(tǒng)神經(jīng)網(wǎng)絡(luò)則克服了這一局限性。
神經(jīng)網(wǎng)絡(luò)的動態(tài)連接或快速權(quán)值是由 Christoph v. d. Malsburg 于 1981 年提出的 [FAST],其他學(xué)者對此進行了更深入的研究,例如 [FASTb]。然而,這些作者并沒有采用端到端可微的系統(tǒng),通過梯度下降學(xué)習(xí)來迅速操作「快速權(quán)重」的存儲。我在 1991 年發(fā)表了下面這樣的系統(tǒng) [FAST0][FAST1],其中慢速神經(jīng)網(wǎng)絡(luò)學(xué)著去控制獨立的快速神經(jīng)網(wǎng)絡(luò)的權(quán)值。也就是說,我將存儲和控制像在傳統(tǒng)計算機中那樣分開,但是,是以完全的神經(jīng)方式(而不是以混合方式)做到這一點。這種思路催生了許多后續(xù)的工作,下面我將列舉其中的一些。
一年之后,我提出了基于梯度下降的、通過二維張量或外積更新實現(xiàn)的對快速權(quán)值的主動控制 [FAST2](可以與我們在該領(lǐng)域最新的工作對比 [FAST3][FAST3a])。我們的動機是,在端到端可微控制下獲得比同樣大小的標(biāo)準(zhǔn) RNN 更多的可能的臨時變量:從 O(H)變成O(H^2),其中 H 為隱藏單元的數(shù)量。25 年后,其他研究者也采用了這種方法 [FAST4a]。論文 [FAST2] 也明確地討論了對端到端可微網(wǎng)絡(luò)中「內(nèi)部注意力關(guān)注點」(Internal Spotlights of Attention)的學(xué)習(xí)問題。相關(guān)工作請參閱第九章有關(guān)學(xué)習(xí)注意力的內(nèi)容。
我也曾說明了「快速權(quán)值」可以如何被用于元學(xué)習(xí)或「Learning to Learn」,這也是我自 1987 年以后的一個主要的研究課題 [META1]。在 1992 年后的參考文獻(xiàn) [FASTMETA1-3] 中,慢速 RNN 和快速 RNN 是相同的:網(wǎng)絡(luò)中每個連接的初始權(quán)值都是由梯度下降法訓(xùn)練的,但是在一個迭代周期中,每個連接都可以由網(wǎng)絡(luò)本身編址、閱讀、并修改(通過 O(log^n)個特殊的輸出單元,其中 n 是連接的數(shù)目)。
而連接的權(quán)值可能迅速變化,從某種意義上說,網(wǎng)絡(luò)具有了「自我參照」效應(yīng)(認(rèn)知心理學(xué)概念,指記憶材料與自我聯(lián)系時記憶效果優(yōu)于其它編碼條件),這是由于理論上它可以學(xué)著運行任意可計算的權(quán)值變化算法或?qū)W習(xí)算法(作用于該網(wǎng)絡(luò)的所有權(quán)值)。這催生了 1990 年代和 2000 年代的許多后續(xù)工作。
不使用「老師」監(jiān)督信號的深度強化學(xué)習(xí)(RL)也可以從快速權(quán)值中受益(即使系統(tǒng)的動力不可微)。2005 年,我之前的博士后 Faustino Gomez [FAST5](現(xiàn)為 NNAISENSE 的 CEO)也說明了這一點,而那時人們負(fù)擔(dān)得起的電腦的運行速度相較于 1990 年代已經(jīng)提升了 1000 倍。
此外,據(jù)我所知,我們同年在深度強化學(xué)習(xí)領(lǐng)域所做的相關(guān)工作(但是沒有使用快速權(quán)值)是第一份在標(biāo)題中包含了「Learn deep」詞組的機器學(xué)習(xí)論文 [DL6](2005 年,不久之后許多人開始討論「深度學(xué)習(xí)」)。
在過去的幾十年中,我們發(fā)表了大量其它的方法來學(xué)習(xí)如何通過非常緊湊的代碼,快速生成大型神經(jīng)網(wǎng)絡(luò)的大量的權(quán)值,例如:[KO0][KO1][KO2][CO1][CO2][CO3]。在此,我們利用了「成功的大型神經(jīng)網(wǎng)絡(luò)的柯爾莫哥洛夫復(fù)雜性或算法的信息量實際上可能非常小」這一規(guī)律。
值得一提的是,在 2013 年 7 月,「壓縮網(wǎng)絡(luò)搜索」(Compressed Network Search)[CO2] 成為了第一個在沒有任何無監(jiān)督預(yù)訓(xùn)練(與第一章不同)的情況下,使用強化學(xué)習(xí)技術(shù)成功地直接根據(jù)高維感知數(shù)據(jù)(視頻)學(xué)會控制策略的深度學(xué)習(xí)模型。不久之后,DeepMind 也開發(fā)出了一個用于高維感知輸入的深度強化學(xué)習(xí)模型 [DM1][DM2]。
現(xiàn)在,最著名的基于快速權(quán)值的端到端可微神經(jīng)網(wǎng)絡(luò) [FAST0] 實際上是我們 2000 年提出的 vanilla LSTM 網(wǎng)絡(luò) [LSTM2](詳見第 4 章),它的遺忘門可以學(xué)著控制內(nèi)部 LSTM 神經(jīng)元的自循環(huán)連接的快速權(quán)值。今天,所有主要的 IT 公司都大量使用 vanilla LSTM[DL4]。同樣,這個模型的起源可以追溯到 1991 年(詳見第 4 章和第 8 章)。
與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)不同,人類使用連續(xù)的目光移動和選擇性注意力來檢測和識別模式。這可能比傳統(tǒng) FNN 高度并行的方法有效得多。這正是我們在 30 年前(1990 年及之前)提出順序注意力學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的原因 [ATT0][ATT1]。不久之后,我還明確地提出了在 RNN 中對「內(nèi)部注意力關(guān)注點」的學(xué)習(xí) [FAST2](詳見第 8 章)。
因此,當(dāng)時我們已經(jīng)提出了現(xiàn)在非常常用的兩種類型的神經(jīng)順序注意力機制:
(1)(在潛在空間中)通過神經(jīng)網(wǎng)絡(luò)中的乘法單元實現(xiàn)的端到端可微的「軟」注意力 [FAST2];
(2)(在觀測空間中)實現(xiàn)的強化學(xué)習(xí)(RL)環(huán)境中的「硬」注意力機制 [ATT0][ATT1]。
這催生了許多后續(xù)的工作。今天,許多人都在使用帶有順序注意力學(xué)習(xí)機制的神經(jīng)網(wǎng)絡(luò)。
我為 CMSS 1990 所寫的綜述論文 [ATT2] 在它的第 5 章中總結(jié)了我們早期關(guān)于注意力機制的工作。據(jù)我所知,這是首次實現(xiàn)結(jié)合了 glimpse 注意力機制(使用注意力組件,即固定控制器同時訓(xùn)練識別和預(yù)測組件)的神經(jīng)系統(tǒng)。20 年后,我這篇 1990 年的論文的審稿人(Hinton)在一篇他以第二作者身份發(fā)表的相關(guān)論文中寫道 [ATT3]:「據(jù)我們所知,這是首次使用一個注意力組件(固定控制器)實現(xiàn)結(jié)合了 glimpse 來同時訓(xùn)練識別組件...的系統(tǒng)」。(相關(guān)內(nèi)容請參閱第 10 章)
傳統(tǒng)的不具有「老師」的強化學(xué)習(xí)(RL)不能層次化地將問題分解為更容易解決的子問題。正是我在 1990 年提出分層強化學(xué)習(xí)(HRL)的原因,HRL 使用基于神經(jīng)網(wǎng)絡(luò)的端到端可微分的子目標(biāo)生成器[HRL0],以及學(xué)著生成子目標(biāo)序列的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[HRL1][HRL2]。強化學(xué)習(xí)系統(tǒng)獲得形如(start,goal)的額外輸入。有一個評價器神經(jīng)網(wǎng)絡(luò)會學(xué)著預(yù)測從起始狀態(tài)到目標(biāo)狀態(tài)的獎勵/開銷?;?RNN 的子目標(biāo)生成器也可以獲?。╯tart,goal),并使用評價器神經(jīng)網(wǎng)絡(luò)的副本通過梯度下降來學(xué)習(xí)成本最低的中間子目標(biāo)序列。強化學(xué)習(xí)系統(tǒng)試圖使用這樣的子目標(biāo)序列來實現(xiàn)最終目標(biāo)。
我們在 1990-1991 年間發(fā)表的論文 [HRL0][HRL1] 是后續(xù)各種分層強化學(xué)習(xí)論文(例如,[HRL4])的先驅(qū)。不久之后,其他的研究者們也開始發(fā)表 HRL 領(lǐng)域的論文。例如,本文的參考文獻(xiàn) [ATT2] 的審稿人正是參考文獻(xiàn) [HRL3] 的尾作(相關(guān)工作請參見第 9章)。
1990 年,我提出了基于兩個 RNN 的組合 (控制器 C 和世界模型 M)的強化學(xué)習(xí)和規(guī)劃(請參閱第五章)。M 學(xué)著去預(yù)測 C 行為的后果。C 則學(xué)著使用 M 提前幾個時間步進行規(guī)劃,從而選擇最大化預(yù)測累積獎勵的動作序列 [AC90]。近年來,這一思路也催生了許多后續(xù)工作(例如,[PLAN2-6])。
1990 年的 FKI 科技報告 [AC90] 也提出了一些其它最近變得很熱門的概念。詳情請參閱第 5、12、13、14、20 章。
在現(xiàn)在的強化學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)中,有一個被廣泛使用的概念:用額外的目標(biāo)定義輸入模式來編碼各類人物,這樣一來神經(jīng)網(wǎng)絡(luò)就知道下一步該執(zhí)行哪個任務(wù)。我們在 1990 年的許多工作中 [ATT0][ATT1][HRL0][HRL1] 提到了這一概念。在 [ATT0][ATT1] 中,我們使用一個強化學(xué)習(xí)神經(jīng)控制器學(xué)著通過一系列的「掃視」(Saccade)操作去控制任務(wù)的「凹軌跡」(Fovea),從而找到視覺場景下的特定目標(biāo),因此可以學(xué)習(xí)到順序注意力(詳見第 9 章)。
我們通過特殊的不變的「目標(biāo)輸入向量」將用戶定義的目標(biāo)輸入給系統(tǒng)(詳見第 3 章第 2 節(jié) [ATT1]),而系統(tǒng)通過「凹軌跡移動」(Fovea-Shifting)來形成其視覺輸入流。
具有端到端可微字目標(biāo)生成器的分層強化學(xué)習(xí)(HRL,詳見第 10 章)[HRL0][HRL1] 也使用了一個具有形如(start,goal)的任務(wù)定義輸入的神經(jīng)網(wǎng)絡(luò),學(xué)著預(yù)測從起始狀態(tài)到目標(biāo)狀態(tài)的成本。(25 年后,我之前的學(xué)生 Tom Schauls 在 DeepMind 提出了「通用值函數(shù)近似器」[UVF15])。
這一思想催生了許多后續(xù)的工作。例如,我們開發(fā)的「POWERPLAY」系統(tǒng)(2011)[PP][PP1] 也使用了任務(wù)定義的輸入將不同的任務(wù)區(qū)分開來,不斷地提出自己IDE新目標(biāo)和新任務(wù),以一種主動的、部分無監(jiān)督的或自監(jiān)督的方式逐漸學(xué)著成為一個越來越通用的問題求解器。2015 年,使用高維視頻輸入和內(nèi)在動機(intrinsic motivation)的強化學(xué)習(xí)機器人也學(xué)著去探索 [PP2]。
傳統(tǒng)的強化學(xué)習(xí)是基于一維獎勵信號的。然而,人類有數(shù)百萬種作用于不同種類刺激(例如,疼痛和愉悅)的信息傳感器。據(jù)我所知,參考文獻(xiàn) [AC90] 是第一篇關(guān)于具有多維、向量值的損失和獎勵信號的強化學(xué)習(xí)的論文,這些信號從許多不同的感知渠道傳入,我們將預(yù)測所有這些傳感器接受信號的累計值,而不僅僅是單個標(biāo)量的整體獎勵,這與之后的通用值函數(shù)(GVF)相類似。不同于之前的自適應(yīng)評價(adaptive critics),我們 1990 年發(fā)表的這篇論文 [AC90] 提出的學(xué)習(xí)機制是多維循環(huán)的。
不同于傳統(tǒng)的強化學(xué)習(xí),這些信息量巨大的獎勵信號也被用作使控制器神經(jīng)網(wǎng)絡(luò)學(xué)著執(zhí)行最大化累積獎勵的動作的輸入。
在我 1990 年發(fā)表的論文 [AC90] 的「Augmenting the Algorithm by Temporal Difference Methods」一章中,我們也結(jié)合了用于預(yù)測累積獎勵(可能是多維獎勵,詳見第十三章)的基于動態(tài)規(guī)劃的時間差分方法 [TD] 以及基于梯度的世界預(yù)測模型(詳見第十一章),從而計算單個控制網(wǎng)絡(luò)的權(quán)值變化。相關(guān)工作請參閱第 2.4 節(jié)介紹的 1991 年的后續(xù)工作 [PLAN3](以及類似的 [NAN1])。
25 年后,DeepMind 提出了該方法的一種變體「確定性策略梯度算法」(Deterministic Policy Gradient algorithm,DPG)[DPG][DDPG]。
1990 年,我提出了各種學(xué)著調(diào)整其它神經(jīng)網(wǎng)絡(luò)的神經(jīng)網(wǎng)絡(luò) [NAN1]。在這里,我將重點討論 「循環(huán)神經(jīng)網(wǎng)絡(luò)中的局部監(jiān)督學(xué)習(xí)方法」(An Approach to Local Supervised Learning in Recurrent Networks)。待最小化的全局誤差度量是循環(huán)神經(jīng)網(wǎng)絡(luò)的輸出單元在一段時間內(nèi)接收到的所有誤差的總和。在傳統(tǒng)的基于時間的反向傳播算法中(請參閱綜述文章 [BPTT1-2]),每個單元都需要一個棧來記住過去的激活值,這些激活值被用于計算誤差傳播階段權(quán)值變化的貢獻(xiàn)。
我沒有讓算法使用棧式的無限存儲容量,而是引入了第二種自適應(yīng)神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)學(xué)著將循環(huán)神經(jīng)網(wǎng)絡(luò)的狀態(tài)與相應(yīng)的誤差向量相關(guān)聯(lián)。這些局部估計的誤差梯度(并非真實梯度)則會被用于調(diào)整 循環(huán)神經(jīng)網(wǎng)絡(luò) [NAN1][NAN2][NAN3][NAN4]。
不同于標(biāo)準(zhǔn)的反向傳播,該方法在空間和時間上都是局部的 [BB1][NAN1]。25 年后,DeepMind 將這種技術(shù)稱為「合成梯度」(Synthetic Gradients)[NAN5]。
我們最初在 1987 年發(fā)表的用于完全循環(huán)連續(xù)運行的網(wǎng)絡(luò)的固定大小的存儲學(xué)習(xí)算法 [ROB] ,在每一個時間步需要 O(n^4) 的計算復(fù)雜度,其中 n 是非輸入單元的數(shù)目。我提出了一種方法來計算完全相同的梯度,它需要固定大小的與之前的算法同階的存儲空間。但是,每個時間步的平均時間復(fù)雜度只有 O(n^3)[CUB1][CUB2]。然而,這項工作并非沒有意義,因為偉大的循環(huán)神經(jīng)網(wǎng)絡(luò)研究的先驅(qū) Ron Williams 首先采用了這種方法 [CUB0]!
此外,1987 年,當(dāng)我發(fā)表我當(dāng)時認(rèn)為是首篇關(guān)于遺傳編程(GP,即自動演化的計算機程序 [GP1])的文論文時,也犯下了類似的錯誤,直到后來我才發(fā)現(xiàn) Nichael Cramer 已經(jīng)于 1985 年發(fā)表了 GP 算法 [GP0](而且在 1980 年, Stephen F. Smith 已經(jīng)出了一種相關(guān)的方法,作為一個更大的系統(tǒng)的一部分 [GPA])。
自那以后,我一直盡我所能做到公正和誠信。至少,我們 1987 年的論文 [GP1] 似乎是第一篇將 GP 用于帶有循環(huán)結(jié)構(gòu)以及可變大小的代碼的論文,也是首次關(guān)于在邏輯編程語言中實現(xiàn) GP。
「神經(jīng)熱交換器」(NHE)是一種用于深度多層神經(jīng)網(wǎng)絡(luò)的監(jiān)督式學(xué)習(xí)方法,受啟發(fā)于物理意義上的熱交換器。輸入「加熱」會經(jīng)過許多連續(xù)層的轉(zhuǎn)換,而目標(biāo)則從深層管道的另一端進入并且進行「冷卻」。與反向傳播不同,該方法完全是局部的,使其不需要進行并行計算也可以較快運行。
自 1990 年 [NHE] 發(fā)表以來,我不定期地在各大學(xué)的演講中會提到該方法,它的與亥姆霍茲機 (Helmholtz Machine) 關(guān)系密切。同樣,該方法的實驗是由我杰出的學(xué)生 Sepp Hochreiter 完成的(詳見第 3 章、第 4 章)。
1991 年,我發(fā)表了我在慕尼黑工業(yè)大學(xué)的博士論文 [PHD],總結(jié)了我自 1989 年以來的一些早期工作,其中包括:第一個強化學(xué)習(xí)(RL)神經(jīng)經(jīng)濟學(xué)方法(Neural Bucket Brigade)[BB1][BB2]、用于局部時空循環(huán)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法 [BB1]、具有端到端可微子目標(biāo)生成器的分層強化學(xué)習(xí)(HRL,詳見第 10 章)、通過兩個被稱為控制器 C 和世界模型 M 的循環(huán)神經(jīng)網(wǎng)絡(luò)組合進行強化學(xué)習(xí)和規(guī)劃、順序注意力學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)、學(xué)著調(diào)整其他神經(jīng)網(wǎng)絡(luò)的神經(jīng)網(wǎng)絡(luò)(包括「合成梯度」,詳見第 15 章),以及用于實現(xiàn)「好奇心」的無監(jiān)督或自監(jiān)督的生成對抗網(wǎng)絡(luò)(詳見第 5 章)。
當(dāng)時,許多其他人的神經(jīng)網(wǎng)絡(luò)研究受到了統(tǒng)計力學(xué)的啟發(fā)(例如,[HOP])。我在 1990-1991 年間的工作(以及我早先于 1987 年發(fā)表的學(xué)位論文)呈現(xiàn)了另一種面向程序的機器學(xué)習(xí)的觀點。
1931 年,Kurt G?del 在創(chuàng)立理論計算科學(xué)時用基于整數(shù)的通用編碼語言表示數(shù)據(jù)(例如公理和定理)和程序(例如針對數(shù)據(jù)進行的操作的證明生成序列)。眾所周知,他使用這種語言構(gòu)建正式的聲明(statement),這些聲明可以說明其它正式聲明的計算過程,特別是「自我參照」的正式聲明,聲明它們不能通過任何計算定理被證明。這樣一來,他便給出了數(shù)學(xué)、計算和人工智能的基本極限。
自從 1990 年發(fā)表 [AC90] 以來,我經(jīng)常指出:神經(jīng)網(wǎng)絡(luò)的權(quán)值應(yīng)該被看作是它的程序。一些研究者認(rèn)為深度神經(jīng)網(wǎng)絡(luò)的目標(biāo)是學(xué)習(xí)觀測數(shù)據(jù)的有用的內(nèi)部表示(甚至針對表征學(xué)習(xí)舉辦了名為 ICLR 的國際學(xué)術(shù)會議),但我一直傾向于認(rèn)為神經(jīng)網(wǎng)絡(luò)的目標(biāo)是學(xué)習(xí)一個計算此類表征的程序(參數(shù))。
在 G?del 的啟發(fā)下,我構(gòu)建輸出為其它神經(jīng)網(wǎng)絡(luò)的程序或權(quán)值矩陣的神經(jīng)網(wǎng)絡(luò),甚至是可以運行和檢查自己的權(quán)值變化算法或?qū)W習(xí)算法的自參照循環(huán)神經(jīng)網(wǎng)絡(luò)(詳見第 8 章)。
與 G?del 的工作不同的是,這里的通用編程語言并不是基于整數(shù),而是基于實數(shù)值,這樣一來典型神經(jīng)網(wǎng)絡(luò)的輸出對于其程序而言就是可微的。也就是說,一個簡單的程序生成器(高效的梯度下降過程 [BP1])可以在程序空間中計算出一個方向,在該方向上可以發(fā)現(xiàn)更好的程序 [AC90],尤其是更好的「程序生成」程序(詳見第 8 章)。我自 1989 年以來的大量工作都利用了這一事實。
正如第 1 章中所提到的,我構(gòu)建的第一個非常深的學(xué)習(xí)器是 1991 年的棧式循環(huán)神經(jīng)網(wǎng)絡(luò),它使用無監(jiān)督預(yù)訓(xùn)練學(xué)習(xí)深度大于 1000 的問題。但不久之后,我們發(fā)表了更多無需任何預(yù)訓(xùn)練的解決「深度學(xué)習(xí)」問題的通用方法(詳見第 3 章),通過純粹的監(jiān)督式長短時記憶網(wǎng)絡(luò)(LSTM)來替代無監(jiān)督的棧式循環(huán)神經(jīng)網(wǎng)絡(luò) [UN1-3](詳見第4 章)。
也就是說,在公元 2000 年之前,無監(jiān)督的預(yù)訓(xùn)練已經(jīng)不再那么重要了,因為 LSTM 并不需要它了。實際上,這種從無監(jiān)督預(yù)訓(xùn)練到純粹的監(jiān)督式學(xué)習(xí)的轉(zhuǎn)變早在 1991 年就開始了。
多年之后,在 2006 年到 2010 年間,也出現(xiàn)了非常類似的轉(zhuǎn)變,但這次這種轉(zhuǎn)變并不是針對于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),而是發(fā)生在沒那么通用的前饋神經(jīng)網(wǎng)絡(luò)(FNN)上。同樣的,我的小實驗室在這次轉(zhuǎn)變中也起到了核心作用。2006 年,研究者通過棧式 FNN 的無監(jiān)督預(yù)訓(xùn)練改進了 FNN 中的監(jiān)督學(xué)習(xí) [UN4](詳見第 1 章)。但是在 2010 年,我們的團隊以及我杰出的羅馬尼亞博士后 Dan Ciresan [MLP1] 說明可以通過簡單的反向傳播訓(xùn)練深度 FNN,而且對于重要的應(yīng)用來說完全不需要無監(jiān)督預(yù)訓(xùn)練。
我們的系統(tǒng)在當(dāng)時著名并廣為使用的 MNIST 手寫數(shù)字識別數(shù)據(jù)集上取得了新的最佳性能記錄 [MLP1]。這一成就是通過在高度并行的圖形處理單元 GPU 上加速傳統(tǒng)的 FNN 實現(xiàn)的。一位著名的評論員將此成為「喚醒了機器學(xué)習(xí)社區(qū)」。今天,很少有商業(yè)深度學(xué)習(xí)應(yīng)用仍然使用無監(jiān)督的預(yù)訓(xùn)練。
我在瑞士人工智能實驗室 IDSIA 的團隊,通過將傳統(tǒng)的 FNN 替換為另一種名為卷積神經(jīng)網(wǎng)絡(luò)(CNN)的神經(jīng)網(wǎng)絡(luò),進一步改進了上述關(guān)于 FNN 中純粹監(jiān)督式深度學(xué)習(xí)的工作(2010)。自 1970 年起,研究者們便發(fā)明并不斷改進了 CNN [CNN1-4]。
我們對基于 GPU 的快速 CNN 的監(jiān)督式集成(請參閱 Ciresan 等人于 2011 年發(fā)表的論文)[GPUCNN1] 是一個重大的突破(相較于早期對 CNN 進行加速的工作快了許多 [GPUCNN]),并在 2011 年 5 月 15 日至 2012 年 9 月 10 日期間連續(xù) 4 次在重要的計算機視覺競賽中奪冠 [GPUCNN5]。尤其是,我們的快速深度卷積神經(jīng)網(wǎng)絡(luò)是第一個在手寫漢字識別競賽(ICDAR 2011)中奪冠的算法,也是在所有國際競賽中實現(xiàn)超越人類的視覺模式識別能力的算法(我們在 IJCNN 2011 的現(xiàn)場交通標(biāo)志識別大賽中獲得了第一名,誤差率為 0.56%,也是該比賽中唯一超越人類的方法,人類的平均誤差為 1.16%,本屆比賽第三名方案的誤差為 1.69%);我們的模型也在 2012 年 5 月的 ISBI 大會舉辦的圖像分割大賽中首次奪冠,在 2012 年 9 月 10 日的 ICPR 大會舉辦的目標(biāo)檢測大賽中首次奪冠,同時也是第一個在醫(yī)學(xué)癌癥圖像檢測競賽中奪冠的模型 [GPUCNN5];我們的快速 CNN 圖像掃描器比之前方法的運行速度要快 1000 倍以上 [SCAN]。
在 2011 年的一次競賽中,我們的系統(tǒng)將目標(biāo)識別誤差率降低了一半以上,而此時距離「奇跡之年」已經(jīng)過去了 20 年 [GPUCNN2]。不久之后,其他研究者也在圖像識別競賽中也采用了類似的方法 [GPUCNN5]。
與我們的 LSTM 在 2009 年取得的結(jié)果一樣(詳見第 4 章),我們的上述結(jié)果以及 2010-2011 年在前饋神經(jīng)網(wǎng)絡(luò)上取得的結(jié)果引起了工業(yè)界極大的興趣。例如,在2010 年,我們?yōu)槿澜缱畲蟮匿撹F制造商 Arcelor Mittal 提出了我們基于 GPU 的深度快速網(wǎng)絡(luò),從而大大改進了鋼鐵缺陷檢測技術(shù) [ST]。這可能是深度學(xué)習(xí)技術(shù)在重工業(yè)領(lǐng)域取得的第一個重大突破。如今,大多數(shù)人工智能初創(chuàng)公司和主要的 IT 公司以及其它著名的公司都在使用這種監(jiān)督式的快速 GPU 神經(jīng)網(wǎng)絡(luò)。
許多后來廣為使用的「現(xiàn)代」深度學(xué)習(xí)基本思想都是我們在「奇跡之年」(1990-1991)于慕尼黑工業(yè)大學(xué)(TU Munich)發(fā)表的(那時柏林墻剛剛倒塌不久):無監(jiān)督或自監(jiān)督學(xué)習(xí)、數(shù)據(jù)生成對抗網(wǎng)絡(luò)(用于人工好奇心和相關(guān)的概念,詳見第 5 章;也可以參閱本文第 7 章介紹的我在科羅拉多大學(xué)的后續(xù)工作)以及深度學(xué)習(xí)的根本性問題(梯度彌散/爆炸,詳見第 3 章)機器解決方案:(1)用于非常深的(循環(huán))神經(jīng)網(wǎng)絡(luò)(詳見第 1 章)的無監(jiān)督預(yù)訓(xùn)練;(2)催生 LSTM 的基本思路(詳見第 4 章和第 8 章)。
當(dāng)時,我們還提出了序列注意力學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),這是另一種已經(jīng)變得非常流行的概念(關(guān)于觀測空間的「硬」注意力機制和潛在空間的「軟」注意力機制的介紹都請參閱第 9 章);還有學(xué)著對另一個神經(jīng)網(wǎng)絡(luò)的快速權(quán)值、甚至是它們自己的權(quán)值進行編程的神經(jīng)網(wǎng)絡(luò)(詳見第 8 章),以及上述提到的所有其它技術(shù):從分層強化學(xué)習(xí)(詳見第十章)到使用循環(huán)神經(jīng)世界模型進行規(guī)劃(詳見第 11 章),等等。
當(dāng)然,要想將這些算法商業(yè)化運行,人們不得不等待更快的計算機的誕生。然而,直到 2010 年代中期,我們的產(chǎn)品被蘋果、谷歌、Facebook、亞馬遜、三星、百度、微軟等巨頭所使用,每天被數(shù)十億臺電腦使用數(shù)十億次以上 [DL4]。
上述大多數(shù)研究結(jié)果首次發(fā)表在慕尼黑工業(yè)大學(xué)的 FKI 系列科技報告中,我為其手動繪制了許多示意圖,本文展示了其中的一部分(詳見第 10、11、13、18章)?,F(xiàn)在,F(xiàn)KI 系列報告在人工智能的歷史上起到了重要的作用,它介紹了許多重要的概念:
用于非常深的神經(jīng)網(wǎng)絡(luò)的無監(jiān)督預(yù)訓(xùn)練(FKI-148-91 [UN0],詳見第 1 章)
將一個神經(jīng)網(wǎng)絡(luò)壓縮/蒸餾成另一個(FKI-148-91 [UN0],詳見第 2 章)
長短期記憶網(wǎng)絡(luò)(FKI-207-95 [LSTM0],詳見第 4、8 章)
通過學(xué)習(xí)進度最大化的神經(jīng)網(wǎng)絡(luò)實現(xiàn)好奇心(FKI-149-91 [AC91],詳見第 6 章)
端到端快速權(quán)重和學(xué)著對其它神經(jīng)網(wǎng)絡(luò)編程的神經(jīng)網(wǎng)絡(luò)(像傳統(tǒng)計算機一樣,將神經(jīng)網(wǎng)路的存儲和控制分離開來,F(xiàn)KI-147-91 [FAST0],詳見第 8 章)
通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)順序注意力(FKI-128-90 [ATT0],詳見第 9 章)
將目標(biāo)定義命令作為額外的神經(jīng)網(wǎng)絡(luò)輸入(FKI-128-90 [ATT0],F(xiàn)KI-129-90 [HRL0],詳見第 12章)
分層強化學(xué)習(xí)(FKI-129-90 [HRL0],詳見第 10 章)
用網(wǎng)絡(luò)調(diào)整網(wǎng)絡(luò)/合成梯度(FKI-125-90 [NAN2],詳見第 15 章)
用于在線循環(huán)神經(jīng)網(wǎng)絡(luò)的三次梯度計算也在 FKI-151-91 [CUB1] 中被提出,詳見第 16 章。
值得一提的是,報告 FKI-126-90 [AC90]還介紹了大量現(xiàn)在被廣為使用的概念:
通過循環(huán)世界模型進行規(guī)劃(詳見第 11 章)
將高維獎勵信號作為額外的神經(jīng)網(wǎng)絡(luò)輸入/通用值函數(shù)(詳見第 13 章)
確定性策略梯度(詳見第 14 章)
同時滿足生成式和對抗性的神經(jīng)網(wǎng)絡(luò)(詳見第5 章和第 7 章)
人工好奇心及相關(guān)概念。
后來,舉世矚目的 FKI 科技報告自 1990 年代起介紹了一系列大大壓縮神經(jīng)網(wǎng)絡(luò)從而提升其泛化能力的方法 [KO0][FM]。
FKI 報告發(fā)布不久之后就通過了同行評審。例如,在1992 年,我與偉大的 David MacKay 進行了一次有趣的競賽,看看誰能在一年之內(nèi)在「Neural Computation」(當(dāng)時是我們這個領(lǐng)域的頂級期刊)上發(fā)表更多的文章。到 1992 年底,我們都發(fā)表了 4 篇文章,但最終還是 David 贏了,因為他發(fā)表的論文(大多數(shù)都與用于神經(jīng)網(wǎng)絡(luò)的貝葉斯方法有關(guān))比我長得多。
免責(zé)聲明:當(dāng)然,從科學(xué)層面上來說,像發(fā)表的論文數(shù)量和 H 指數(shù)這樣的指標(biāo)很蒼白——唯一真正重要的是研究的質(zhì)量 [NAT1]。
放眼于以英語為主導(dǎo)的學(xué)術(shù)圈,我們往往不能看清一個事實[DLC]——深度學(xué)習(xí)是在官方語言不是英語的地方被發(fā)明的:
這個研究領(lǐng)域始于 1965 年的烏克蘭(當(dāng)時還屬于蘇聯(lián)),那時誕生了第一個具有任意深度的、可以學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò) [DEEP1-2](詳見第 1 章);
五年后,現(xiàn)代反向傳播方法在蘇聯(lián)「隔壁的」芬蘭出現(xiàn)(1970)[BP1](詳見第 0 章);
基本的深度卷積神經(jīng)網(wǎng)絡(luò)(現(xiàn)在被廣泛使用)架構(gòu)是在 1970 年代的日本被發(fā)明的,到了 1987 年,卷積網(wǎng)絡(luò)與權(quán)值共享和反向傳播相結(jié)合。
無監(jiān)督或自監(jiān)督的對抗性網(wǎng)絡(luò)(兩個網(wǎng)絡(luò)在一個用于人工好奇心的極小極大博弈中對抗)起源于慕尼黑(1990,詳見第 5 章),慕尼黑也是 1980 年代第一批真正的自動駕駛汽車的誕生地,1994 年進行了高速公路交通實驗。
基于反向傳播的深度學(xué)習(xí)的根本性問題也在慕尼黑被發(fā)現(xiàn)(1991,詳見第 3 章)[VAN1]。第一個克服這個問題的「現(xiàn)代」深度學(xué)習(xí)網(wǎng)絡(luò)也是如此,它們通過無監(jiān)督的預(yù)訓(xùn)練 [UN1-2](1991,詳見第 1 章) 和長短時記憶網(wǎng)絡(luò) [LSTM0-7] 克服這個問題,LSTM 可以說是商業(yè)化程度最高的人工智能成果 [AV1](第 4 章)。
LSTM 在瑞士得到了進一步發(fā)展,這里也誕生了第一個在圖像識別競賽獲勝的基于 GPU 的 CNN(2011,詳見第 19 章——現(xiàn)在計算機視覺領(lǐng)域的所有研究者都在使用這個方法)、第一個在視覺模式識別中超越人類的神經(jīng)網(wǎng)絡(luò)(2011),以及第一個有超過 100 層、非常深的前饋神經(jīng)網(wǎng)絡(luò) [HW1](詳見第 4 章)。
大約在 1990 年,瑞士也成為了萬維網(wǎng)的發(fā)源地,這使得人工智能可以在全世界范圍內(nèi)被迅速傳播。截至 2017 年,瑞士在人工智能研究領(lǐng)域的引用影響力仍然居于世界前列——盡管中國現(xiàn)在是人工智能論文產(chǎn)出最多的國家 [THE17]。
當(dāng)然,深度學(xué)習(xí)只是人工智能研究的一小部分,它主要局限于被動的模式識別。我們將其視為通過元學(xué)習(xí)或 「learning to Learn」的學(xué)習(xí)算法(于 1987 年發(fā)表,研究更通用的人工智能的副產(chǎn)品,具有人工好奇心和創(chuàng)造力的系統(tǒng)定義了自己的問題并設(shè)定自己的目標(biāo)(1990),演化計算(1987)、RNN 演化、壓縮網(wǎng)絡(luò)搜索、在真實部分可觀測的環(huán)境下(此時用于棋類游戲的傳統(tǒng)強化學(xué)習(xí)不起作用,1989)的智能體的強化學(xué)習(xí)、通用人工智能、如 G?del Machine 這樣的最優(yōu)通用學(xué)習(xí)機(2003 至今)、對運行在通用計算機上的程序的最優(yōu)搜索等。
當(dāng)然,人工智能本身只是更宏大的科學(xué)追求的一部分,它將宇宙從簡單的初始條件推向越來越深不可測的復(fù)雜性 [SA17]。最后,即使這個令人敬畏的過程可能也只是所有邏輯上可能存在的宇宙中更宏大、更有效的計算中的滄海一粟 [ALL1][ALL2][ALL3]。
注:本文中涉及到的所有參考文獻(xiàn)詳見原文:http://people.idsia.ch/~juergen/deep-learning-miraculous-year-1990-1991.html#NAN1 雷鋒網(wǎng) 雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。