第六章 深度学习(上中)
其他的深度學(xué)習(xí)模型
在整本書中,我們聚焦在解決 MNIST 數(shù)字分類問題上。這一“下金蛋的”問題讓我們深入理解了一些強大的想法:隨機梯度下降,BP,卷積網(wǎng)絡(luò),正規(guī)化等等。但是該問題卻也是相當狹窄的。如果你研讀過神經(jīng)網(wǎng)絡(luò)的研究論文,那么會遇到很多這本書中未曾討論的想法:RNN,Boltzmann Machine,生成式模型,遷移學(xué)習(xí),強化學(xué)習(xí)等等……等等!(太多了)神經(jīng)網(wǎng)絡(luò)是一個廣闊的領(lǐng)域。然而,很多重要的想法都是我們書中探討過的那些想法的變種,在有了本書的知識基礎(chǔ)上,可能需要一些額外的努力,便可以理解這些新的想法了。所以在本節(jié),我們給出這些想法的一些介紹。介紹本身不會非常細節(jié)化,可能也不會很深入——倘若要達成這兩點,這本書就得擴展相當多內(nèi)容了。因此,我們接下來的討論是偏重思想性的啟發(fā),嘗試去激發(fā)這個領(lǐng)域的產(chǎn)生豐富的概念,并將一些豐富的想法關(guān)聯(lián)于前面已經(jīng)介紹過的概念。我也會提供一些其他學(xué)習(xí)資源的連接。當然,鏈接給出的很多想法也會很快被超過,所以推薦你學(xué)會搜索最新的研究成果。盡管這樣,我還是很期待眾多本質(zhì)的想法能夠受到足夠久的關(guān)注。
Recurrent Neural Networks (RNNs):在前饋神經(jīng)網(wǎng)絡(luò)中,單獨的輸入完全確定了剩下的層上的神經(jīng)元的激活值。可以想象,這是一幅靜態(tài)的圖景:網(wǎng)絡(luò)中的所有事物都被固定了,處于一種“冰凍結(jié)晶”的狀態(tài)。但假如,我們允許網(wǎng)絡(luò)中的元素能夠以動態(tài)方式不斷地比那話。例如,隱藏神經(jīng)元的行為不是完全由前一層的隱藏神經(jīng)元,而是同樣受制于更早的層上的神經(jīng)元的激活值。這樣肯定會帶來跟前饋神經(jīng)網(wǎng)絡(luò)不同的效果。也可能隱藏和輸出層的神經(jīng)元的激活值不會單單由當前的網(wǎng)絡(luò)輸入決定,而且包含了前面的輸入的影響。
擁有之類時間相關(guān)行為特性的神經(jīng)網(wǎng)絡(luò)就是遞歸神經(jīng)網(wǎng)絡(luò),常寫作 RNN。當然有不同的方式來從數(shù)學(xué)上給出 RNN 的形式定義。你可以參考維基百科上的RNN介紹來看看 RNN。在我寫作本書的時候,維基百科上介紹了超過 13 種不同的模型。但除了數(shù)學(xué)細節(jié),更加一般的想法是,RNN 是某種體現(xiàn)出了隨時間動態(tài)變化的特性的神經(jīng)網(wǎng)絡(luò)。也毫不奇怪,RNN 在處理時序數(shù)據(jù)和過程上效果特別不錯。這樣的數(shù)據(jù)和過程正是語音識別和自然語言處理中常見的研究對象。
RNN 被用來將傳統(tǒng)的算法思想,比如說 Turing 機或者編程語言,和神經(jīng)網(wǎng)絡(luò)進行聯(lián)系上。這篇 2014 年的論文提出了一種 RNN 可以以 python 程序的字符級表達作為輸入,用這個表達來預(yù)測輸出。簡單說,網(wǎng)絡(luò)通過學(xué)習(xí)來理解某些 python 的程序。第二篇論文 同樣是 2014 年的,使用 RNN 來設(shè)計一種稱之為 “神經(jīng) Turing 機” 的模型。這是一種通用機器整個結(jié)構(gòu)可以使用梯度下降來訓(xùn)練。作者訓(xùn)練 NTM 來推斷對一些簡單問題的算法,比如說排序和復(fù)制。
不過正如在文中提到的,這些例子都是極其簡單的模型。學(xué)會執(zhí)行 print(398345+42598) 并不能讓網(wǎng)絡(luò)稱為一個正常的python解釋器!對于這些想法,我們能推進得多遠也是未知的。結(jié)果都充滿了好奇。歷史上,神經(jīng)網(wǎng)絡(luò)已經(jīng)在傳統(tǒng)算法上失敗的模式識別問題上取得了一些成功。另外,傳統(tǒng)的算法也在神經(jīng)網(wǎng)絡(luò)并不擅長的領(lǐng)域里占據(jù)上風。今天沒有人會使用神經(jīng)網(wǎng)絡(luò)來實現(xiàn) Web 服務(wù)器或者數(shù)據(jù)庫程序。研究出將神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)的算法結(jié)合的模型一定是非常棒的。RNN 和 RNN 給出的啟發(fā)可能會給我們不少幫助。
RNN 同樣也在其他問題的解決中發(fā)揮著作用。在語音識別中,RNN 是特別有效的。例如,基于 RNN 的方法,已經(jīng)在音位識別中取得了準確度的領(lǐng)先。同樣在開發(fā)人類語言的上改進模型中得到應(yīng)用。更好的語言模型意味著能夠區(qū)分出發(fā)音相同的那些詞。例如,好的語言模型,可以告訴我們“to infinity and beyond”比“two infinity and beyond”更可能出現(xiàn),盡管兩者的發(fā)音是相同的。RNN 在某些語言的標準測試集上刷新了記錄。
在語音識別中的這項研究其實是包含于更寬泛的不僅僅是 RNN而是所有類型的深度神經(jīng)網(wǎng)絡(luò)的應(yīng)用的一部分。例如,基于神經(jīng)網(wǎng)絡(luò)的方法在大規(guī)模詞匯的連續(xù)語音識別中獲得極佳的結(jié)果。另外,一個基于深度網(wǎng)絡(luò)的系統(tǒng)已經(jīng)用在了 Google 的 Android 操作系統(tǒng)中(詳見Vincent Vanhoucke's 2012-2015 papers)
我剛剛講完了 RNN 能做的一小部分,但還未提及他們?nèi)绾喂ぷ鳌?赡苣悴⒉辉尞愒谇梆伾窠?jīng)網(wǎng)絡(luò)中的很多想法同樣可以用在 RNN 中。尤其是,我們可以使用梯度下降和 BP 的直接的修改來訓(xùn)練 RNN。還有其他一些在前饋神經(jīng)網(wǎng)絡(luò)中的想法,如正規(guī)化技術(shù),卷積和代價函數(shù)等都在 RNN 中非常有效。還有我們在書中講到的很多技術(shù)都可以適配一下 RNN 場景。
Long Short-term Memory units(LSTMs):影響 RNN 的一個挑戰(zhàn)是前期的模型會很難訓(xùn)練,甚至比前饋神經(jīng)網(wǎng)絡(luò)更難。原因就是我們在上一章提到的不穩(wěn)定梯度的問題。回想一下,這個問題的通常表現(xiàn)就是在反向傳播的時候梯度越變越小。這就使得前期的層學(xué)習(xí)非常緩慢。在 RNN 中這個問題更加糟糕,因為梯度不僅僅通過層反向傳播,還會根據(jù)時間進行反向傳播。如果網(wǎng)絡(luò)運行了一段很長的時間,就會使得梯度特別不穩(wěn)定,學(xué)不到東西。幸運的是,可以引入一個成為 long short-term memory 的單元進入 RNN 中。LSTM 最早是由 Hochreiter 和 Schmidhuber 在 1997 年提出,就是為了解決這個不穩(wěn)定梯度的問題。LSTM 讓 RNN 訓(xùn)練變得相當簡單,很多近期的論文(包括我在上面給出的那些)都是用了 LSTM 或者相關(guān)的想法。
深度信念網(wǎng)絡(luò),生成式模型和 Boltzmann 機:對深度學(xué)習(xí)的興趣產(chǎn)生于 2006 年,最早的論文就是解釋如何訓(xùn)練稱為 深度信念網(wǎng)絡(luò) (DBN)的網(wǎng)絡(luò)。
參見 Geoffrey Hinton, Simon Osindero 和 Yee-Whye Teh 在 2006 年的 A fast learning algorithm for deep belief nets , 及 Geoffrey Hinton 和 Ruslan Salakhutdinov 在2006 年的相關(guān)工作Reducing the dimensionality of data with neural networks
DBN 在之后一段時間內(nèi)很有影響力,但近些年前饋網(wǎng)絡(luò)和 RNN 的流行,蓋過了 DBN 的風頭。盡管如此,DBN 還是有幾個有趣的特性。
一個就是 DBN 是一種生成式模型。在前饋網(wǎng)絡(luò)中,我們指定了輸入的激活函數(shù),然后這些激活函數(shù)便決定了網(wǎng)絡(luò)中后面的激活值。而像 DBN 這樣的生成式模型可以類似這樣使用,但是更加有用的可能就是指定某些特征神經(jīng)元的值,然后進行“反向運行”,產(chǎn)生輸入激活的值。具體講,DBN 在手寫數(shù)字圖像上的訓(xùn)練同樣可以用來生成和手寫數(shù)字很像的圖像。換句話說,DBN 可以學(xué)習(xí)寫字的能力。所以,生成式模型更像人類的大腦:不僅可以讀數(shù)字,還能夠?qū)懗鰯?shù)字。用 Geoffrey Hinton 本人的話就是:“要識別對象的形狀,先學(xué)會生成圖像。” (to recognize shapes,first learn to generate images)
另一個是 DBN 可以進行無監(jiān)督和半監(jiān)督的學(xué)習(xí)。例如,在使用 圖像數(shù)據(jù)學(xué)習(xí)時,DBN 可以學(xué)會有用的特征來理解其他的圖像,即使,訓(xùn)練圖像是無標記的。這種進行非監(jiān)督學(xué)習(xí)的能力對于根本性的科學(xué)理由和實用價值(如果完成的足夠好的話)來說都是極其有趣的。
所以,為何 DBN 在已經(jīng)獲得了這些引人注目的特性后,仍然逐漸消失在深度學(xué)習(xí)的浪潮中呢?部分原因在于,前饋網(wǎng)絡(luò)和 RNN 已經(jīng)獲得了很多很好的結(jié)果,例如在圖像和語音識別的標準測試任務(wù)上的突破。所以大家把注意力轉(zhuǎn)到這些模型上并不奇怪,這其實也是很合理的。然而,這里隱藏著一個推論。研究領(lǐng)域里通常是贏者通吃的規(guī)則,所以,幾乎所有的注意力集中在最流行的領(lǐng)域中。這會給那些進行目前還不很流行方向上的研究人員很大的壓力,雖然他們的研究長期的價值非常重要。我個人的觀點是 DBN 和其他的生成式模型應(yīng)該獲得更多的注意。并且我對今后如果 DBN 或者相關(guān)的模型超過目前流行的模型也毫不詫異。欲了解 DBN,參考這個DBN 綜述。還有這篇文章也很有用。雖然沒有主要地將 DBN,但是已經(jīng)包含了很多關(guān)于 DBN 核心組件的受限 Boltzmann 機的有價值的信息。
其他想法:在神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)中還有其他哪些正在進行的研究?恩,其實還有很多大量的其他美妙的工作。熱門的領(lǐng)域包含使用神經(jīng)網(wǎng)絡(luò)來做自然語言處理 natural language processing、機器翻譯 machine translation,和更加驚喜的應(yīng)用如 音樂信息學(xué) music informatics。當然其他還有不少。在讀者完成本書的學(xué)習(xí)后,應(yīng)該可以跟上其中若干領(lǐng)域的近期工作,可能你還需要填補一些背景知識的缺漏。
在本節(jié)的最后,我再提一篇特別有趣的論文。這篇文章將深度卷積網(wǎng)絡(luò)和一種稱為強化學(xué)習(xí)的技術(shù)來學(xué)習(xí)玩電子游戲 play video games well(參考這里 this followup)。其想法是使用卷積網(wǎng)絡(luò)來簡化游戲界面的像素數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)化成一組特征的簡化集合,最終這些信息被用來確定采用什么樣的操作:“上”、“下”、“開火”等。特別有趣的是單一的網(wǎng)絡(luò)學(xué)會 7 款中不同的經(jīng)典游戲,其中 3 款網(wǎng)絡(luò)的表現(xiàn)已經(jīng)超過了人類專家。現(xiàn)在,這聽起來是噱頭,當然他們的標題也挺抓眼球的——“Playing Atari with reinforcement learning”。但是透過表象,想想系統(tǒng)以原始像素數(shù)據(jù)作為輸入,它甚至不知道游戲規(guī)則!從數(shù)據(jù)中學(xué)會在幾種非常不同且相當敵對的場景中做出高質(zhì)量的決策,這些場景每個都有自己復(fù)雜的規(guī)則集合。所以這的解決是非常干凈利落的。
神經(jīng)網(wǎng)絡(luò)的未來
意圖驅(qū)動的用戶接口:有個很古老的笑話是這么說的:“一位不耐煩的教授對一個困惑的學(xué)生說道,‘不要光聽我說了什么,要聽懂我說的含義。’”。歷史上,計算機通常是扮演了笑話中困惑的學(xué)生這樣的角色,對用戶表示的完全不知曉。而現(xiàn)在這個場景發(fā)生了變化。我仍然記得自己在 Google 搜索的打錯了一個查詢,搜索引擎告訴了我“你是否要的是[這個正確的查詢]?”,然后給出了對應(yīng)的搜索結(jié)果。Google 的 CEO Larry Page 曾經(jīng)描述了最優(yōu)搜索引擎就是準確理解用戶查詢的含義,并給出對應(yīng)的結(jié)果。
這就是意圖驅(qū)動的用戶接口的愿景。在這個場景中,不是直接對用戶的查詢詞進行結(jié)果的反饋,搜索引擎使用機器學(xué)習(xí)技術(shù)對大量的用戶輸入數(shù)據(jù)進行分析,研究查詢本身的含義,并通過這些發(fā)現(xiàn)來進行合理的動作以提供最優(yōu)的搜索結(jié)果。
而意圖驅(qū)動接口這樣的概念也不僅僅用在搜索上。在接下來的數(shù)十年,數(shù)以千計的公司會將產(chǎn)品建立在機器學(xué)習(xí)來設(shè)計滿足更高的準確率的用戶接口上,準確地把握用戶的意圖。現(xiàn)在我們也看到了一些早期的例子:如蘋果的Siri;Wolfram Alpha;IBM 的 Watson;可以對照片和視頻進行注解的系統(tǒng);還有更多的。
大多數(shù)這類產(chǎn)品會失敗。啟發(fā)式用戶接口設(shè)計非常困難,我期望有更多的公司會使用強大的機器學(xué)習(xí)技術(shù)來構(gòu)建無聊的用戶接口。最優(yōu)的機器學(xué)習(xí)并不會在你自己的用戶接口設(shè)計很糟糕時發(fā)揮出作用。但是肯定也會有能夠勝出的產(chǎn)品。隨著時間推移,人類與計算機的關(guān)系也會發(fā)生重大的改變。不久以前,比如說,2005 年——用戶從計算機那里得到的是準確度。因此,很大程度上計算機很古板的;一個小小的分號放錯便會完全改變和計算機的交互含義。但是在以后數(shù)十年內(nèi),我們期待著創(chuàng)造出意圖驅(qū)動的用戶借款購,這也會顯著地改變我們在與計算機交互的期望體驗。
機器學(xué)習(xí),數(shù)據(jù)科學(xué)和創(chuàng)新的循環(huán):當然,機器學(xué)習(xí)不僅僅會被用來建立意圖驅(qū)動的接口。另一個有趣的應(yīng)用是數(shù)據(jù)科學(xué)中,機器學(xué)習(xí)可以找到藏在數(shù)據(jù)中的“確知的未知”。這已經(jīng)是非常流行的領(lǐng)域了,也有很多的文章和書籍介紹了這一點,所以本文不會涉及太多。但我想談?wù)劚容^少討論的一點,這種流行的后果:長期看來,很可能機器學(xué)習(xí)中最大的突破并不會任何一種單一的概念突破。更可能的情況是,最大的突破是,機器學(xué)習(xí)研究會獲得豐厚的成果,從應(yīng)用到數(shù)據(jù)科學(xué)及其他領(lǐng)域。如果公司在機器學(xué)習(xí)研究中投入 1 美元,則有 1 美元加 10 美分的回報,那么機器學(xué)習(xí)研究會有很充足的資金保證。換言之,機器學(xué)習(xí)是驅(qū)動幾個主要的新市場和技術(shù)成長的領(lǐng)域出現(xiàn)的引擎。結(jié)果就是出現(xiàn)擁有精通業(yè)務(wù)的的大團隊,能夠獲取足夠的資源。這樣就能夠?qū)C器學(xué)習(xí)推向更新的高度,創(chuàng)造出更多市場和機會,一種高級創(chuàng)新的循壞。
神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)的角色:我已經(jīng)探討過機器學(xué)習(xí)會成為一個技術(shù)上的新機遇創(chuàng)建者。那么神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)作為一種技術(shù)又會有什么樣獨特的貢獻呢?
為了更好地回答這個問題,我們來來看看歷史。早在 1980 年代,人們對神經(jīng)網(wǎng)絡(luò)充滿了興奮和樂觀,尤其是在 BP 被大家廣泛知曉后。而在 1990 年代,這樣的興奮逐漸冷卻,機器學(xué)習(xí)領(lǐng)域的注意力轉(zhuǎn)移到了其他技術(shù)上,如 SVM。現(xiàn)在,神經(jīng)網(wǎng)絡(luò)卷土重來,刷新了幾乎所有的記錄,在很多問題上也都取得了勝利。但是誰又能說,明天不會有一種新的方法能夠擊敗神經(jīng)網(wǎng)絡(luò)?或者可能神經(jīng)網(wǎng)絡(luò)研究的進程又會阻滯,等不來沒有任何的進展?
所以,可能更好的方式是看看機器學(xué)習(xí)的未來而不是單單看神經(jīng)網(wǎng)絡(luò)。還有個原因是我們對神經(jīng)網(wǎng)絡(luò)的理解還是太少了。為何神經(jīng)網(wǎng)絡(luò)能夠這么好地泛化?為何在給定大規(guī)模的學(xué)習(xí)的參數(shù)后,采取了一些方法后可以避免過匹配?為何神經(jīng)網(wǎng)絡(luò)中隨機梯度下降很有效?在數(shù)據(jù)集擴展后,神經(jīng)網(wǎng)絡(luò)又能達到什么樣的性能?如,如果 ImageNet 擴大 10 倍,神經(jīng)網(wǎng)絡(luò)的性能會比其他的機器學(xué)習(xí)技術(shù)好多少?這些都是簡單,根本的問題。當前,我們都對它們理解的很少。所以,要說神經(jīng)網(wǎng)絡(luò)在機器學(xué)習(xí)的未來要扮演什么樣的角色,很難回答。
我會給出一個預(yù)測:我相信,深度學(xué)習(xí)會繼續(xù)發(fā)展。學(xué)習(xí)概念的層次特性、構(gòu)建多層抽象的能力,看起來能夠從根本上解釋世界。這也并不是說未來的深度學(xué)習(xí)研究者的想法發(fā)生變化。我們看到了,在那些使用的神經(jīng)單元、網(wǎng)絡(luò)的架構(gòu)或者學(xué)習(xí)算法上,都出現(xiàn)了重大轉(zhuǎn)變。如果我們不再將最終的系統(tǒng)限制在神經(jīng)網(wǎng)絡(luò)上時,這些轉(zhuǎn)變將會更加巨大。但人們還是在進行深度學(xué)習(xí)的研究。
神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)將會主導(dǎo)人工智能? 本書集中在使用神經(jīng)網(wǎng)絡(luò)來解決具體的任務(wù),如圖像分類。現(xiàn)在更進一步,問:通用思維機器會怎么樣?神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)能夠幫助我們解決(通用)人工智能(AI)的問題么?如果可以,以目前深度學(xué)習(xí)領(lǐng)域的發(fā)展速度,我們能夠期待通用 AI 在未來的發(fā)展么?
認真探討這個問題可能又需要另寫一本書。不過,我們可以給點意見。其想法基于 Conway's law:
任何設(shè)計了一個系統(tǒng)的組織…… 最終會不可避免地產(chǎn)生一個設(shè)計,其結(jié)構(gòu)本身是這個組織的社會結(jié)構(gòu)
所以,打個比方,Conway 法則告訴我們波音 747 客機的設(shè)計會鏡像在設(shè)計波音 747 那時的波音及其承包商的組織結(jié)構(gòu)。或者,簡單舉例,假設(shè)一個公司開發(fā)一款復(fù)雜的軟件應(yīng)用。如果應(yīng)用的 dashboard 會集成一些機器學(xué)習(xí)算法,設(shè)計 dashboard 的人員最好去找公司的機器學(xué)習(xí)專家討論一下。Conway 法則就是這種觀察的描述,可能更加宏大。
第一次聽到 Conway 法則,很多人的反應(yīng)是:“好吧,這不是很顯然么?” 或者 “這是不是不對啊?” 讓我來對第二個觀點進行分析。作為這個反對的例子,我們可以看看波音的例子:波音的審計部門會在哪里展示 747 的設(shè)計?他們的清潔部門會怎么樣?內(nèi)部的食品供應(yīng)?結(jié)果就是組織的這些部門可能不會顯式地出現(xiàn)在 747 所在的任何地方。所以我們應(yīng)該理解 Conway 法則就是僅僅指那些顯式地設(shè)計和工程的組織部門。
而對另一個反對觀點,就是 Conway 法則是很膚淺,顯而易見的?對那些常常違背 Conway 法則運行的組織來說,可能是這樣子,但我認為并非如此。構(gòu)建新產(chǎn)品的團隊通常會被不合適的員工擠滿或者缺乏具備關(guān)鍵能力的人員。想想那些包含無用卻復(fù)雜特征的產(chǎn)品,或者那些有明顯重大缺陷的產(chǎn)品——例如,糟糕的用戶界面。這兩種情況的問題通常都是因所需構(gòu)建好產(chǎn)品的團隊和實際上組成的團隊之間的不匹配產(chǎn)生的。Conway 法則可能是顯而易見的,但是并不是說就可以隨隨便便忽略這個法則。
Conway 法則應(yīng)用在系統(tǒng)的設(shè)計和工程中,我們需要很好地理解可能的系統(tǒng)的組成結(jié)構(gòu),以及如何來構(gòu)建這些部件。由于 AI 還不具備這樣的特性:我們不知道組成部分究竟是哪些,所以 Conway 法則不能直接應(yīng)用在 AI 的開發(fā)過程中。因此,我們甚至不能確定哪些是最為根本的問題。換言之,AI 更是一個科學(xué)問題而非工程問題。想像我們開始設(shè)計 747,并不了解噴氣引擎和空氣動力學(xué)的原理。也就難以確定自己團隊需要哪種類型的專家。正如 Werner von Braun 指出的,“基礎(chǔ)研究就是我們并不知道自己正在做的研究究竟是什么”。那么有沒有 Conway 法則在更為科學(xué)而非工程的問題上的版本呢?
為了正好地回答這個問題,我們可以看看醫(yī)學(xué)的歷史。在人類早期,醫(yī)學(xué)是像 Galen 和 Hippocrates 這樣的實踐者的領(lǐng)域,他們研究整個人體。但是隨著我們知識的增長,人類便被強迫進行專業(yè)分工了。我們發(fā)現(xiàn)很多深刻(deep)的新觀點:如疾病的微生物理論,或者對抗體工作機制的理解,又或者心臟、肺、血管和動脈的理解,所有這些知識形成了完整的心血管疾病系統(tǒng)。這樣深刻的理解形成了諸如流行病學(xué)、免疫學(xué)和圍繞在心血管疾病系統(tǒng)交叉關(guān)聯(lián)的領(lǐng)域的集群。所以我們的知識結(jié)構(gòu)形成了醫(yī)學(xué)的社會結(jié)構(gòu)。這點在免疫學(xué)上顯現(xiàn)的尤其明顯:認識到免疫系統(tǒng)的存在和具備研究的價值是非凡的洞察。這樣,我們就有了醫(yī)學(xué)的完整領(lǐng)域——包含專家、會議、獎項等等——圍繞在某種不可見的事物周圍,可以說,這并非一個清晰的概念。
深刻(deep)這里并沒有給出關(guān)于這個概念的嚴格定義,粗略地指對于整個豐富研究領(lǐng)域來說基礎(chǔ)性的概念和想法。BP 算法和疾病的微生物理論就是關(guān)于深刻很好的例子。
這種特點也在不同的科學(xué)分支上廣泛存在:不僅僅是醫(yī)學(xué),在物理學(xué)、數(shù)學(xué)、化學(xué)等等領(lǐng)域都存在這樣的情況。這些領(lǐng)域開始時顯現(xiàn)出一整塊的知識,只有一點點深刻的觀點。早期的專家可以掌握所有的知識。但隨著時間流逝,這種一整塊的特性就發(fā)生的演變。我們發(fā)現(xiàn)很多深刻的新想法,對任何一個人來說都是太多以至于難以掌握所有的想法。所以,這個領(lǐng)域的社會結(jié)構(gòu)就開始重新組織,圍繞著這些想法分離。我們現(xiàn)在看到的就是領(lǐng)域被不斷地細分,子領(lǐng)域按照一種復(fù)雜的、遞歸的、自指的社會結(jié)構(gòu)進行分解,而這些組織關(guān)系也反映了最深刻的那些想法之間的聯(lián)系。因此,知識結(jié)構(gòu)形成了科學(xué)的社會組織關(guān)系。但這些社會關(guān)系反過來也會限制和幫助決定那些可以發(fā)現(xiàn)的事物。這就是 Conway 法則在科學(xué)上變體版本。
那么,這又會對深度學(xué)習(xí)或者 AI 有什么影響呢?
因為在 AI 發(fā)展早期,存在對它的爭論,一方認為,“這并不是很難的一件事,我們已經(jīng)有[超級武器]了。”,反對方認為,“超級武器并不足夠”。深度學(xué)習(xí)就是最新的超級武器,更早的有邏輯、Prolog或者專家系統(tǒng),或者當時最牛的技術(shù)。這些論點的問題就是他們并以較好的方式?jīng)]有告訴你這些給定的候選超級武器如何強大。當然,我們已經(jīng)花了一章來回顧深度學(xué)習(xí)可以解決具備相當挑戰(zhàn)性的問題的證據(jù)。看起來令人興奮,前景光明。但是那些像 Prolog 或者Eurisko 或者專家系統(tǒng)在它們的年代也同樣如此。所以,那些觀點或者方法看起來很有前景并沒有什么用。我們?nèi)绾螀^(qū)分出深度學(xué)習(xí)和早期的方法的本質(zhì)差異呢?Conway 法則給出了一個粗略和啟發(fā)性的度量,也就是評價和這些方法相關(guān)的社會關(guān)系的復(fù)雜性。
所以,這就帶來了兩個需要回答的問題。第一,根據(jù)這種社會復(fù)雜性度量,方法集和深度學(xué)習(xí)關(guān)聯(lián)的強度是怎么樣的?第二,我們需要多么強大的理論來構(gòu)建一個通用的人工智能?
對第一個問題:我們現(xiàn)在看深度學(xué)習(xí),這是一個激情澎湃卻又相對單一的領(lǐng)域。有一些深刻的想法,一些主要的學(xué)術(shù)會議,其中若干會議之間也存在著很多重疊。然后,一篇篇的論文在不斷地提升和完善同樣的一些基本想法:使用 SGD(或者類似的變體)來優(yōu)化一個代價函數(shù)。這些想法非常成功。但是我們現(xiàn)在還沒有看到子領(lǐng)域的健康發(fā)展,每個人在研究自己的深刻想法,將深度學(xué)習(xí)推向很多的方向。所以,根據(jù)社會復(fù)雜性度量,忽略文字游戲,深度學(xué)習(xí)仍然是一個相當粗淺的領(lǐng)域。現(xiàn)在還是可以完全地掌握該領(lǐng)域大多數(shù)的深刻想法的。
第二個問題:一個想法集合需要如何復(fù)雜和強大才能達到 AI?當然,對這個問題的答案是:無人知曉。但在附錄部分,我討論了一些已有的觀點。我比較樂觀地認為,將會使用很多很多深刻的觀點來構(gòu)建 AI。所以,Conway 法則告訴我們,為了達到這樣的目標,我們必需看到很多交叉關(guān)聯(lián)的學(xué)科,以一種復(fù)雜和可能會很奇特的結(jié)構(gòu)的出現(xiàn),這種結(jié)構(gòu)也映射出了那些最深刻洞察之間的關(guān)系。目前在使用神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)中,這樣的社會結(jié)構(gòu)還沒有出現(xiàn)。并且,我也堅信離真正使用深度學(xué)習(xí)來發(fā)展通用 AI 還有至少幾十年的距離。
催生這個可能看起來很易見的試探性的并不確定的論斷已經(jīng)帶給我很多的困擾。毫無疑問,這將會讓那些寄望于獲得確定性的人們變得沮喪。讀了很多網(wǎng)絡(luò)上的觀點,我發(fā)現(xiàn)很多人在大聲地下結(jié)論,對 AI 持有非常樂觀的態(tài)度,但很多是缺少確鑿證據(jù)和站不住腳的推斷的。我很坦白的觀點是:現(xiàn)在下這樣樂觀的結(jié)論還為之過早。正如一個笑話所講,如果你問一個科學(xué)家,某個發(fā)現(xiàn)還有多久才會出現(xiàn),他們會說 10 年(或者更多),其實真正的含義就是“我不知道”。AI,像受控核聚變和其他技術(shù)一樣,已經(jīng)發(fā)展遠超 10 年已經(jīng) 60 多年了。另一方面,我們在深度學(xué)習(xí)中確確實實在做的其實就是還沒有發(fā)現(xiàn)極限的強大技術(shù),還有哪些相當開放的根本性問題。這是令人興奮異常的創(chuàng)造新事物的機遇。
文/Not_GOD(簡書作者)
原文鏈接:http://www.jianshu.com/p/10d70c5ceb39
總結(jié)
以上是生活随笔為你收集整理的第六章 深度学习(上中)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第六章 深度学习(上)
- 下一篇: 第六章 深度学习(中下)