「我是可微分編程的粉絲」,Gary Marcus再回應深度學習批判言論

近日,Gary Marcus 針對各研究者與開發者的評論做出了迴應,他從什麼是通用人工智能開始迴應了常見的 14 個質疑或問題,其中就包括 LeCun 所說的「mostly wrong」。此外,Marcus 還重申了他對深度學習的觀點,並繼續補充了一些他在上一篇文章所沒提到的侷限性。


全部真理必通過三個階段:第一,被嘲笑;第二,被激烈反對;第三,被不證自明地接受。——叔本華(德國哲學家,1788-1860) 算法


在上篇文章中(參見:打響新年第一炮,Gary Marcus 提出對深度學習的系統性批判),我列出了深度學習的十大挑戰,並認爲深度學習自己儘管頗有用,但不太可能獨自實現通用人工智能。我認爲深度學習「並不是一種通用的解決方案,而只是衆多工具之一」。編程


取代純粹深度學習的將是混合模型,它不只具備深度學習的監督形式,還包含其餘技術,好比符號處理(symbol-manipulation)和無監督學習(也可能會被從新概念化)。我一樣敦促社區將更多的先驗結構(innate structure)歸入 AI 系統。網絡


文章一推出,引來數千人在 Twitter 上討論,有些人很是認同(好比「這是不少年來我讀過的最好的深度學習與 AI 文章」),有些人反對(「頗有想法… 但大部分是錯的」)。架構


我認爲清晰地認識這些問題很重要,所以我編輯了一個包含 14 個常見問題的清單:無監督學習的用武之地在哪兒?爲何我沒有描述有關深度學習的更美好事情?是什麼給了我權利首先討論這一事情?讓神經網絡實現從偶數到奇數的泛化有何意義?(這是最重要的問題)以及更多其餘問題。我沒有涉及全部問題,可是我儘可能作到有表明性。app


1. 什麼是通用智能?機器學習


機器學習著名教授 Thomas Dietterich,我目前最完全而明確的反對者,給出了一個讓我很是滿意的回答:編程語言


「通用智能」是一個系統,可在一系列的目標和環境中智能地執行動做。可參見 Russell 與 Norvig 的教科書《人工智能:一種現代方法》,其中把智能定義爲「理性地行動」。ide


2. Marcus 不喜歡深度學習。他應該多說些深度學習的大量應用所取得的實際成果。函數


上面說起的 Thomas Dietterich 教授寫到:Gary Marcus 的文章使人失望。他不多述及深度學習的成就(好比天然語言翻譯),並小看了其餘成果(好比包含 1000 個類別的 ImageNet 是小型的/「很是有限」)。工具


對於第一點,我固然能夠說出更多成果,可是卻沒有,就像我忘記說起 Dietterich 的最佳實例;不過我在《Deep Learning: A Critical Appraisal》第一頁就提到:


深度學習取得了大量的當前最佳結果,好比在語音識別、圖像識別和語言翻譯領域,並在當前普遍的 AI 應用中發揮着重要做用。


稍後我將在文中引用若干個很不錯的文本和博文,其中包含大量的實例。可是其中大多數不能被稱爲 AGI,這是個人論文主旨。(好比,谷歌翻譯很是贊,但不通用,它沒法像人同樣回答關於其翻譯內容的問題。)


第二點更加真實。1000 個分類真的頗有限嗎?是的,若是與認知的靈活性相比的話。認知科學家一般認爲個體所知道的概念數量是 50000 個,而且人類能夠輕易地把這些概念組合成數量更多的複雜想法。寵物(pet)和魚(fish)極可能在這 50000 個概念之中;而一個不一樣的概念寵物魚(pet fish)極可能不在。而且我能夠輕易地接受「a pet fish that is suffering from Ick」這個概念,或者注意到「it is always disappointing to buy a pet fish only to discover that it was infected with Ick」(我小時候得過 Ick 這種病,至今依然很排斥)。我能夠表達多少像這樣的想法?明顯超過 1000。


我並不確切知道人類可識別多少視覺範疇,但個人猜想大致不差。試着谷歌一下有關「pet fish」的圖像,沒問題;而後再試下「pet fish wearing goggles」,你獲得的大可能是帶着眼鏡的狗,錯誤率超過 80%。


依我看,ImageNet 限定爲 1000 個類別自己對機器學習就是一種危害,它取得了短時間的成功,卻避開了更難、更開放、必須最終解決的問題(好比場景和語句理解)。相較於本質上咱們能夠看到和理解的無限的語句、場景,1000 個類別實在是太少了(參見文末 Note 2)。


3. Marcus 說深度學習沒有什麼用,但它對不少任務都有實際意義


固然深度學習是有用的,我從沒這樣說過它沒有用。只是說在目前監督學習的形式下,深度學習可能正接近它的極限;這些極限將阻礙咱們通往通用人工智能的進程——除非咱們開始結合符號運算和先天經驗等。


