Facebook 首席 AI 科學家圖文演講:如何讓 AI 學習常識, AI 未來趨勢又在何方
4 月 26日,GMIC 北京 2018 在北京國際會議中心召開,Facebook 首席 AI 科學家楊立昆( Yann LeCun)通過視頻連線做了題為《AI 的最新技術趨勢》的演講。以下為演講內容:
楊立昆:大家晚上好!我這邊是晚上,你們那邊應該是上午,非常抱歉我不能親自到會場上來。我叫楊立昆,來自 Facebook?人工智能研究院以及紐約大學。今天我想講一下關于深度學習的一些情況,同時也會提及深度學習的未來,以及我們所面臨的關于深度學習方面的挑戰,即如何讓機器變得更加智能。
從監督學習開始
我們看一下今天的 AI 系統,如今所有的應用,不管是影像、聲音或者是圖像的識別,或者語言間的翻譯等,這些內容 AI 都需要通過監督學習來獲得。
比如說:向它展示一些車的圖像,告訴它這些都是車,下次再向機器展示車的圖像的話,它就會告訴你答案是車。所以你可以看到,監督學習,對于計算機的學習非常重要。
我們現在的有監督學習,或者說深度有監督學習,就是組合起來一些可以訓練的模塊,形成端到端的一個學習過程。一端是原始的輸入,另一端就可以得到結果。通過這種方式,計算機會更好地了解我們的世界。
實際上這個想法可以回溯到上個世紀八十年代的時候,當時提出的卷積神經網絡可以識別圖像,同時也有很多其他的應用。比如:說可以用于語言處理和語言識別和其他很多的應用,這就是我們如今在使用的一些常見應用的模型雛形。
我們知道神經網絡是非常龐大且復雜的,只有在算力很強的計算機上才可以運用。在深度學習變得普遍之前,我們需要確保機器學習的系統可以順利應用。
比如說:我們在 2009 年、2010 年在紐約大學的一個合作項目,即利用 ConvNets 進行語義分割。我們可以看到:它能識別圖像,能把馬路上的建筑、天空以及路上的車和人等等在像素級別上分開。當時的識別技術還算不上非常完美。
但在幾年后,我們可以看到有一些公司利用上述技術做了一些工作,系統可以識別出道路上的車輛和行人,這也是實現智能駕駛的重要組成部分。隨著深度學習的發展、網絡的深度越來越深,越來越多的人相信深度學習是可以奏效的。
大家可以看到幾種常見的神經網絡,比如 :VGG、GoogLeNet、ResNet 還有 DenseNet 等;比如說:有 100 層或者 180 層的一些人工神經網絡。
像在 Facebook 中我們會廣泛使用深度神經網絡來識別圖像。
隨著網絡深度的不斷增加,識別?ImageNet?圖像的錯誤率也在不斷下降,現在已經表現得比人還要好。在?ImageNet?上的表現已經太好了,以至我們現在都已經不再把它作為首選的評價標準了 。我們現在也在研究更復雜的問題,不只是識別圖像,還要能夠進行本地化處理。
Mask R-CNN 是我們在 Facebook 人工智能研究院所做的研究,可以看到它的表現非常好,不僅僅可以識別出對應的物體是什么,還可以對圖像進行精細的分割,只是部分可見的東西都可以分得清。
大家可以看到:它可以識別電腦、酒杯、人、桌子,還可以統計它們的數量,而且也可以識別出道路、汽車等。
如果五年前讓系統來解決這些問題的話,我們當時可能認為需要 10-20 年時間才能達到今天呈現的效果。這個模型也是我們開源的 Dectectron 物體檢測平臺的一部分,大家可以下載其中的代碼,預訓練好的模型可以檢測 200 多種不同的類別。
Facebook 在 AI 方面做研究的方式是——我們不僅僅發布了一些論文,同時連代碼也開源出來,這樣的話全世界都能更好了解這些成果。
當然還包括其他很多項目,在 Facebook,我們利用這樣的技術設計了 DensePose,它在一個單一的 GPU 上運行,可以預測密集人體姿態估計,而且系統能夠實時運行。
這個系統可以追蹤很多人的行為,生成視頻,而且對姿勢的判斷也非常準確。此外,它可以實時地生成分片 3D?模型,相應的代碼也是開源的。
當然利用這樣的技術不僅僅可以進行圖像識別,也可以進行面部識別,還能識別人的行動,甚至可以用來翻譯。FairSeq 是 Facebook 在加州所做的研究,我們可以用我們的系統進行翻譯工作。
在 Facebook 經常有各國語言,采用這種技術可以把一些文字從一種語言翻譯到另外一種語言。
我覺得對于行業來說,進行這樣的開發研究將是會是一個非常有用的過程。對于我們研究團隊來說,不僅僅要開發對我們公司來說非常有用的技術,同時我們也希望所開發的技術能夠引導整個社區,能夠解決我們所感興趣的問題。
我們認為 AI 不僅僅會幫助?Facebook 解決問題,同時還會幫助人類解決很多自己無法解決的挑戰,所以我們會與我們的科學團隊一起朝這方面努力。
以下是在過去的幾年里, 所發布的一些開源項目,包括像深度學習網絡、深度學習框架,還有關于深度學習的應用。
我剛才講到:Facebook 每天都會有一些新的應用發布,比如:醫學影像分析、自動駕駛、語言翻譯等等,在科學方面也有很多應用。
我們也可以看到,深度學習的廣泛應用會進一步推動科學方面的研究,在接下來幾年里,我們會看到深度學習會發生更大的變革。
這是一個 NVIDIA 訓練的自動駕駛的 demo 視頻,它是用卷積網絡做模仿學習。模仿人類駕車,它會識別攝像頭拍到的路況,然后把結果映射為方向盤的角度,它可以在郊外的路上連續開幾分鐘而不需要人的干預。
可微分編程:深度學習與推理的聯姻
我們再來看一下可微分編程。
實際上我們可以從另外一個角度來理解深度學習,深度學習并不是一定需要構建一個固定架構的神經網絡然后訓練,它也可以是寫程序代碼,但程序代碼可以被解釋為神經網絡。這樣的程序里會帶有一些參數,然后可以通過訓練來優化這些參數,這些參數的最終取值也就取決于訓練數據。
當然了我們也需要寫第二個程序,計算輸入關于參數的導數的梯度,就可以往正確的方式調整這些參數的值了。這樣動態改變了最終網絡的結構,它也就可以適應不同的任務。這就是可微分編程。
這是幾年前所開展的一項典型的工作,Facebook 和紐約大學一起合作的,用記憶模塊增強神經網絡,網絡的結構也就是動態的,這樣的做法也會影響未來我們用什么樣的工具開發神經網絡。
這是另外一個關于動態計算的例子。如果你要建立一個系統能夠回答復雜問題的話,比如:下面的這副圖中,紅色的立方體,是不是要比別的大一些?或者立方體有沒有比某個顏色的東西更多?
這是幾年前?Facebook?和斯坦福大學合作的研究,它的關鍵思想是:通過循環神經網絡?LSTM 輸入問題,問題會被編碼成向量的形式,然后向量再被另一個網絡解碼,解碼后的結果像是一種程序,程序解釋后的結果是幾個模塊連接形成的計算圖。這樣最終我們就解答了這個問題。
比如:對于問題「立方體有沒有比黃色的東西更多」,我們首先需要一個立方體的檢測器,然后需要檢測黃色東西的檢測器,分別數出來都有多少,最后對比兩個數字得到了結果。動態計算就可以端到端地訓練出執行這樣任務的程序,決定它的組成結構的也就是用來訓練它的數據。
剛才看到的都是一些已經做到的深度學習成就,那么我們還需要看一下:距離達成「真正的?AI」我們還缺了什么?
現在我們已經可以構建出更安全的車輛或者說自動駕駛車輛,我們有更好的醫學影像分析、還不錯翻譯軟件、差不多能用的聊天機器人,但我們還做不出來有「常識」的機器人、做不出真正有智慧的個人助理、做不出可以替代洗碗機的管家機器人。
我們缺了一些重要的東西。
強化學習是我們缺的那塊拼圖嗎?
有的人會說:答案就是強化學習。強化學習當然也很有力,但是它只能在游戲的、虛擬的環境里發揮。
玩?DOOM、下圍棋,都沒有問題,但是因為強化學習需要很多的嘗試,AlphaGo?甚至自我對局了上百萬局,這些都是現實世界里做不到的,所以強化學習并不適合解決現實生活中的問題。
玩?Atari?游戲需要上百個小時才能玩到人類玩幾分鐘的水平,學開車就更是要先撞壞很多車才能學會,現實世界里的嘗試也沒辦法加速時間,這都是不可接受的。
所以確實我覺得人類和動物的那種學習方式,現在的機器并不具備。
機器需要學習常識
我們想想嬰兒是怎么學習的呢?
比如:我們給嬰兒看左上角的這張圖,那個小車漂浮在空中,雖然沒有下面沒有任何支撐,但是并沒有掉下來。不到 6?個月大的嬰兒看到這張圖片并不會覺得驚訝,但是更大的嬰兒已經知道了沒有東西支撐的話是會掉下來的,看到這張圖片就會很驚訝,像左下角的圖這樣。
我的一位朋友,她是在巴黎工作,她給我們展示了嬰兒在每個月分別能學會哪些概念,而且他們也能夠了解到一些物理最基本的原理。這是他們在生命的最初幾個月學到的一些概念,也就有假說認為這就是「常識」萌芽的時期。
動物也有一定程度的常識,比如:這只幼年的猩猩,我們給它變了個魔術,在杯子里放了東西然后把它變沒了。猩猩本來期待著東西還在里面的,當它看到不見了的時候就笑得躺在地上了,這只猩猩就對這個世界有著較為準確的認知模型。
那么我們需要做的,也就是讓機器具備對這個世界的模型,我把這個稱作「自我監督學習」或者「預測學習」。機器要嘗試預測自己看到的東西的各個方面,這也可能就是能讓機器像人類一樣高效地學習的關鍵。
這種學習主要靠觀察,沒有監督,和世界只有很少的互動。它們除了接收,還要可以規劃和行動,這正是構建自動化機器的關鍵。
所以不管下次的變革在哪個點,我覺得它都不會是監督學習,當然也不會是純強化學習的。它應該會有某種自我監督或者無監督學習,而且也會在這樣的變革當中出現一些常識性的學習。
我總結一下:這也就是我們近期在?Facebook?做的預測學習,學習如何預測、推理以及計劃,也就是學習「常識」。它的核心思想是——自動的智能機器人應當有一個內部的世界模型,可以在它做出行動之前自己進行模擬,預知自己的動作的結果。
這是一種最優控制中常見的方法,但在機器學習中就不那么常見了。這里我們遇到的問題也就是如何讓人工智能學會對世界建模、從而用這個模型幫助自己規劃現實世界中的行為。
預測的時候還需要處理不確定性,在桌子上立一支筆,然后松手,它就會倒下來。我們只確定它會倒下來,但是不確定具體會倒向哪個方向。這種時候我們也就需要對抗性訓練,訓練模型不只給出一個答案,而是多個可能的答案。
這里需要兩個模型:一個模型做預測,另一個模型來評判哪些結果還不錯、哪些結果是現實世界不太可能發生的。做預測的模型也就要嘗試讓自己的預測越來越好,讓做評判的模型分不清哪些是真的會發生的,哪些只是預測出的結果。
根據這樣的思路,早幾年的?GANs?就可以生成臥室的照片,今年?NVIDIA?也可以生成非常逼真的高清明星照片。
所以,對抗性訓練也就是我們希望可以幫助建立預測機器的方法。預測應當是智慧的核心,我相信能訓練出具有預測能力的模型也就能在未來幾年中為我們帶來大的進步。
AI?發展趨勢的預測
我最后做一下總結:對于?AI?學術研究的趨勢,監督學習和強化學習即便不會被取代,也會被自我監督學習和無監督學習大大地增強。學習具有預測能力的模型也會成為未來幾年內的研究熱點,這能讓我們從無模型的強化學習來到基于模型的強化學習以及模仿學習,它們的效率都會提升很多,所需的嘗試次數也會少很多。
另一件事是:讓模型具有推理的能力,但同時還和深度學習是兼容的。就是讓深度學習方法可以做符號表示方法可以做的事情,把符號換成了向量,把邏輯變成了可微分的程序操作。
目前的固定結構的網絡會變成動態的、由數據決定的網絡結構。這也會需要在計算方法方面有新的探索,從而成為系統性的問題。深度學習本身我認為也會有一些進化,它們操作的不再是數值或者高維向量,而是操作圖結構之類的復雜數據結構,更多的深度學習理論也可能會出現。
在?AI?的技術應用方面,我認為監督學習會變少,更多的會是無監督特征學習、監督微調,這樣可以在更多沒有充足數據的場景下工作。比如:小語種的翻譯,只有很少的雙語對照語料。
我們也會看到新的深度學習框架出現,為動態網絡提供編譯器,PyTorch?就在嘗試向這個方向發展。對于不同框架之間的可協作性,我們也和微軟、亞馬遜等公司一起合作設計了?ONNX。
讓神經網絡在移動、低功耗設備上做推理也有很多研究,這已經成為了一個非常重要的問題。對于 Facebook?這樣的公司來說,每天用戶要上傳 20?億張照片,而且每張照片都需要被一系列卷積網絡識別,分析不同的信息。
這會消耗很多電力,尤其是想要拓展到處理視頻等一些別的任務中的話,所以也就需要研究如何在低功耗設備上運行神經網絡?,F在手機上也已經出現了?GPU?之外的專用深度學習處理器。
感謝各位的傾聽,我就講這么多。謝謝。
作者:奕欣
來源:https://www.leiphone.com/news/201804/mlmeciEv6i0BGUxd.html
本文來源于人人都是產品經理合作媒體@雷鋒網,作者@奕欣
題圖來自 Pixabay,基于 CC0 協議
- 目前還沒評論,等你發揮!