提出這個觀點的,不是外人,正是計算機視覺奠基者之一,約翰霍普金斯大學教授Alan Yuille,他還是霍金的弟子。
他說,現在做AI不提神經網絡,成果都很難發表了,這不是個好勢頭。
如果人們只追神經網絡的潮流,拋棄所有老方法;如果人們只會刷榜,不去想怎樣應對深度網絡的局限性,這個領域可能很難有更好的發展。
面對深度學習的三大瓶頸,Yuille教授給出兩條應對之道:靠組合模型培養泛化能力,用組合數據測試潛在的故障。
觀點發表之后,引發不少的共鳴。Reddit話題熱度快速超過200,學界業界的AI科學家們也紛紛在Twitter上轉發。
Reddit網友評論道,以Yuille教授的背景,他比別人更清楚在深度學習在計算機視覺領域現狀如何,為什么出現瓶頸。
深度學習的三大瓶頸
Yuille指出,深度學習雖然優于其他技術,但它不是通用的,經過數年的發展,它的瓶頸已經凸顯出來,主要有三個:
需要大量標注數據
深度學習能夠實現的前提是大量經過標注的數據,這使得計算機視覺領域的研究人員傾向于在數據資源豐富的領域搞研究,而不是去重要的領域搞研究。
雖然有一些方法可以減少對數據的依賴,比如遷移學習、少樣本學習、無監督學習和弱監督學習。但是到目前為止,它們的性能還沒法與監督學習相比。
過度擬合基準數據
深度神經網絡在基準數據集上表現很好,但在數據集之外的真實世界圖像上,效果就差強人意了。比如下圖就是一個失敗案例。
一個用ImageNet訓練來識別沙發的深度神經網絡,如果沙發擺放角度特殊一點,就認不出來了。這是因為,有些角度在ImageNet數據集里很少見。
在實際的應用中, 如果深度網絡有偏差,將會帶來非常嚴重的后果。
要知道,用來訓練自動駕駛系統的數據集中,基本上從來沒有坐在路中間的嬰兒。
對圖像變化過度敏感
深度神經網絡對標準的對抗性攻擊很敏感,這些攻擊會對圖像造成人類難以察覺的變化,但可能會改變神經網絡對一個物體的認知。
而且,神經網絡對場景的變化也過于敏感。比如下面的這張圖,在猴子圖片上放了吉他等物體,神經網絡就將猴子識別成了人類,吉他識別成了鳥類。
背后的原因是,與猴子相比,人類更有可能攜帶吉他,與吉他相比,鳥類更容易出現在叢林中。
這種對場景的過度敏感,原因在于數據集的限制。
對于任何一個目標對象,數據集中只有有限數量的場景。在實際的應用中,神經網絡會明顯偏向這些場景。
對于像深度神經網絡這樣數據驅動的方法來說,很難捕捉到各種各樣的場景,以及各種各樣的干擾因素。
想讓深度神經網絡處理所有的問題,似乎需要一個無窮大的數據集,這就給訓練和測試數據集帶來了巨大的挑戰。
為什么數據集會不夠大?
這三大問題,還殺不死深度學習,但它們都是需要警惕的信號。
Yuille說,瓶頸背后的原因,就是一個叫做“組合爆炸”的概念:
就說視覺領域,真實世界的圖像,從組合學觀點來看太大量了。任何一個數據集,不管多大,都很難表達出現實的復雜程度。
那么,組合學意義上的大,是個什么概念?
大家想象一下,現在要搭建一個視覺場景:你有一本物體字典,要從字典里選出各種各樣的物體,把它們放到不同的位置上。
說起來容易,但每個人選擇物體、擺放物體的方法都不一樣,搭出的場景數量是可以指數增長的。
就算只有一個物體,場景還是能指數增長。因為,它可以用千奇百怪的方式被遮擋;物體所在的背景也有無窮多種。
人類的話,能夠自然而然適應背景的變化;但深度神經網絡對變化就比較敏感了,也更容易出錯:
△是的,前面出現過了
也不是所有視覺任務都會發生組合爆炸(Combinatorial Explosion) 。
比如,醫學影像就很適合用深度網絡來處理,因為背景少有變化:比如,胰腺通常都會靠近十二指腸。
但這樣的應用并不常見,復雜多變的情況在現實中更普遍。如果沒有指數意義上的大數據集,就很難模擬真實情況。
而在有限的數據集上訓練/測試出來的模型,會缺乏現實意義:因為數據集不夠大,代表不了真實的數據分布。
那么,就有兩個新問題需要重視:
1、怎樣在有限的數據集里訓練,才能讓AI在復雜的真實世界里也有很好的表現?
2、怎樣在有限的數據集里,高效地給算法做測試,才能保證它們承受得了現實里大量數據的考驗?
組合爆炸如何應對?
數據集是不會指數型長大的,所以要試試從別的地方突破。
可以訓練一個組合模型,培養泛化能力。也可以用組合數據來測試模型,找出容易發生的故障。
總之,組合是關鍵。
訓練組合模型
組合性 (Compositionality) 是指,一個復雜的表達,它的意義可以通過各個組成部分的意義來決定。
這里,一個重要的假設就是,一個結構是由許多更加基本的子結構,分層組成的;背后有一些語法規則。
這就表示,AI可以從有限的數據里,學會那些子結構和語法,再泛化到各種各樣的情景里。
與深度網絡不同,組合模型 (Compositional Models) 需要結構化的表示方式,才能讓結構和子結構更明確。
組合模型的推斷能力,可以延伸到AI見過的數據之外:推理、干預、診斷,以及基于現有知識結構去回答不同的問題。
引用Stuart German的一句話:
The world is compositional or God exists.
世界是組合性的,不然,上帝就是存在的。
雖然,深度神經網絡也有些組合性:高級特征是由低級特征的響應組成的;但在本文所討論的意義上,深度神經網絡并不是組合性的。
組合模型的優點已經在許多視覺任務里面體現了:比如2017年登上Science的、用來識別CAPTCHA驗證碼的模型。
還有一些理論上的優點,比如可解釋,以及可以生成樣本。這樣一來,研究人員就更加容易發現錯誤在哪,而不像深度神經網絡是個黑盒,誰也不知道里面發生了什么。
但要學習組合模型,并不容易。因為這里需要學習所有的組成部分和語法;
還有,如果要通過合成 (Synthesis) 來作分析,就需要有生成模型(Generative Models) 來生成物體和場景結構。
就說圖像識別,除了人臉、字母等等少數幾種很有規律的圖案之外,其他物體還很難應付:
從根本上說,要解決組合爆炸的問題,就要學習3D世界的因果模型(Causal Models) ,以及這些模型是如何生成圖像的。
有關人類嬰兒的研究顯示,他們是通過搭建因果模型來學習的,而這些模型可以預測他們生活環境的結構。
對因果關系的理解,可以把從有限數據里學到的知識,有效擴展到新場景里去。
在組合數據里測試模型
訓練過后,該測試了。
前面說過,世界那么復雜,而我們只能在有限的數據上測試算法。
要處理組合數據 (Combinatorial Data) ,博弈論是一種重要的方法:它專注于最壞情況(Worst Case) ,而不是平均情況 (Average Case) 。
就像前面討論過的那樣,如果數據集沒有覆蓋到問題的組合復雜性,用平均情況討論出的結果可能缺乏現實意義。
而關注最壞情況,在許多場景下都是有意義的:比如自動駕駛汽車的算法,比如癌癥診斷的算法。因為在這些場景下,算法故障可能帶來嚴重的后果。
如果,能在低維空間里捕捉到故障模式 (Failure Modes) ,比如立體視覺的危險因子 (Hazard Factors) ,就能用圖形和網格搜索來研究這些故障。
但是對于大多數視覺任務,特別是那些涉及組合數據的任務,通常不會有能找出幾個危險因子、隔離出來單獨研究的簡單情況。
△對抗攻擊:稍稍改變紋理,只影響AI識別,不影響人類
有種策略,是把標準對抗攻擊(Adversarial Attacks) 的概念擴展到包含非局部結構(Non-Local Structure) ,支持讓圖像或場景發生變化的復雜運算,比如遮擋,比如改變物體表面的物理性質,但不要對人類的認知造成重大改變。
把這樣的方法應用到視覺算法上,還是很有挑戰性的。
不過,如果算法是用組合性(Compositional) 的思路來寫,清晰的結構可能會給算法故障檢測帶來很大的幫助。
關于Alan Yuille
Alan Yuille,目前就職于約翰霍普金斯大學,是認知科學和計算機科學的杰出教授。
1976年,在劍橋大學數學專業獲得學士學位。之后師從霍金,在1981年獲得理論物理博士學位。
畢業之后,轉而開拓計算機視覺領域。并先后就職于麻省理工學院的人工智能實驗室,哈佛大學計算機系等等學術機構。
2002年加入UCLA,之后擔任視覺識別與機器學習中心主任,同時也在心理學系,計算機系,精神病學和生物行為學系任客座教授。
2016年,加入約翰霍普金斯大學。
他曾獲得ICCV的最佳論文獎,2012年,擔任計算機視覺頂級會議CVPR的主席,計算機視覺界的奠基人之一。
此外,Alan Yuille也直接影響了中國AI的發展,其嫡系弟子朱瓏博士學成后,回國創辦了AI公司依圖科技,現在也是中國CV領域最知名的創業公司之一。
這篇文章中的觀點,出自Yuille在2018年5月發表的一篇論文,共同作者是他的博士生Chenxi Liu,在今年一月份,他們對這篇論文進行了更新。
因為我對計算機視覺比較熟,就從計算機視覺的角度說一下自己對深度學習瓶頸的看法。
一、深度學習缺乏理論支撐
大多數文章的idea都是靠直覺提出來的,背后的很少有理論支撐。通過實驗驗證有效的idea,不一定是最優方向。就如同最優化問題中的sgd一樣,每一個step都是最優,但從全局來看,卻不是最優。
沒有理論支撐的話,計算機視覺領域的進步就如同sgd一樣,雖然有效,但是緩慢;如果有了理論支撐,計算機視覺領域的進步就會像牛頓法一樣,有效且迅猛。
CNN模型本身有很多超參數,比如設置幾層,每一層設置幾個filter,每個filter是depth wise還是point wise,還是普通conv,filter的kernel size設置多大等等。
這些超參數的組合是一個很大的數字,如果只靠實驗來驗證,幾乎是不可能完成的。最后只能憑直覺試其中一部分組合,因此現在的CNN模型只能說效果很好,但是絕對還沒達到最優,無論是效果還是效率。
以效率舉例,現在resnet效果很好,但是計算量太大了,效率不高。然而可以肯定的是resnet的效率可以提高,因為resnet里面肯定有冗余的參數和冗余的計算,只要我們找到這些冗余的部分,并將其去掉,效率自然提高了。一個最簡單而且大多人會用的方法就是減小各層channel的數目。
如果一套理論可以估算模型的capacity,一個任務所需要模型的capacity。那我們面對一個任務的時候,使用capacity與之匹配的模型,就能使得效果好,效率優。
二、領域內越來越工程師化思維
因為深度學習本身缺乏理論,深度學習理論是一塊難啃的骨頭,深度學習框架越來越傻瓜化,各種模型網上都有開源實現,現在業內很多人都是把深度學習當樂高用。
面對一個任務,把當前最好的幾個模型的開源實現git clone下來,看看這些模型的積木搭建說明書(也就是論文),思考一下哪塊積木可以改一改,積木的順序是否能調換一樣,加幾個積木能不能讓效果更好,減幾個積木能不能讓效率更高等等。
思考了之后,實驗跑起來,實驗效果不錯,文章發起來,實驗效果不如預期,重新折騰一遍。
這整個過程非常的工程師化思維,基本就是憑感覺trial and error,深度思考缺位。很少有人去從理論的角度思考模型出了什么問題,針對這個問題,模型應該做哪些改進。
舉一個極端的例子,一個數據實際上是一次函數,但是我們卻總二次函數去擬合,發現擬合結果不好,再用三次函數擬合,三次不行,四次,再不行,就放棄。我們很少思考,這個數據是啥分布,針對這樣的分布,有沒有函數能擬合它,如果有,哪個函數最合適。
深度學習本應該是一門科學,需要用科學的思維去面對她,這樣才能得到更好的結果。
三、對抗樣本是深度學習的問題,但不是深度學習的瓶頸
我認為對抗樣本雖然是深度學習的問題,但并不是深度學習的瓶頸。機器學習中也有對抗樣本,機器學習相比深度學習有著更多的理論支撐,依然沒能把對抗樣本的問題解決。
之所以我們覺得對抗樣本是深度學習的瓶頸是因為,圖像很直觀,當我們看到兩張幾乎一樣的圖片,最后深度學習模型給出兩種完全不一樣的分類結果,這給我們的沖擊很大。
如果修改一個原本類別是A的feature中某個元素的值,然后使得svm的分類改變為B,我們會覺得不以為然,“你改變了這個feature中某個元素的值,它的分類結果改變很正常啊”。
個人認為,當前深度學習的瓶頸,可能在于 scaling。是的,你沒有聽錯。
我們已經有海量的數據,海量的算力,但我們卻難以訓練大型的深度網絡模型(GB 到 TB 級別的模型),因為 BP 難以大規模并行化。數據并行不夠,用模型并行后加速比就會大打折扣。即使在加入諸多改進后,訓練過程對帶寬的要求仍然太高。
這就是為什么 nVidia 的 DGX-2 只有 16 塊 V100,但就是要賣到 250 萬。因為雖然用少得多的錢就可以湊出相同的總算力,但很難搭出能高效運用如此多張顯卡的機器。
而且 DGX-2 內部的 GPU 也沒有完全互聯:
又例如 AlphaGo Zero 的訓練,實際用于訓練的只是很少的 TPU。即使有幾千幾萬張 TPU,也并沒有辦法將他們高效地用于訓練網絡。
如果什么時候深度學習可以無腦堆機器就能不斷提高訓練速度(就像挖礦可以堆礦機),從而可以用超大規模的多任務網絡,學會 PB EB 級別的各類數據,那么所能實現的效果很可能會是令人驚訝的。
那么我們看現在的帶寬:
https://en.wikipedia.org/wiki/List_of_interface_bit_rates
2011年出了PCI-E 3.0 x16,是 15.75 GB/s,現在消費級電腦還是這水平,4.0還是沒出來,不過可能是因為大家沒動力(游戲對帶寬要求沒那么高)。
NVLink 2.0是 150 GB/s,對于大型并行化還是完全不夠的。
大家可能會說,帶寬會慢慢提上來的。
很好,那么,這就來到了最奇怪的問題,我想這個問題值得思考:
AI芯片花了這么大力氣還是帶寬受限,那么人腦為何沒有受限于帶寬?
我的想法是:
人腦的并行化做得太好了,因此神經元之間只需要kB級的帶寬。值得AI芯片和算法研究者學習。
人腦的學習方法比BP粗糙得多,所以才能這樣大規模并行化。
人腦的學習方法是去中心化的,個人認為,更接近 energy-based 的方法。
人腦的其它特點,用現在的遷移學習+多任務學習+持續學習已經可以模仿。
人腦還會用語言輔助思考。如果沒有語言,人腦也很難快速學會復雜的事情。
稍后我還會再進一步寫寫這個問題,歡迎大家探討和指正。
責任編輯:lq
-
神經網絡
+關注
關注
42文章
4772瀏覽量
100792 -
計算機視覺
+關注
關注
8文章
1698瀏覽量
46002 -
深度學習
+關注
關注
73文章
5503瀏覽量
121181
原文標題:深度學習領域有哪些瓶頸?
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論