Yann LeCun:深度學習已死,可微分編程萬歲!

2020-12-05 新智元

【新智元導讀】LeCun又發表驚人言論,繼昨天參與深度學習論戰、噴機器人Sophia後,今天他在Facebook主頁發文,稱「深度學習已死,可微分編程萬歲!」深度學習真的死了?而可微分編程又是什麼呢?

LeCun又語出驚人了,這次直指深度學習——

好,深度學習作為一個流行詞,現在時效已過。深度學習已死,可微分編程萬歲!

事情要回溯到前天。

1月4日,AAAI前主席Thomas Dietterich連發10條Twitter,駁斥紐約大學心理學家Gary Marcus對深度學習的批評。其中,Dietterich提到,

深度學習本質上是一種新的編程方式——可微分編程——而且這個領域正試圖用這種方式來制定可重用的結構。目前我們已經有:卷積,池化,LSTM,GAN,VAE,memory單元,routing單元,等等。」

這個說法讓英偉達的AI架構VP Clement Farabet深表贊同,Farabet還評價說,這是對現今深度學習的最好總結。LeCun也轉推此文,表示贊同。

但是,光是轉發推文,對LeCun來說顯然不夠。

今天,他在Facebook個人主頁上寫了一篇短文,不僅支持可微分編程,還用上了「深度學習已死」的表述。不僅如此,他還推出了一個「歸化學習」。

先來看LeCun的文章。

Yann LeCun:深度學習已死,可微分編程萬歲!

好,深度學習作為一個流行詞,現在時效已過。

深度學習已死,可微分編程萬歲!

沒錯,「可微分編程」不過是把現代這套深度學習技術重新換了個叫法,這就跟「深度學習」是現代兩層以上的神經網絡變體的新名字一樣

但重要的一點是,人們現在正在將各種參數化函數模塊的網絡組裝起來,構建一種新的軟體,並且使用某種基於梯度的優化來訓練這些軟體。

越來越多的人正在以一種依賴於數據的方式(循環和條件)來程序化地定義網絡,讓它們隨著輸入數據的動態變化而變化。這與是普通的程序非常類似,除了前者是參數化的、可以自動可微分,並且可以訓練和優化。動態網絡變得越來越流行(尤其是對於NLP而言),這要歸功於PyTorch和Chainer等深度學習框架(注意:早在1994年,以前的深度學習框架Lush,就能處理一種稱為Graph Transformer Networks的特殊動態網絡,用於文本識別)。

現在人們正在積極從事命令式可微分程式語言編譯器的工作。這是開發基於學習的AI(learning-based AI)一條非常令人興奮的途徑。

重要提示:這不足以讓我們實現「真正的」人工智慧。還需要其他的概念,比如我說過的預測性學習,我現在決定將其稱為「Imputative Learning」(歸化學習)。之後我會詳細介紹……

可微分編程:深度學習的延伸,人工智慧成功的關鍵

那麼,在等LeCun大神更詳細介紹他的歸化學習前,我們更需要關注的是可微分編程,這是深度學習的又一個新名字,還是確實有不同和新的內涵?

MIT媒體實驗室的David Dalrymple此前撰文介紹過可微分編程,Dalrymple 9歲登上TED講臺,14進入MIT讀研,16歲以5.0的GPA畢業,也是一代奇才。進入MIT媒體實驗室後,Dalrymple開發了新的編程範例,如「可重構的異步邏輯自動機(Reconfigurable asynchronous logic automata,RALA)。

Dalrymple認為,深度學習的成功有兩大關鍵,一是反向傳播,而是權重相關(weight-tying),而這兩大特性與函數編程(functional programing)中調用可重用函數十分相同。可微分編程有成為「timeless」的潛力。

過去幾年裡,人工智慧領域幾十年來一直沒有得到解決的一系列經典挑戰,突然被AI純粹主義者長期以來一直頗為鄙視的「統計方法」徵服。這種方法主要從大量的數據中學習概率分布,而不是檢查人類解決問題的技巧,並試圖以可執行的方式對這些技巧進行編碼。

這種方法最初被稱為「神經網絡」,現在則叫「深度學習」,強調對過去的神經網絡的定性改進。深度學習的成功很大程度上歸功於大的數據集和更強大的計算系統,大型科技公司對該領域突然興起的興趣也有一定關係。深度學習已經取得了令人難以置信的進步。許多其他方法也有所改善,但程度較低。