個人核心觀點是:儘管我提出了這麼多問題,但我不認爲咱們須要放棄深度學習。相反,咱們須要對其進行從新概念化:它不是一個廣泛的解決辦法,而僅僅只是衆多工具中的一個。咱們有電動螺絲刀,但咱們還須要錘子、扳手和鉗子,所以咱們不能只提到鑽頭、電壓表、邏輯探頭和示波器。


4. Gary Marcus 說 DL 對於層級結構來講並不夠好,可是 LeCun 代表深度學習很是擅長利用這種層級結構


這是 Ram Shankar 提出的很是機敏的問題,我應該更清楚地回答:咱們能考慮的層級結構有不少種。對於層級特徵,深度學習是很是好,也許是有史以來效果最好的。就像 LeCun 所說的那樣能高效處理特徵層面的層級結構,咱們一般把它表示爲層級的特徵檢測。這就像咱們用點構建線、用線構建字、用字構建句子那樣。Kurzweil 和 Hawkins 也着重強調這一點,且這種層級結構真的能夠追溯到 Hubel 和 Wiesel(1959)的神經科學試驗和 Fukushima 在 AI 上的觀點(Fukushima, Miyake, & Ito, 1983)。Fukushima 在他的神經認知學模型中手動構建了許多抽象特徵的層級表示,而 LeCun 和不少研究者表示咱們不須要手動完成這件事,讓機器執行就好了。


