深度學習是近年來人工智能技術發(fā)展的核心,雖然取得了巨大成功,但它具有明顯的局限性。與人類視覺系統(tǒng)相比,深度學習在通用性、靈活性和適應性上要差很多,而在遇到復雜的自然圖像時,深度學習可能還會遇到機制性困難。
本文中,來自約翰霍普金斯大學的學者們向我們介紹了深度學習的幾大極限,以及如何解決這些問題的思路。
研究人員表示,目前形式的深度神經(jīng)網(wǎng)絡似乎不太可能是未來建立通用智能機器或理解思維/人類大腦的最佳解決方案,但深度學習的很多機制在未來仍會繼續(xù)存在。
我們現(xiàn)在正目睹的是人工智能的第三次崛起。前兩波發(fā)生在 1950-1960 年代和 1980-1990 年代——當時都產(chǎn)生了相當大的影響,卻也都慢慢冷卻下來。
這是因為當時的神經(jīng)網(wǎng)絡既沒有實現(xiàn)本該達成的性能提升,也沒有幫助我們理解生物的視覺系統(tǒng)。第三次浪潮:21 世紀初——至今,此次與前兩次不同,深度學習在很多基準測試和現(xiàn)實應用上已經(jīng)大幅超越了生物的能力。
雖然深度學習的大多數(shù)基本思想在第二次浪潮中已經(jīng)發(fā)展完善,但其能力在大型數(shù)據(jù)集和計算機算力(特別是 GPU)發(fā)展完善之前是無法釋放的。
深度學習的沉浮反映了學派的流行,以及不同算法的熱度。第二次浪潮讓我們在高期待——低成果的發(fā)展中看到了經(jīng)典 AI 的局限性,這就是在 20 世紀 80 年代中期出現(xiàn) AI 寒冬的原因。
第二波浪潮的退卻轉化為支持向量機、內核方法以及相關方法的崛起。我們被神經(jīng)網(wǎng)絡研究者的成果驚艷,盡管其效果令人失望,但隨著時間的發(fā)展,它們又再次興起。
今天,我們很難找到與神經(jīng)網(wǎng)絡無關的研究了——這同樣也不是一個好的現(xiàn)象。我們不禁有些懷疑:如果人工智能領域的學者們追求更多不同的方法,而不是跟從流行趨勢,這個行業(yè)或許會發(fā)展得更快。
令人擔憂的是,人工智能專業(yè)的學生們經(jīng)常完全忽略舊技術,只顧追逐新趨勢。
在 AlexNet 橫空出世之前,計算機視覺社區(qū)對于深度學習持懷疑態(tài)度。2011 年,AlexNet 在 ImageNet 圖像識別競賽中橫掃了所有競爭對手,隨后幾年,研究人員提出了越來越多性能更好的對象分類神經(jīng)網(wǎng)絡架構。
同時,深度學習也很快適應了其他視覺任務,如目標檢測,其中圖像包含一個或多個物體。在這種任務中,神經(jīng)網(wǎng)絡會對初始階段的信息進行增強而確定最后的目標類別與位置,其中初始階段提出了對象的可能位置和大小。
這些方法在 ImageNet 前最為重要的目標識別競賽——PASCAL 目標識別挑戰(zhàn)上優(yōu)于此前的最佳方式,即可變形部件模型(Deformable Part Model)。其他深度學習架構也在一些經(jīng)典任務上有了很大的提升,如下圖:
圖 1. 深度學習可以執(zhí)行很多不同視覺任務。其中包括邊界檢測、語義分割、語義邊界、曲面法線、顯著度、人體,以及目標檢測。
但是,盡管深度學習超越了此前的一些技術,它們卻并不能用于通用任務。在這里,我們可以定義出三個主要限制。
首先,深度學習幾乎總是需要大量標注數(shù)據(jù)。這使得計算機視覺的研究者們傾向于解決易于解決——而不是真正重要的問題。
有一些方法可以減少監(jiān)督的需求,包括遷移學習、few-shot 學習、無監(jiān)督學習以及弱監(jiān)督學習。但到目前為止,它們的成就并不如監(jiān)督學習那樣令人印象深刻。
第二,深度學習在基準測試數(shù)據(jù)集上表現(xiàn)良好,但在數(shù)據(jù)集之外的真實世界圖像上可能表現(xiàn)很差。所有數(shù)據(jù)集都有自己的偏差。
這種偏差在早期視覺數(shù)據(jù)集中非常明顯,研究人員發(fā)現(xiàn)神經(jīng)網(wǎng)絡會利用數(shù)據(jù)集的偏差「投機取巧」,比如利用背景進行判斷(如在 Caltech101 中檢測魚曾經(jīng)非常容易,因為魚圖是唯一以水為背景的圖)。盡管通過使用大數(shù)據(jù)集和深度神經(jīng)網(wǎng)絡可以減少這一現(xiàn)象,但問題仍然存在。
在下圖中,深度神經(jīng)網(wǎng)絡在 ImageNet 上訓練以識別沙發(fā),但卻可能因為示例圖片數(shù)量不足而無法成功。深度神經(jīng)網(wǎng)絡是偏向于反「特殊情況」的,模型不會太考慮數(shù)據(jù)集中出現(xiàn)較少的情況。
但在現(xiàn)實世界的應用中,這些偏差很成問題,將這樣的系統(tǒng)用于視覺檢測有可能導致嚴重后果。例如用于訓練自動駕駛汽車的數(shù)據(jù)集幾乎不會包含坐在路中間的嬰兒。
圖 2:UnrealCV 允許視覺研究人員簡單操縱合成場景,比如改變沙發(fā)的視角。我們發(fā)現(xiàn) Faster-RCNN 檢測沙發(fā)的平均精度(AP)在 0.1 到 1.0 范圍內,顯示出對視角的極度敏感性。這可能是因為訓練中的偏差導致 Faster-RCNN 更傾向于特定的視角。
第三,深度網(wǎng)絡對圖像的改變過于敏感,而這些改變在人類看來可能并不影響對圖的判斷。深度網(wǎng)絡不僅對標準對抗攻擊(會導致難以察覺的圖像變化)敏感,而且對環(huán)境的變化也過于敏感。
圖 3 顯示了將吉他 PS 成雨林中的猴子的效果。這導致深度網(wǎng)絡將猴子誤識為人類而且將吉他視作鳥,大概是因為拿吉他的更有可能是人類而不是猴子,而出現(xiàn)在雨林里猴子身邊的更有可能是鳥而不是吉他。
最近的研究給出了很多關于深度網(wǎng)絡對環(huán)境過于敏感的案例,如將大象放進房間。
圖 3:添加遮擋致使深度網(wǎng)絡失靈。左:用摩托車進行遮擋后,深度網(wǎng)絡將猴子識別為人類。中:用自行車進行遮擋后,深度網(wǎng)絡將猴子識別為人類,而且叢林將網(wǎng)絡對車把的識別誤導為鳥。右:用吉他進行遮擋后,深度網(wǎng)絡將猴子識別為人類,而且叢林將網(wǎng)絡對吉他的識別誤導為鳥。
對背景的過度敏感可以歸咎于數(shù)據(jù)集有限的規(guī)模。對于任意的對象,數(shù)據(jù)集中只能包含有限數(shù)量的背景,因此神經(jīng)網(wǎng)絡存在偏好。
例如,在早期的圖像標注數(shù)據(jù)集中,我們觀察到長頸鹿只會出現(xiàn)在樹的附近,因此生成的標注沒有提及圖像中沒有樹的長頸鹿,盡管它們是最主要的對象。
對于深度網(wǎng)絡等數(shù)據(jù)驅動型方法來說,捕獲背景大量變化的難題以及探索大量噪聲因素的需要是一個很大的問題。確保網(wǎng)絡可以解決所有這些問題似乎需要無窮大的數(shù)據(jù)集,這又會給訓練和測試數(shù)據(jù)集帶來巨大的挑戰(zhàn)。
以上所提到的所有問題都未必是深度學習的癥結所在,但它們是真正問題的早期信號。也就是說,現(xiàn)實世界中的圖像數(shù)據(jù)集組合起來非常大,因此無論多大的數(shù)據(jù)集都無法表征現(xiàn)實世界的復雜性。
組合性大是什么意思?想象一下通過從目標字典中選擇目標并將它們放在不同的配置中來構建一個可視場景。實現(xiàn)這一任務的方法數(shù)量可以達到指數(shù)級。
即使是含有單個目標的圖像也能擁有類似的復雜性,因為我們可以用無數(shù)種方法對其進行遮擋。其背景也有無數(shù)種變化的可能。
盡管人類能夠自然地適應視覺環(huán)境中的種種變化,但深度神經(jīng)網(wǎng)絡更加敏感、易錯,如圖 3 所示。我們注意到,這種組合性爆炸在一些視覺任務中可能不會出現(xiàn),深度神經(jīng)網(wǎng)絡在醫(yī)學圖像中的應用通常非常成功,因為其背景的變化相對較少(如胰腺和十二指腸總是離得很近)。
但是對于許多應用來說,如果沒有一個指數(shù)級的大型數(shù)據(jù)集,我們就無法捕捉到現(xiàn)實世界的復雜性。
這一缺陷帶來了一些重大問題,因為在有限隨機樣本上進行訓練、測試模型這一標準范式變得不切實際。這些樣本量永遠無法大到可以表征數(shù)據(jù)底層分布的程度。因此我們不得不面對以下兩個新問題:
1. 在需要龐大數(shù)據(jù)集才能捕獲現(xiàn)實世界組合復雜性的任務中,如何在規(guī)模有限的數(shù)據(jù)集上訓練算法才能使其表現(xiàn)良好?
2. 如果只能在有限子集上測試,我們如何才能有效測試這些算法以確保它們在龐大數(shù)據(jù)集上表現(xiàn)良好?
從現(xiàn)有形式來看,深度神經(jīng)網(wǎng)絡等方法很可能無法克服組合性爆炸這一難題。無論是訓練還是測試,數(shù)據(jù)集似乎永遠不夠大。以下是一些潛在的解決方案。
組合性
組合性是一種基本原則,可以詩意地表述為「一種信仰的體現(xiàn),相信世界是可知的,人類可以拆解、理解并按照自己的意愿重組事物」。此處的關鍵假設在于,結構是分層的,由更基本的子結構按照一組語法規(guī)則組合而成。這意味著,子結構和語法可以從有限的數(shù)據(jù)中習得,然后泛化到組合的場景中。
與深度網(wǎng)絡不同,組合性模型(compositional model)需要結構化的表征,這些表征明確地表明其結構和子結構。組合性模型具備超越所見數(shù)據(jù)的推理能力,可以推理系統(tǒng)、進行干涉、實施診斷并基于相同的底層知識結構解決許多不同的問題。
Stuart Geman 曾說過,「世界是組合的,或者說上帝是存在的,」否則上帝就要手工焊接人類智能了。盡管深度神經(jīng)網(wǎng)絡擁有某種形式的復雜性,如高級特征由來自低級特征的響應組合而成,但這并不是本文中提到的組合性。
圖 4:從(a)到(c),可變性遞增并使用了遮擋。(c)是一個龐大的組合數(shù)據(jù)集示例,本質上和驗證碼相同。有趣的是,關于驗證碼的研究表明,組合性模型的性能很好,但深度神經(jīng)網(wǎng)絡的表現(xiàn)卻很差。
圖 4 是關于組合性的一個示例,與合成分析有關。
組合性模型的若干概念優(yōu)勢已經(jīng)體現(xiàn)在一些視覺問題中,如使用相同的底層模型執(zhí)行多個任務和識別驗證碼。其它非視覺示例也表明了相同的論點。
嘗試訓練進行智商測試的深度網(wǎng)絡沒有取得成功。這一任務的目標是預測一個 3x3 網(wǎng)格中缺失的圖像,其它 8 個格子的圖像都已給出,任務中的底層規(guī)則是組合性的(干擾可以存在)。
相反地,對于一些自然語言應用,神經(jīng)模塊網(wǎng)絡的動態(tài)架構似乎足夠靈活,可以捕捉到一些有意義的組合,其性能優(yōu)于傳統(tǒng)的深度學習網(wǎng)絡。
實際上,我們最近證實,經(jīng)過聯(lián)合訓練后,各個模塊確實實現(xiàn)了它們預期的組合功能(如 AND、OR、FILTER(RED) 等)。
組合性模型有很多理想的理論特性,如可解釋、可生成樣本。這使得錯誤更容易診斷,因此它們比深度網(wǎng)絡等黑箱方法更難被欺騙。
但學習組合性模型很難,因為它需要學習構件和語法(甚至語法的性質也是有爭議的)。并且,為了通過合成進行分析,它們需要擁有目標和場景結構的生成模型。
除了一些例外,如臉、字母和規(guī)則紋理圖像,將分布放在圖像上很難。
更重要的是,處理組合性爆炸需要學習 3D 世界的因果模型以及這些模型如何生成圖像。對人類嬰兒的研究表明,他們通過建立預測所處環(huán)境結構的因果模型來學習。
這種因果理解使他們能夠從有限的數(shù)據(jù)中學習并泛化到新環(huán)境中。這類似于將牛頓定律和太陽系的托勒密模型進行對比,牛頓定律以最少的自由參數(shù)給出了因果理解,而托勒密模型給出了非常準確的預測,但需要大量的數(shù)據(jù)來確定其細節(jié)。
在現(xiàn)實世界的組合復雜度上測試視覺算法的一個潛在挑戰(zhàn)是,我們只能在有限的數(shù)據(jù)上進行測試。博弈論通過關注最壞的案例而不是一般的案例來解決這個問題。
正如我們之前所說的,如果數(shù)據(jù)集沒有捕捉到問題的組合復雜度,那么一般案例在有限大小數(shù)據(jù)集上的結果可能沒有意義。
很明顯,如果目標是開發(fā)用于自動駕駛汽車或醫(yī)學圖像中診斷癌癥的視覺算法,那將注意力放在最壞的案例上是有意義的,因為算法的失敗會導致嚴重的后果。
如果能夠在低維空間中捕捉故障模式,如立體的危險因素,我們就可以用計算機圖形和網(wǎng)格搜索來研究它們。但對于大多數(shù)視覺任務,尤其是涉及組合數(shù)據(jù)的任務來說,很難識別出少數(shù)可以被隔離或測試的危險因素。
一個策略是將標準對抗攻擊的概念擴展到包含非局部結構,這可以通過允許導致圖像或場景改變但不會顯著影響人類感知的復雜操作(如遮擋或改變被觀察物體的物理屬性)來實現(xiàn)。
將這一策略應用于處理組合數(shù)據(jù)的視覺算法仍然頗具挑戰(zhàn)性。但,如果在設計算法時考慮到了組合性,那它們的顯式結構可能使得診斷并確定它們的故障模式成為可能。
幾年前,Aude Oliva 和 Alan Yuille(一作)共同組織了一場由美國國家科學基金會資助的計算機視覺前沿研討會(MIT CSAIL 2011)。會議鼓勵大家坦誠交換意見。
與會人員對于深度網(wǎng)絡在計算機視覺方面的潛力存在巨大分歧。Yann LeCun 大膽預測,所有人都將很快使用深度網(wǎng)絡。他的預測是對的。
深度網(wǎng)絡的成功令人矚目,還使計算機視覺變得非常熱門,大大增加了學界和業(yè)界的互動,促使計算機視覺被應用于很多領域并帶來很多其它重要的研究成果。
即便如此,深度網(wǎng)絡還存在巨大挑戰(zhàn),而我們要實現(xiàn)通用人工智能和理解生物視覺系統(tǒng),就必須克服這些挑戰(zhàn)。我們的一些擔憂與最近對深度網(wǎng)絡的批評中提到的類似。
隨著研究人員開始在越來越現(xiàn)實的條件下處理越來越復雜的視覺任務,可以說最嚴峻的挑戰(zhàn)是如何開發(fā)能夠處理組合性爆炸的算法。
雖然深度網(wǎng)絡會是解決方案的一部分,但我們認為還需要涉及組合原則和因果模型的互補方法,以捕捉數(shù)據(jù)的基本結構。此外,面對組合性爆炸,我們要再次思考如何訓練和評估視覺算法。