那麼,將深度學習與其他學習區分開來的關鍵是什麼?首先是反向傳播。這實際上是一個以非常優雅的方式應用的鏈式規則,一個簡單的微積分技巧。它是連續和離散數學的深度整合,使複雜的潛在解決方案族可以通過向量微積分自主改進。

關鍵是將潛在解決方案的模式(template)組織為有向圖(例如,從照片到生成的圖說,其間有許多節點)。反向遍歷這個圖,算法能夠自動計算「梯度向量」,這個向量能引導算法尋找越來越好的解決方案。

從這個意義上看,現代的深度學習技術與傳統的神經網絡在結構上相似度不大,但在幕後,反向傳播算法對於新舊架構都至關重要。

但是,即便使用了反向傳播,以前的神經網絡也遠遠不及現在的深度學習技術,哪怕是在今天的硬體和數據集條件下。因此,深度學習的第二大關鍵,是一個網絡的組件可以同時在多個地方使用。

隨著網絡的優化,每個組件的每個副本都被迫保持一致(這個想法被稱為 「weight-tying」)。這對權重相關的組件施加了額外的要求:它們必須學會在許多地方同時有用,而不是專門針對特定的地點。Weight-tying 會使網絡學習更泛化的能力,因為單詞和物體可能出現在文本塊或圖像的多個位置。

在網絡的許多地方放置一個通用的組件,就類似於在一個程序中編寫一個函數,並在多個地方調用它,這是函數編程(functional programming)的基本概念。函數編程將計算機運算視為數學上的函數計算,並且避免使用程序狀態以及易變對象。與編程相比,權重相關(weight-tied)的組件,實際上與編程中可重用函數的概念相同。不僅如此,過去幾年中,許多最成功的架構,它們對組件的重用方式,與函數編程中通用的「高階函數」生成組件的方式完全相同。這表明函數編程中的一些著名算子,可能是深度學習架構的一個很好的靈感。

能夠直接在函數程序上運行反向傳播的新語言,將最便於探索那些被訓練成深度學習網絡的函數結構。事實證明,隱藏在實現/部署的細節中,函數程序實際上被編譯成類似於反向傳播所需的計算圖。圖的各個組成部分也必須是可微的,但是Grefenstette等人最近發布了幾個簡單的數據結構(棧,隊列和雙向)的可微分構造,表明進一步的可微分實現,可能只是數學上巧妙設計的問題。這方面的進一步工作可能會打開一個新的編程範式——可微分編程。

用這樣一種語言編寫程序,就好像構建函數結構時,把細節留給優化器——語言會使用反向傳播根據整個程序的目標自動學習細節,就像優化深度學習中的權重一樣。

可微分編程是一個比較新的概念,是反向傳播和weight-tying這些想法的延伸。在各種架構、技術來了又去去了又來的眼下,這些核心概念仍然是人工智慧成功的關鍵。

神經網絡是「軟體2.0」:開發通用人工智慧的基礎

這些都讓人想到了深度學習和計算機視覺專家、特斯拉人工智慧部門主管Andrej Karpathy此前提出的「軟體2.0」概念。

Karpathy說,軟體1.0(Software 1.0)是用Python、C++等語言編寫的,它由程式設計師編寫的對計算機的明確指令組成。通過編寫每行代碼,程式設計師可以確定程序空間中的某個特定點。

相比之下,Software 2.0 是用神經網絡權重編寫的。沒有人參與這段代碼的編寫過程。在軟體2.0的情況下,人類對一個理想程序的行為指定一些約束(例如,一個樣本的輸入輸出對數據集),並使用可用的計算資源來搜索程序空間中滿足約束條件的程序。在神經網絡的例子中,我們把搜索限制在程序空間的一個連續的子集,在這個空間中,搜索過程可以利用反向傳播和隨機梯度下降奏效。

Karpathy認為,在現實世界中,大部分問題都是收集數據比明確地編寫程序更容易。未來,大部分程式設計師不再需要維護複雜的軟體庫,編寫複雜的程序,或者分析程序的運行時間。他們需要做的是收集、整理、操作、標記、分析和可視化提供給神經網絡的數據。

從長遠來看, Software 2.0的未來是光明的,因為越來越多的人清楚,當我們開發通用人工智慧(AGI)時,肯定會寫成Software 2.0。

Software 3.0?那就需要到AGI的時代了。

編譯來源

https://www.facebook.com/yann.lecun/posts/10155003011462143

https://www.edge.org/response-detail/26794

https://medium.com/@karpathy/software-2-0-a64152b37c35