可是這種方式並不須要追蹤所遇到的子成分,頂層系統不須要明確地編碼整個輸出的結構,這也是爲何深度學習系統會出現對抗樣本的挑戰。例如在典型的圖像識別深度網絡中,沒有徹底認知到校車由輪子、底盤、車窗等構成,所以它們會認爲黃色和黑色的條紋就是校車((Nguyen, Yosinski, & Clune, 2014),且這種條紋的模型與校車的輸出單元激活值密切相關。[Note 3]


我所討論的層級結構是不一樣的,它圍繞着能夠被明確解釋的總體和部分之間的關係而構建。經典的證實是喬姆斯基的層級觀點,在一個有複雜語法單元組成的句子中,如使用新穎的短語「the man who mistook his hamburger for a hot dog with a larger sentence like The actress」代替「she would not be outdone by the man who mistook his hamburger for a hot dog」。


我不認爲深度學習在理解上述的女演員、男人、和熱狗之間的關係,儘管它會嘗試着去理解。


即便在視覺上,問題也會存在,例如 Hinton 最近關於 Capsule 的研究(Sabour, Frosst, & Hinton, 2017),他們試圖經過使用更多結構化的網絡在編碼方向上構建更魯棒的圖像識別模型。我認爲這是一個很好的趨勢,也是一個潛在能解決對抗樣本問題的方法。


5. 在通用人工智能的環境下討論深度學習是有問題的,由於深度學習的目標就不是通用人工智能!


這個問題最好的回答是魁北克教授 Daniel Lemire 所說的:「Oh! Come on! Hinton, Bengio… are openly going for a model of human intelligence」。


其實有不少學界領軍人物都代表深度學習是很難找到它的極限的,它能面對超乎咱們想象的困難。DeepMind 最近的 AlphaGo 論文 [見 Note 4] 有相似的定位,Silver 等人(Silver et al., 2017)代表:「咱們的研究結果全面地證實了,一個純粹 [深度] 強化學習方法是徹底可行的,即便在最具挑戰的領域。」


總之而言,人們持續對人類水平和 AI 系統的性能進行基準測試,很大的緣由就是由於 AGI 就是咱們的目標。


6. Marcus 認爲有問題的是監督學習,並不是深度學習。


Yann LeCun 在個人 Facebook 主頁中發表瞭如下評論:我沒有時間作出完整的迴應,但總而言之:(1)我認爲文章的大部分觀點都有錯誤。若是文中全部「深度學習」的實例都被「監督學習」取代,那麼錯誤就會大大減小。(2)尋找一種將深度學習的概念拓展到無監督學習和推理中的方法,正是過去 2.5 年來我一直倡導的。我不僅是在倡導它,實際上我一直在努力...... 你對這件事很瞭解,可是你沒在論文中寫明。


上述評論中,所謂我不認可 LeCun 最近的工做這一部分有些奇怪。誠然,我沒能找到一篇能在我文中引用的總結性文章(當我問 LeCun 時,他經過郵件告訴我尚未這樣一個文章),可是我明確地提到了他的興趣:


最近深度學習先驅 Geoffrey Hinton 和 Yann LeCun 都代表無監督學習是超越有監督、少數據深度學習的關鍵方法。


我一樣在文中指明:咱們要清楚,深度學習和無監督學習並非邏輯對立的。深度學習主要用於帶標註數據的有監督學習,可是也有一些方法能夠在無監督環境下使用深度學習。

個人結論也是積極的。雖然我對目前創建無監督學習系統的方法表達了保留意見,但我最終的結語是樂觀的:若是咱們創建了能設定自身目標的系統,並在更抽象的層面上進行推理和解決問題,那麼人工智能領域將會有重大的進展。


LeCun 的評論中正確的部分是,我提到的許多問題是監督學習中的廣泛問題,而非深度學習所特有的問題。我本能夠更清楚地闡明這一點。許多其餘的監督學習技術面臨相似的挑戰,例如泛化以及對海量數據集的依賴;而在我所說的問題中,深度學習所特有的問題相對較少。


可是,其餘監督學習技術同病相連,沒法真正幫助深度學習。若是有人能提出一個真正使人欽佩的、以無監督的方式進行深度學習的方法,可能對深度學習須要從新進行評估。然而,我沒有看到那種無監督學習,至少是目前所追求的。目前,它們都沒法對於我提出的挑戰(例如推理、層級表徵、遷移、魯棒性和可解釋性)進行補救。如今看來,這只是一個金融期票而已。[Note 5]


正如波特蘭州立大學和聖達菲研究所教授 Melanie Mitchell 迄今爲止在一條無答覆的 tweet 中提到的:……LeCun 說 Gary Marcus 文章是「大部分錯誤」,可是若是限制在監督學習,那麼「錯誤大大減小」。我很願意聽到(現有的)無監督學習項目的例子,但願有這種例子能說明 Gary Marcus 的說法是錯誤的。


我也很願意聽到這樣的消息。


同時,我認爲沒有原則性的理由能讓人相信無監督學習能夠解決我提出的問題,除非咱們首先加入更加抽象、象徵性的表述。


7. 深度學習不只包括卷積網絡(Marcus 所批評的那種),它「本質上是一種新的編程風格——『可微分編程』——並且該領域正試圖用這種風格實現可重用構造。咱們已有一些方向:卷積、池化、LSTM、GAN、VAE、記憶單元、路由單元等。」——Tom Dietterich

這彷佛(在 Dietterich 的更長的一系列推文中)做爲一種批評被提出。但我對此感到困惑,由於我是一個可微分編程的粉絲,並且我也是這麼說的。也許關鍵在於,深度學習能夠採起更普遍的方式。


不管在什麼狀況下,我都不會將深度學習和可微分編程(例如我所引用的、像神經圖靈機和神經編程這樣的方法)等同起來。深度學習是許多可微分系統的組成部分。可是這樣的系統也徹底插入了從符號處理技術中提取的重要元素,我也一直在敦促這個領域對此整合(Marcus,2001; Marcus,Marblestone,&Dean,2014a; Marcus,Marblestone,&Dean,2014b)。這其中包括記憶單元、變量操做以及其餘系統(好比近兩篇論文所強調的路由單元)。若是把這全部都融合到深度學習中能讓咱們獲得通用人工智能,那麼我下面的結論將會徹底正確:對於擴展來講,大腦可能被視爲由「一系列可重複使用的計算基元組成 - 基本單元的處理相似於微處理器中的一組基本指令。這種方式在可從新配置的集成電路中被稱爲現場可編程門陣列(FPGA)」,正如我在其它地方(Marcus,Marblestone,&Dean,2014)所論述的那樣,逐步豐富咱們的計算系統所創建的指令集會有很大的好處。


8. 如今 vs 將來。也許深度學習如今不起做用,但咱們的子孫後代可能實現 AGI。


有可能。我認爲深度學習在將咱們導向 AGI 上可能扮演着重要的角色,若是首先添加一些關鍵的東西(許多尚未被發現)的話。


可是,補充哪些因素相當重要?這個將來的系統,應該稱爲深度學習自己,仍是更爲合理地稱之爲「使用深度學習的某某某」?這取決於深度學習在終極解決方案的哪一個部分起做用。例如,也許在真正充分理解天然語言的系統中,操做符號的方法將扮演深度學習的一樣重要的角色,或者更重要的角色。


固然,術語學是這個問題的一部分。最近一個好朋友問我,爲何咱們不能將包括深度學習在內的任何東西都稱爲深度學習,即便它包含操做符號的方法?深度學習的優化處理應該很關鍵。對此我做出迴應:爲何不把包含符號操做在內的任何東西都稱爲符號操做,即便它包含深度學習呢?


基於梯度的優化應該獲得應有的效果,但符號處理也應該是這樣。符號處理是系統地表示和實現高級抽象的惟一已知工具,它基本上覆蓋了世界上全部複雜的計算機系統,包括電子表格、編程環境、操做系統等。


最後,我猜測,最後的成功也將歸因於神經網絡和符號處理之間的不可避免的聯姻,混合系統將把這兩個一樣於 20 世紀 50 年代初發展起來的 20 世紀人工智能的偉大思想聚集在一塊兒。其餘還沒有發明的新工具也可能相當重要。


對於一個深度學習的真正追隨者而言,任何東西都是深度學習,不管它如何與其餘技術融合,不管它與現有技術有多麼不一樣。(帝國主義萬歲!)若是你用一個神經元代替了經典的、符號性微處理器中的每個晶體管,可是保持芯片的邏輯徹底不變,一個真正的深度學習追隨者仍然會宣告勝利。可是,若是咱們把全部技術混在一塊兒,咱們就沒法理解推進(最終)成功的關鍵法則。[Note 6] 


9. 沒有機器能夠推斷。所以指望神經網絡能夠從偶數中生成奇數並不公平。


這裏有一個以二進制位爲表達式的函數。


f(110) = 011;

f(100) = 001;

f(010) = 010。


那麼 f(111) 等於多少?


普通人或許會猜想 f(111) 等於 111。但若是你是上文討論的那種神經網絡,你的答案或許並不是如此。


若是你曾數次據說過神經網絡中的隱藏層能夠「抽象化函數」,那麼你應該對此感到驚訝。


若是你是人類,你可能認爲該函數就是某種「逆轉」,能夠用一串計算機代碼輕鬆表達。若是你是某種神經網絡,那麼學習以從偶數擴展到奇數的方式將這種逆轉抽象化很是困難。不過是否有可能作到呢?若是你沒有對整數的先驗知識,則不可能。試試另外一種狀況,此次是十進制位:f(4) = 8;f(6) = 12,f(5) 等於多少?人類讀者不會關心這個問題須要從偶數擴展到技術,而大量神經網絡卻會產生困惑。


固然,因爲示例較少,該函數並不肯定,可是大部分人會認爲 f(5)=10,這一點很是有趣和重要。


一樣有趣的是,大部分標準多層感知機(表明二進制位數字)給出的答案並不是如此。這給了咱們一些啓示,可是神經網絡社區的不少人對此不覺得然,François Chollet 是一個例外。


重要的是,識別一個能夠應用到全部整數的規則就至關於神經網絡識別在一個語境中使用的新名詞能夠在大量其餘語境中使用。我第一次據說 blicket 這個詞表示物體時,猜想它可用於多種狀況,如 I thought I saw a blicket、I had a close encounter with a blicket,以及 exceptionally large blickets frighten me 等等。我就能夠生成和解釋此類句子,而無需特殊的訓練。blicket 是否與我聽到的其餘詞語音相近並不重要。若是大部分機器學習系統處理該問題時遇到問題,那麼咱們理應認爲大部分機器學習系統有問題。


那麼我「公平」嗎?公平,也不公平。我確實讓神經網絡作一些違反它們假設的事情。


神經網絡擁護者或許會說「等一下,在你的『逆轉』示例中,輸入空間有三個維度,分別表明最左邊的二進制位、中間的二進制位和最右邊的二進制位。訓練過程當中最右邊的二進制位只能是零,若是那個位置的數字是 1 的話,網絡就不知道該怎麼作了。」好比,康奈爾大學的一位博後 Vincent Lostenlan 說:「我不理解你在 3.11 中想證實什麼。f 是輸入空間中(n-1)維超立方體頂點的恆等函數。你爲何對 DNN,或者說任何 ML 模型感到震驚,而不是「泛化」至第 n 維?」


Dietterich 也持相同觀點,只不過更爲準確:「Marcus 抱怨深度學習沒法推斷,可是『沒有』方法能夠推斷。」


可是儘管對於深度學習難以解決奇偶數的問題(本文語境下)兩者都說得對,可是在更大的問題上,他們的觀點都是錯誤的,理由有三:


一,人類能夠推斷。在上述兩個示例中,人類均可以推斷出正確答案。你打算相信誰,我仍是你本身的眼睛?


對於在當代機器學習中浸淫已久的人來講,個人奇偶數問題彷佛並不公平,由於訓練過程當中並無說明特定的維度(限制最右的二進制位的值爲 1)。可是當人類看到上述示例時,你不會被訓練數據中的這一差距阻撓,你甚至不會注意到它,由於你的注意力處於更高級的規律。


人們一般用我剛纔描述的方式進行推斷,好比從上文給出的三個訓練示例中識別出字符串逆轉。從技術角度看,這是推斷,而你剛好作到了。我在《The Algebraic Mind》中認爲這種推斷是在訓練示例空間之外泛化全稱量化一對一映射(universally quantified one-to-one mapping)。若是咱們想要遇上人類學習,則找到該問題的解決方案很是重要,即便這意味着動搖原有的假設。


如今,極可能有人用這個理由認爲這不公平:人類泛化此類映射時,明顯依賴於先驗知識。


確實如此。可是重點是:某種神經網絡缺少好的方式來整合合適的先驗知識。準確地說是由於這些網絡缺少好的方式來整合先驗知識,如「不少泛化適用於無界類別的全部元素」或「奇數除以 2,餘數爲 1」,神經網絡缺少對變量的運算時就會失敗。合適的先驗知識容許神經網絡獲取和表示全稱量化一對一映射。標準的神經網絡沒法表示此類映射,除了使用有限的一些方式(好比卷積)。


二,當前沒有任何系統(深度學習或其餘)能夠用我上文描述的方式進行推斷,這樣說並不是沒有理由。其餘架構可能「處於險境」,可是這不意味着咱們應該放棄遊向岸邊。若是咱們想實現通用人工智能,就必須解決這個問題。


三,當前沒有系統可進行推斷的論斷是錯誤的;已經存在不少 ML 系統至少可以推斷出我描述的部分函數,你或許就擁有一個:Microsoft Excel,具體來講是它的快速填入(Flash Fill)函數(Gulwani, 2011)。支持它的方法與機器學習截然不同,可是它能夠進行某種推斷,儘管是在比較狹窄的領域中。


它甚至能夠用你所用的方式,即便在百位數的訓練維度中沒有正例。該系統從你想要的函數示例中學習,並進行推斷。小菜一碟。深度學習系統能夠用三個訓練示例作到嗎?即便有在其餘小型計數函數上的大量經驗。


也許吧,但這樣作的惟一方法可能就只是變量運算的混合,這與大多數深度學習中典型的卷積神經網絡所採用的方法是不一樣的。


爲了把全部這一切都變得不一樣,一個粗略的方法就是考慮目前大多數機器學習系統所處的階段是什麼 [Note 7],即它們並非考慮被設計爲「outside the box」,它們被設計爲在黑箱內完美的嵌入器。對於一些目標來講,這是沒什麼問題的,但並非全部。人類比目前的 AI 更擅長於站在黑箱外思考,我不認爲有人會反駁這一點。


可是沒有機器能處理相似人那樣廣度的問題,若是機器學習工程師但願爲 AGI 努力,那麼他們真應該朝這個方向發展。


10. 你所論述的事實該領域中的每一個人都已知道了,它並無新意。


固然,並非全部人都知道。正如前所述,不少評論者都代表咱們還不知道深度學習的極限在哪,還有人認爲極限會有一些,可是咱們目前尚未發現。也就是說,我歷來沒有說過個人觀點是全新的,我引用了不少學者的研究結果,他們都獨立地得出了類似的觀點。

11. Marcus 沒有引用 XXX。


是的沒錯,文獻引用是不完整的。我未引用的論文中最重要的是 Shanahan 的 Deep Symbolic Reinforcement(Garnelo,Arulkumaran & Shanahan,2016);我也漏掉了 Richardson 和 Domingos(2006)的 Markov Logic Networks。若是如今來看,我還但願引用 DeepMind 的 Evans 和 Edward Grefenstette 2017 年的一篇論文,以及 Smolensky 有關張量計算的文章(Smolensky 等人 2016)。以及多種形式概括編程的研究(Gulwani 等人,2015),以及機率編程(Goodman、Mansinghka、Roy、Bonawitz & Tenenbaum,2012)。全部這些研究都努力在將網絡與規則聯繫在一塊兒。


此外還有 Jordan Pollack 等先驅者們的早先研究(Smolensky 等人,2016)。以及 Forbus 和 Gentner(Falkenhainer,Forbus & Gentner,1989)以及 Hofstadter 和 Mitchell 1994 年進行的類比工做,還有不少。還有不少文獻是須要引用的。


總之,我試圖找出其中具備表明性的研究,而非全面引用,但我認可仍是應該作得更好……


12. Marcus 不是站在業內的角度思考問題的,他不是推進者,他只是一個批評者。


關因而否列出這個問題,我有些猶豫,但我看到有不少人都持有這種觀點,其中甚至包括一些知名專家。正如 Ram Shankar 提到的,「做爲一個社區,咱們必須把批評限制在科學和價值的層面上。」真正重要的不是個人資歷(事實上我認爲本身有資格寫這樣的文章),而是論證的有效性。


要麼個人論點是正確的,要麼不是。


不過,對於那些但願瞭解個人背景的人,在本文附錄中有一些能夠參考的資料。


13. Re:層次結構,Socher 的 tree-RNN 如何呢?


我已寫郵件向做者問詢,但願進一步瞭解這項技術。我也在推進其餘一些研究團隊嘗試 Lake 與 Baroni(2017)這類的研究。


Pengfei 等人(2017)也提出了一些有趣的討論。


14. 你對深度學習的批判應該更強烈。


明面上尚未人這麼說,但有一些相似的話已經出現了,大可能是在私下裏。


例若有些人就指出:深度學習可能會在將來預測上出現一些嚴重錯誤。


目前,對於深度學習成功的感受正以指數級的速度快速發展……這就像鳥兒低空掠過樹枝,看到大量果實,一旦飛過果樹,進行深度推理的速度就會變慢了。此外,我不明白在識別貓正確率剛剛達到 95% 的今天,爲何人們對於通用人工智能、倫理、道德有這麼多的思考。後一類的問題應該存在於更復雜的空間之上。


這位同事還補充說:[研究者們] 在宣佈在某些領域取得勝利的速度過快了。好比圖像處理:咱們已經發現了一類計算機更加擅長解決的圖像處理問題,確實如此,但一樣這些算法仍然會被對抗攻擊迷惑。此外,當它們出錯時,錯誤每每很是離譜。與之相對的,當我在街道上駕駛汽車時,我可能會把一棵樹誤認爲是路燈柱,但我不會有那些深度學習網絡犯的那些奇怪錯誤(這是由於我對含義和背景信息有深刻的理解)。人們確實一般知道這些侷限性,但 ImageNet 的結果給人們帶來了一個基本觀點:計算機比人類更擅長圖像識別。

另外一位同事、機器學習研究者和做者 Pedro Domingos 指出了一些我沒有提到的當前深度學習方法的其它短板:


和其它靈活的監督學習方法相似,深度學習系統可能不穩定——訓練數據的少量改變可能會致使所得模型發生巨大變化。


即便更少許的數據就足夠了,但它們仍是須要大量數據。(數據加強的成本很是高,而在人類看來,這應該不是必需的。)


它們可能很脆弱:數據上的微小變化可能會致使災難性的失敗(好比將數字數據集中的黑白像素翻轉(Hosseini, Xiao, Jaiswal, & Poovendran, 2017))。


它們的準確度每每比咱們推斷的更低(好比 Ribeiro, Singh and Guestrin (2016) 發如今從 ImageNet 提取出的一個數據集上實現的狼與狗辨別的高準確度主要是經過檢測狼圖像中的白色雪堆獲得的。)


在機器學習的歷史中,到目前爲止,每一種範式在失勢以前每每會主導大約十年的時間(好比神經網絡主導了八十年代,貝葉斯學習主導了九十年代,核方法主導了 2000 年代)。


正如 Domingos 指出的那樣,咱們不能保證這種起起伏伏還會重複。神經網絡以前已經經歷過幾回起伏了,一直能夠追溯到 1957 年 Rosenblatt 的第一個感知器。咱們不該該將這種週期性的熱情誤認爲是智能的徹底解決方案——在我看來,這仍然還須要數十年的時間。


若是咱們想實現 AGI,咱們本身必須清晰地認識到咱們成功路上所面臨的挑戰。


備註


1. 感謝 Amy Bernard、Josh Cohen、Ernie Davis、Shlomo Shraga Engelson、Jose Hernandez-Orallo、Adam Marblestone、Melanie Mitchell、Ajay Patel、Omar Uddin 和 Brad Wyble 給出的評論。


2. 依賴這 1000 個圖像集還存在其它問題。好比,在閱讀本論文的草稿時,Melanie Mitchell 向我指出了 Loghmani 及其同事 (2017) 最近在評估深度學習在真實世界中的表現的重要成果。該論文的摘要寫道:「分析深度表徵從網絡圖像到 [現實中的] 機器人數據的可遷移性。儘管 [使用網絡圖像開發的表徵] 獲得了出色的結果,但實驗代表在真實機器人數據上的物體分類還遠未獲得解決。」


3. 並且文獻正在快速增加。12 月底有一篇關於欺騙深度網絡使其將兩位滑雪者誤認爲狗的論文(https://arxiv.org/pdf/1712.07113.pdf)以及另外一篇關於用於構建真實世界對抗補丁的通用工具的論文(https://arxiv.org/pdf/1712.09665.pdf,也可參閱 https://arxiv.org/abs/1801.00634。) 深度學習在真實環境中竟如此脆弱,想一想均可怕。

對於這個問題,能夠查閱 Filip Pieknewski 的博客瞭解爲何使用照片訓練的深度學習系統難以將它們所學到東西遷移到線條圖畫上:https://blog.piekniewski.info/2016/12/29/can-a-deep-net-see-a-cat/。視覺並不像不少人覺得的那樣已經獲得瞭解決。


4. 正如我將在即將到來的論文中會解釋的那樣,AlphaGo 實際上並非一個純粹的(深度)強化學習系統,儘管引用的段落看起來好像是這樣。這其實是一個混合系統——其中包含由操做符號的算法驅動的組件以及一個通過精心設計的深度學習組件。


5. 隨便一提,AlphaZero 並非無監督的,而是自監督的——使用了自我對弈和模擬做爲生成監督數據的方式;我會在接下來的論文中更詳細地討論該系統。


6. 好比谷歌搜索以及理解它的可能方式。谷歌最近已經在其用於搜索的大量算法中加入了深度學習算法 RankBrain。並且谷歌搜索確定是在輸入數據和知識後以分層的方式處理它們(按 Maher Ibrahim 的說法,這就是算做深度學習所需的一切)。可是,深度學習實際上只是衆多算法中的一個;好比知識圖譜組件則主要基於遍歷本體(traversing ontology)的經典人工智能概念。從任何合理的角度看,谷歌搜索都是一個混合系統,深度學習只是其中衆多方法中的一種。


將谷歌搜索總體上稱爲「一個深度學習系統」是一種嚴重的誤導,就好像是由於木工活涉及到螺絲刀就把木工活稱爲「螺絲刀」。


7. 概括邏輯編程、概括函數編程(微軟 Flash Fill 背後的大腦)和神經編程等是重要的例外。這些所有都取得了一些進展;其中一些甚至包含了深度學習,但在它們本來的操做運算以外還包括對變量的結構化表徵和操做;這就是我要求的一切。


8. 個人人工智能實驗始於青少年時期,其中包括用 Logo 編程語言編寫的一個拉丁語-英語翻譯器。在研究生學院,我與 Steven Pinker 一塊兒研究探索了語言習得、符號規則和神經網絡之間的關係。(我也要感謝個人本科導師 Neil Stillings)。我爲個人論文(Marcus et al., 1992)收集的兒童語言數據已經被引用了數百次


在 20 世紀 90 年代末,我發現了多層感知器中一些特定的可復現的問題(Marcus, 1998b; Marcus, 1998a);基於這些觀察,我設計了一個被廣爲引用的實驗。該研究發表在 Science 上(Marcus, Vijayan, Bandi Rao, & Vishton, 1999),代表年幼的嬰兒能夠提取代數規則,而 Jeff Elman(1990)的當時流行的神經網絡則沒法作到。全部這些在 MIT Press 2001 年出版的一本書(Marcus, 2001)中達到了高潮,其中包含了各類表明性的原語,其中一些已經開始出如今最近的神經網絡中;尤爲是在新的差分編程領域(Daniluk, Rocktäschel, Welbl, & Riedel, 2017; Graves et al., 2016)中對變量的操做,相關研究應該在某個位置引述這本書。使用記憶記錄也獲得了重點強調,在 Facebook(Bordes, Usunier, Chopra, & Weston, 2015)等的關於記憶網絡的研究中能夠看到相關思想。接下來的十年我研究的其它問題包括遺傳性(innateness,Marcus, 2004)(我會在接下來關於 AlphaGo 的論文中詳細討論)和進化(Marcus, 2004; Marcus, 2008),我最後又回到了人工智能和認知建模。我在 2014 年發表在 Science 上的一篇關於皮質計算的文章(Marcus, Marblestone, & Dean, 2014)也預測了一些當前差分編程領域正在發生的狀況。


最近我離開了學術界,在 2014 年創立了並領導着一家機器學習公司;從任何合理的角度看,這家公司都很成功——在成立大約兩年以後被 Uber 收購了。做爲聯合創始人和 CEO,我組建了一個包含世界上一些最好的機器學習人才的團隊,其中有 Zoubin Ghahramani、Jeff Clune、Noah Goodman、Ken Stanley 和 Jason Yosinski;該團隊在開發咱們的核心知識產權和塑造咱們在智能上的使命方面發揮了關鍵性做用(Zoubin Ghahramani 和我本人聯合撰寫的一個專利正在申請中)。


儘管咱們作的不少工做都是機密,如今也歸 Uber 全部,而不是我,但我能夠說咱們工做中的很大一部分都是爲了將深度學習整合進咱們本身的技術中,這讓我很大程度上熟悉了 TensorFlow 和梯度消失(爆炸)問題的樂趣和艱難。咱們的目標是讓咱們平常就能在稀疏數據上使用混合深度學習系統來獲得當前最佳的結果(有時候成功了,有時候沒成功)。gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==


參考文獻


Bordes, A., Usunier, N., Chopra, S., & Weston, J. (2015). Large-scale Simple Question Answering with Memory Networks. arXiv.

Daniluk, M., Rocktäschel, T., Welbl, J., & Riedel, S. (2017). Frustratingly Short Attention Spans in Neural Language Modeling. arXiv.

Elman, J. L. (1990). Finding structure in time. Cognitive science, 14(2)(2), 179–211.

Evans, R., & Grefenstette, E. (2017). Learning Explanatory Rules from Noisy Data. arXiv, cs.NE.

Falkenhainer, B., Forbus, K. D., & Gentner, D. (1989). The structure-mapping engine: Algorithm and examples. Artificial intelligence, 41(1)(1), 1–63.

Fukushima, K., Miyake, S., & Ito, T. (1983). Neocognitron: A neural network model for a mechanism of visual pattern recognition. IEEE Transactions on Systems, Man, and Cybernetics, 5, 826–834.

Garnelo, M., Arulkumaran, K., & Shanahan, M. (2016). Towards Deep Symbolic Reinforcement Learning. arXiv, cs.AI.

Goodman, N., Mansinghka, V., Roy, D. M., Bonawitz, K., & Tenenbaum, J. B. (2012). Church: a language for generative models. arXiv preprint arXiv:1206.3255.

Graves, A., Wayne, G., Reynolds, M., Harley, T., Danihelka, I., Grabska-Barwińska, A. et al. (2016). Hybrid computing using a neural network with dynamic external memory. Nature, 538(7626)(7626), 471–476.

Gulwani, S. (2011). Automating string processing in spreadsheets using input-output examples. dl.acm.org, 46(1)(1), 317–330.

Gulwani, S., Hernández-Orallo, J., Kitzelmann, E., Muggleton, S. H., Schmid, U., & Zorn, B. (2015). Inductive programming meets the real world. Communications of the ACM, 58(11)(11), 90–99.

Hofstadter, D. R., & Mitchell, M. (1994). The copycat project: A model of mental fluidity and analogy-making. Advances in connectionist and neural computation theory, 2(31–112)(31–112), 29–30.

Hosseini, H., Xiao, B., Jaiswal, M., & Poovendran, R. (2017). On the Limitation of Convolutional Neural Networks in Recognizing Negative Images. arXiv, cs.CV.

Hubel, D. H., & Wiesel, T. N. (1959). Receptive fields of single neurones in the cat』s striate cortex. The Journal of physiology, 148(3)(3), 574–591.

Lake, B. M., & Baroni, M. (2017). Still not systematic after all these years: On the compositional skills of sequence-to-sequence recurrent networks. arXiv.

Loghmani, M. R., Caputo, B., & Vincze, M. (2017). Recognizing Objects In-the-wild: Where Do We Stand? arXiv, cs.RO.

Marcus, G. F. (1998a). Rethinking eliminative connectionism. Cogn Psychol, 37(3)(3), 243—282.

Marcus, G. F. (1998b). Can connectionism save constructivism? Cognition, 66(2)(2), 153—182.

Marcus, G. F. (2001). The Algebraic Mind: Integrating Connectionism and cognitive science. Cambridge, Mass.: MIT Press.

Marcus, G. F. (2004). The Birth of the Mind : how a tiny number of genes creates the complexities of human thought. Basic Books.

Marcus, G. F. (2008). Kluge : the haphazard construction of the human mind. Boston : Houghton Mifflin.

Marcus, G. (2018). Deep Learning: A Critical Appraisal. arXiv.

Marcus, G.F., Marblestone, A., & Dean, T. (2014a). The atoms of neural computation. Science, 346(6209)(6209), 551—552.

Marcus, G. F., Marblestone, A. H., & Dean, T. L. (2014b). Frequently Asked Questions for: The Atoms of Neural Computation. Biorxiv (arXiv), q-bio.NC.

Marcus, G. F. (2001). The Algebraic Mind: Integrating Connectionism and cognitive science. Cambridge, Mass.: MIT Press.

Marcus, G. F., Pinker, S., Ullman, M., Hollander, M., Rosen, T. J., & Xu, F. (1992). Overregularization in language acquisition. Monogr Soc Res Child Dev, 57(4)(4), 1–182.

Marcus, G. F., Vijayan, S., Bandi Rao, S., & Vishton, P. M. (1999). Rule learning by seven-month-old infants. Science, 283(5398)(5398), 77–80.

Nguyen, A., Yosinski, J., & Clune, J. (2014). Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images. arXiv, cs.CV.

Pengfei, L., Xipeng, Q., & Xuanjing, H. (2017). Dynamic Compositional Neural Networks over Tree Structure IJCAI. Proceedings from Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence (IJCAI-17).

Ribeiro, M. T., Singh, S., & Guestrin, C. (2016).「Why Should I Trust You?」: Explaining the Predictions of Any Classifier. arXiv, cs.LG.

Richardson, M., & Domingos, P. (2006). Markov logic networks. Machine learning, 62(1)(1), 107–136.

Sabour, S., dffsdfdsf, N., & Hinton, G. E. (2017). Dynamic Routing Between Capsules. arXiv, cs.CV.

Silver, D., Schrittwieser, J., Simonyan, K., Antonoglou, I., Huang, A., Guez, A. et al. (2017). Mastering the game of Go without human knowledge. Nature, 550(7676)(7676), 354–359.

Smolensky, P., Lee, M., He, X., Yih, W.-t., Gao, J., & Deng, L. (2016). Basic Reasoning with Tensor Product Representations. arXiv, cs.AI.

原文連接:https://medium.com/@GaryMarcus/in-defense-of-skepticism-about-deep-learning-6e8bfd5ae0f1