相關焦點

  • LeCun最新演講:深度學習大革命來了,可微分編程潛力巨大
    他強調了可微分編程的潛力,稱未來還會出現更多的有關深度學習的變革,比如說更複雜的架構,同時也會出現更多的新理論。Yann LeCun(楊立昆)首先介紹了今天的基於監督學習的AI系統。今天所有的應用,不管是影像、聲音或者是圖像的識別,或者一種語言翻譯到另外一種語言,以及測試等等,都可以利用AI。
  • 「深度學習被可微分編程取代?」展望30年後的神經網絡和函數編程
    【新智元導讀】在Yann LeCun「深度學習已死」的驚人發言下,可微分編程的概念引發了廣泛關注。機器學習著名博主colah(Christopher Olah)在2015年展望30年後的深度學習,提到了可微分編程。
  • NumPy、AI基礎設施可微分編程、技術實踐,這是一場開發者的盛會
    在 WAIC2019 開發者日的主單元上,AWS 副總裁 Alex Smola 將為我們分享「深度 NumPy API 與深度學習工具」,讓我們看看經典的 NumPy 與新興的深度學習工具到底有著哪些不可分割的聯繫。Alex 於 2016 年 8 月加入 AWS,現在是機器學習副總裁和傑出科學家。 Alex 被公認為世界頂級機器學習專家之一。
  • 可微分式編程:深度學習發展的新趨勢?
    以長期以來被人工智慧純化論者所鄙視的途徑——從海量數據中學習概率的方式——解決了。從此你無需把問題編碼成可運行的格式,更不依賴人自身解決問題的技巧——從目標分類和語音識別到圖片標註和合成特定藝術家風格的圖像,甚至指導機器人執行尚未被編程的任務,都被一一解決。這個佔主導地位的新進展最初被冠以「神經網絡」之名,如今被稱作「深度學習」——用來定性地強調相比以前的長足進展。
  • DeepMind提出可微分邏輯編程,結合深度學習與符號程序優點
    DeepMind在最近發表的一篇論文中,提出了可微分歸納邏輯編程方法ILP,既能解決傳統歸納邏輯編程擅長的符號類任務,也對噪聲數據、訓練集中的誤差有一定容忍度,還可以通過梯度下降來訓練。怎麼樣?這種區別對我們來說很有意思,因為這兩類思維對應著兩種不同的機器學習方法:深度學習和符號程序合成(symbolic program synthesis)。深度學習專注於直觀的感性思維,而符號程序合成專注於概念性的、基於規則的思考。
  • 用NumPy寫深度模型,用Julia可微分編程寫函數,這是WAIC開發者日
    Viral 在開發者日表示,只有內嵌可微編程系統,Julia 才能更適合深度學習開發,適合更廣的科學運算。在本次的開發者日上,作為 Julia 創始人之一的 Viral B. Shah 博士重點介紹了為什麼 Julia 適合做機器學習開發,以及 Julia 在科學計算與機器學習上的可微分編程探索。
  • 人物|深度學習科學家——Yann LeCun
    為解決心中困惑,成長於法國的LeCun不遠萬裡來到多倫多大學跟隨深度學習鼻祖Geoffrey Hinton進行博士後研究。在之後的研究中,LeCun一直深受Hinton的影響,兩人始終保持很好的合作關係,並不斷推動人工智慧領域的發展。在加盟Facebook之前,LeCun在貝爾實驗室工作了超過20年。
  • 華為深度學習框架MindSpore正式開源:自動微分不止計算圖
    今年的華為開發者大會 HDC 2020 上,除了昇騰、鯤鵬等自研晶片硬體平臺之外,最令人期待的就是深度學習框架 MindSpore 的開源了。今天上午,華為 MindSpore 首席科學家陳雷在活動中宣布這款產品正式開源,我們終於可以在開放平臺上一睹它的真面目。
  • 原來意在可微分編程
    其中包含大量代碼示例,展示了如何用 Swift 優雅地編寫機器學習程序。兩年之前,谷歌的一個小團隊開始研究讓 Swift 語言成為首個在語言層面上一流地整合了可微分編程能力的主流語言。該項目的研究範圍著實與眾不同,而且也取得了一些出色的初期研究成果,似乎離公眾應用也並不很遠了。
  • pytorch編程之對抗生成
    In this case this is for the Dropout layersmodel.eval()Copy出:Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz to ..
  • 天生一對,硬核微分方程與深度學習的「聯姻」之路
    微分方程真的能結合深度神經網絡?真的能用來理解深度神經網絡、推導神經網絡架構、構建深度生成模型?我們將從鄂維南、董彬和陳天琦等研究者的工作中,窺探微分方程與深度學習聯袂前行的路徑。在論壇中,北京大學董彬副教授、林偉研究院和張志華教授等研究者從基礎出發介紹了「數學」眼中的機器學習是什麼樣的。而這些數理基礎,正好是構建可計算、可泛化、可解釋和穩健 ML 系統所必需的。在眾多演講中,我們發現董彬老師介紹的微分方程非常有吸引力,它對於探索新的深度學習架構、構建更高性能的深度學習模型非常有幫助。
  • 最新研究:新的深度學習技術破解偏微分方程的數學難題
    通過解此偏微分方程,可以得知任何時間點的流體運動,並模擬將如何繼續運動或之前是如何運動的。但這些計算非常複雜且計算量很大,所以常常依賴超級計算機來進行數學運算。這就是人工智慧領域可以發揮作用的地方。通過使用深度學習來加快解決的速度,將對科學探索和工程應用產生很大的好處。
  • 進展|張量網絡的微分編程
    近年來,張量網絡方法也被應用於機器學習問題中。然而,針對張量網絡的優化仍是一個長期存在的難點。這個瓶頸阻礙了張量網絡方法在一系列複雜問題中的充分應用。最近中國科學院物理研究所/北京凝聚態物理國家研究中心凝聚態理論與計算重點實驗室的廖海軍副研究員、劉金國博士、王磊副研究員和向濤研究員合作,將機器學習中發展的「自動微分」技術引入到張量網絡優化領域中,從而克服了這一障礙。
  • 「深度學習才不是鍊金術」,Yann LeCun為這個和NIPS獲獎論文作者掐...
    Yann LeCun 喜歡跟人爭執的名聲可算越傳越廣了。不過意外的是,Yann LeCun 覺得自己被冒犯了,他非常不喜歡演講中把深度學習稱作「鍊金術」的說法。Yann LeCun 在自己 Facebook 上發出一條長動態清晰地表達了自己的觀點:Ali 的演講非常有趣,他的意思也講得很清楚。不過他想表達的東西我從根本上就不太同意。
  • Reddit熱議:AI教父Yann LeCun提出的「能量模型」到底是...
    「能量自監督學習到底是什麼鬼?」不少Reddit網友評論說。剛剛,深度學習教父Yann LeCu登上了Reddit熱搜。一位不知名的開發者發表了一篇題為「Yann LeCun提出基於能量的自監督學習到底是什麼」的帖子,引發眾多網友討論。討論的焦點之一是,基於能量的自監督學習模型能做什麼?有什麼優勢或意義?
  • 1993珍貴錄像:32歲的LeCun向世界親自展示了首個CNN
    當然,Yann LeCun也早已成為大家心目中的「深度學習三巨頭」之一。 至今,CNN已經在圖像分類、物體檢測、物體追蹤、姿態預估、文本檢測識別、場景標記、目標定位、物體分割等等領域得到了廣泛的應用,為人們的日常生活提供了極大的便利。 都知道,想到並創造出一個新事物,遠遠比接受和掌握它要困難百倍。
  • 「神經常微分方程」提出者之一:如何利用深度微分方程模型處理連續...
    目前,他在多倫多大學教授概率學習和推理、機器學習統計方法、可微分推斷和生成模型等課程,指導的學生有陳天琦、Jesse Bettencourt、Dami Choi、Will Grathwohl、Eric Langlois、Jonathan Lorraine、Jacob Kelly 和 Winnie Xu。
  • 自動微分、並行加持,一次訓練,可多...
    剛剛,華為宣布正式開源自研深度學習框架MindSpore,代碼已經上線。  首先說自動微分,它是指計算機藉助程序自動求出一個函數導數的通用方法。在深度學習中,通常指對網絡模型的自動求導,通過梯度指導對網絡權重的優化。
  • 深度| 機器的自我進化:走向自主編程的人工智慧(附提交ICLR 2017的...
    1.DeepCoder:學習編程(DeepCoder: Learning to Write Programs) 摘要:我們首次提出了使用深度學習通過輸入輸出樣本來解決編程競賽風格的問題(programming competition-style
  • 一場突如其來的討論:到底什麼是深度學習?SVM其實也是深度學習嗎?
    Keras 作者 Franois Chollet 這樣說Keras作者、谷歌大腦高級研究員 Franois Chollet 最先給出了自己的觀點:什麼是深度學習?在 2019 年這個時間點,大家經常用到的那種深度學習定義大概是這樣的:「它由一連串可微分的參數化的層組成,而且是用反向傳播算法端到端地訓練的」。