深度學習在視覺上的侷限性以及我們如何對付它們
作者:Alan L. Yuille, Chenxi Liu
編譯:ronghuaiyang
導讀
深度學習在視覺領域取得了巨大的成功,即便如此,深度學習在視覺上仍然有很多的侷限性,這篇文章從深度學習的歷史開始說起,闡述了深度學習在視覺上的侷限性,並給出了一些可能的方案。
深度學習歷史
我們正在見證深度學習的第三次興起。前兩次浪潮—1950 - 1960年和1980 - 1990年—引起了相當大的興奮,但慢慢失去了動力,因為這些神經網路既沒有實現它們承諾的效能提升,也沒有幫助我們理解生物視覺系統。第三次浪潮(2000年至今)則有所不同,因為深度學習在大量基準測試和現實世界應用方面的競爭力已經遠遠實現了超越。雖然大多數深度學習的基本思想在第二次浪潮中已經發展起來,但直到大型資料集和強大的計算機(GPU)的出現,它們的力量才得以釋放。
深度學習的興起和衰落反映了在業界的時尚和學習演算法流行程度上的變化。第二波浪潮看到了傳統人工智慧的侷限性,表現為對壓倒性承諾的平庸表現。1980年代中期的人工智慧冬天就這樣開始了。第二波的衰落轉變為支援向量機、核方法和相關方法的興起。我們為神經網路的研究人員感到高興,他們不顧沮喪繼續研究,但注意到鐘擺又擺了一次。現在很難發表任何與神經網路無關的東西。這不是一個好的發展。我們認為,如果研究人員追求方法和技術的多樣性,而不是追逐當前的流行趨勢,那麼這一領域將發展得更快。更令人擔憂的是,學生在人工智慧課程中往往完全忽略了舊的技術,而傾向於當前的趨勢。
成功與失敗
在2011年AlexNet擊敗Imagenet上的所有競爭對手之前,計算機視覺社群對深度學習持相當懷疑的態度。在未來幾年,視覺研究人員將提出各種各樣的神經網路架構,這些架構在物體分類上的表現會越來越好。
深度學習也很快適應了其他視覺任務,如物體檢測,影像中包含一個或多個物體,背景要大得多。為了完成這項任務,神經網路在初始階段得到了增強,這一階段對物體可能的位置和大小提出了建議。這些方法在PASCAL物體檢測挑戰(ImageNet之前的主要物體檢測和分類挑戰)方面優於以往的最佳方法可變部件模型。其他深度網路架構也在其他經典任務中提供了巨大的效能提升,其中許多工如圖1所示。
圖1:深度網路可以執行各種各樣的視覺任務。這包括:邊界檢測、語義分割、語義邊界、表面法線、顯著性、人體部位和物體檢測。
但是,儘管深度學習優於其他技術,但它們並不是通用的。在這裡,我們確定了三個主要限制。
首先,深度學習幾乎總是需要大量的標註資料。 這使得視覺研究人員傾向於研究那些容易理解的任務,而不是那些重要的任務。
有一些方法可以減少對監督的需要,包括遷移學習、小樣本學習、無監督學習和弱監督學習。但到目前為止,他們的研究成果還沒有監督學習那麼令人印象深刻。
其次,深度網路在基準資料集上表現良好,但在資料集之外的真實世界影像上表現糟糕。所有資料集都有偏差。這些偏差在早期的視覺資料集中尤其明顯,研究人員很快就學會了利用這些偏差,例如利用背景上下文(例如,在Caltech101中檢測魚很容易,因為它們是唯一的背景是水的物件)。這些問題減少了,但仍然存在,儘管使用了大資料集和深度網路。例如,如圖2所示,訓練用於檢測ImageNet上的沙發的深度網路,如果從訓練資料集中沒有充分的各種角度的影像,則可能無法檢測到它們。特別是,深度網路偏向於忽略資料集中不經常發生的“罕見事件”。但在現實世界的應用中,這些偏差尤其有問題,因為它們可能對應於視覺系統故障,可能導致可怕的後果。用於訓練自動駕駛汽車的資料集幾乎從不包含坐在路上的嬰兒。
圖2: UnrealCV使視覺研究人員能夠輕鬆地操縱合成場景,例如透過改變沙發的視角。我們發現沙發的Faster-RCNN檢測的平均精度(AP)在0.1到1.0之間,對視角的敏感度極高。這可能是因為訓練中的偏見導致 Faster-RCNN偏向於特定的視角。
第三,深度網路對影像的變化過於敏感,不會欺騙人類觀察者。深度網路不僅對導致影像難以察覺變化的標準對抗性攻擊敏感,而且對上下文的變化也過於敏感。圖3顯示了將吉他ps到叢林中的猴子圖片中的效果。這導致深度網路將猴子誤認為人類,也將吉他誤認為鳥,大概是因為猴子比人類更不可能攜帶吉他,而鳥類比吉他更可能在猴子附近的叢林中。最近的研究給出了許多深度網路對環境過度敏感的例子,比如把一頭大象放在房間裡。
圖3:新增遮擋會導致深度網路失敗。左圖:這輛摩托車把一隻猴子變成了人。中間:腳踏車把猴子變成了人,叢林把腳踏車把手變成了鳥。右圖:吉他把猴子變成了人,而叢林把吉他變成了鳥。
這種對上下文的過度敏感也可以追溯到資料集的有限大小。對於任何物體,資料集中只會出現有限數量的上下文,因此神經網路會偏向於它們。例如,在早期的影像描述資料集中,觀察到長頸鹿只出現在附近的樹木中,因此,對於長頸鹿邊上沒有樹木的圖片,生成的描述中就不會提到有長頸鹿,即使它們是最主要的物體。
對於像深度網路這樣的資料驅動方法來說,捕獲大量上下文的困難以及探索大量有害因素的需求是一個很大的問題。看起來要確保網路能夠處理所有這些問題,就需要無窮大的資料集,這對訓練和測試資料集都提出了巨大的挑戰。下面我們將討論這些問題。
當大資料集不足夠大的時候
組合爆炸
上面提到的問題都不是影響深度學習的因素,但我們認為這些都是問題的早期預警訊號。也就是說,真實世界的影像集合是組合在一起的,因此任何資料集,無論有多大,都很難代表真實世界的複雜性。
對於一個集合的組合來說,它意味著什麼?想象一下,透過從物體字典中選擇一個物體並將它們放在不同的配置中來構建一個視覺場景。這顯然可以用指數的方式來做。即使是單個物體的影像,我們也可以獲得類似的複雜性,因為它可以以指數級的方式部分遮擋。我們還可以用無數種方式改變一個物體的上下文。
儘管人類很自然地適應視覺環境的變化,但深度網路更敏感,更容易出錯,如圖3所示。我們注意到,這種組合爆炸可能不會發生在一些視覺任務上,而深度網路在醫學影像應用上可能會非常成功,因為在上下文中變化相對較小(例如,胰腺總是非常接近十二指腸)。但是對於許多真實世界的應用,如果沒有指數級大的資料集,就無法捕捉真實世界的複雜性。
這帶來了巨大的挑戰,因為在有限數量隨機抽取的樣本上訓練和測試模型的標準正規化變得不切實際,因為它們永遠不會大到足以代表資料的底層分佈。這迫使我們解決兩個新的問題:
(I)我們如何在有限大小的資料集上訓練演算法,使它們能夠在捕捉真實世界的組合複雜性所需的真正龐大的資料集上表現良好?
(II)如果我們只能在有限子集上測試這些演算法,我們如何有效地測試這些演算法,以確保它們在這些龐大的資料集中工作?
克服組合爆炸問題
像目前形式的深度網路這樣的方法似乎不太可能處理組合爆炸。資料集可能永遠不夠大,無法訓練或測試它們。下面我們概述一些可能的解決方案。
組合
組合是一種普遍的原則,它可以被詩意地描述為“一種信念的體現,這種信念認為世界是可知的,人們可以將事物拆解,理解它們,並在精神上隨意重組它們”。關鍵的假設是,結構是按照一組語法規則,由更基本的子結構分層構成的。這表明,子結構和語法可以從有限的資料中學習,但將泛化到組合的情況中。
與深度網路不同的是,組合模型需要結構化的表示來明確它們的結構和子結構。組合模型提供了超越所見資料進行推斷、對系統進行推理、進行干預、進行診斷以及基於相同的底層知識結構回答許多不同問題的能力。引用Stuart Geman的話:“世界要麼是由成分組成的要麼上帝就是存在的。”我們注意到,雖然深度網路捕獲了一種形式的組合,例如,高階功能是由低階功能的響應組成的,但它們不是我們在本文中所指的那種組合。
圖4:從(a)到(b)到(c),使用了越來越多的可變性和遮擋。特別是(c)是一個組合大資料集的例子,它本質上與驗證碼相同。有趣的是,對驗證碼的研究表明,組合模型的效能很好,而深度網路的效能要差得多。
圖4展示了一個與合成分析相關的組合的示例。組合模型的一些概念優勢已經在視覺問題上得到了證明,例如使用相同的底層模型執行多個任務和識別驗證碼的能力。其他非視覺示例也說明了同樣的問題。訓練深度網路進行智商測試的嘗試沒有成功。
在這個任務中,目標是在一個3x3網格中預測丟失的影像,在這個網格中給出其他8幅影像,並且在其中基礎規則是組合的(並且可能存在干擾項)。相反,對於一些自然語言應用,神經模組網路的動態結構似乎足夠靈活,可以捕捉到一些有意義的組合,其效能優於傳統的深度學習網路。事實上,我們最近證實,經過組合訓練後,各個模組確實實現了它們預期的組合功能(如AND、OR、FILTER(RED)等)。
組合模型具有許多理想的理論特性,例如 可解釋,以及能夠 生成樣例。這使得錯誤更容易診斷,因此它們比像深度網路這樣的黑盒方法更難被欺騙。但是學習組合模型是困難的,因為它需要學習構建塊和語法(甚至語法的性質也是有爭議的)。此外,為了進行組合分析,他們需要物件和場景結構的生成模型。將分佈放到影像上具有挑戰性,只有少數例外,如人臉、字母和常規紋理。
更根本的是,處理組合爆炸需要學習三維世界的因果模型以及它們如何生成影像。對人類嬰兒的研究表明,他們是透過建立因果模型來學習的,這些因果模型可以預測他們所處環境的結構,包括樸素的物理學。這種因果關係的理解使我們能夠從有限的資料中學習,並對新情況進行真正的歸納。這類似於將牛頓定律與托勒密的太陽系模型進行對比,前者用最少的自由引數給出因果關係的理解,後者給出非常準確的預測,但需要大量的資料來確定其細節。
在組合資料上進行測試
在真實世界的組合複雜性上測試視覺演算法的一個潛在挑戰是,我們只能在有限的資料上進行測試。博弈論透過關注最壞的情況而不是一般情況來解決這個問題。如前所述,如果資料集沒有捕捉到問題的組合複雜性,那麼有限大小資料集上的平均案例結果可能沒有意義。如果我們的目標是為自動駕駛汽車開發視覺演算法,或者在醫學影像中診斷癌症,而演算法的失敗可能會帶來嚴重後果,那麼關注最糟糕的情況顯然也是有意義的。
如果能夠在低維空間中捕捉到故障模式,如立體視覺的危險因素,則可以利用計算機圖形學和網格搜尋對其進行研究。但是對於大多數視覺化任務,特別是涉及組合資料的任務,很難識別出少數可以隔離和測試的危險因素。一種策略是將標準對抗性攻擊的概念擴充套件到包括非區域性結構,允許對影像或場景造成變化的複雜操作,例如透過遮擋或改變被觀察物件的物理屬性,但不顯著影響人類感知。將這種策略擴充套件到處理組合資料的視覺演算法仍然具有很大的挑戰性。但是,如果演算法在設計時考慮到了組合性,那麼它們的顯式結構可能使診斷它們和確定它們的故障模式成為可能。
結論
幾年前Aude Oliva和Alan Yuille(第一作者)共同組織了一個由NSF贊助的計算機視覺前沿研討會(MIT CSAIL 2011)。會議鼓勵坦率的意見交流,特別是在計算機視覺的深度網路的潛力方面存在巨大的分歧。Yann LeCun大膽地預言,不久每個人都將使用深度網路。他是對的。他們的成功是非凡的,幫助視覺變得非常受歡迎,戲劇性地增加了學術界和工業界之間的互動,導致視覺技術應用於許多學科,併產生了許多其他重要的後果。但是,儘管它們取得了成功,但在我們實現通用人工智慧和理解生物視覺系統的目標之前,仍必須克服巨大的挑戰。我們的一些擔憂與最近對深度網路的批評中提到的類似。可以說,最嚴峻的挑戰是如何開發能夠應對組合爆炸的演算法,因為研究人員在越來越現實的條件下處理越來越複雜的視覺任務。雖然深度網路肯定是解決方案的一部分,但我們認為,我們還需要涉及構成原則和因果模型的補充方法,以捕捉資料的基本結構。此外,面對組合爆炸,我們需要重新思考如何訓練和評估視覺演算法。
注:這是原始論文"Deep Nets: What have they ever done for Vision?"的一個簡短版本。
英文原文:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2654905/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 論深度學習的侷限性深度學習
- [譯] 深度學習的侷限性深度學習
- 計算機視覺應用:深度學習的力量和侷限性計算機視覺深度學習
- 一文帶你理解深度學習的侷限性深度學習
- 深度學習計算機視覺極限將至,我們該如何找到突破口?深度學習計算機視覺
- 當我們談深度學習時,我們用它落地了什麼?深度學習
- 傳統計算機視覺技術落伍了嗎?不,它們是深度學習的「新動能」計算機視覺深度學習
- 深度學習的困境,我們該何去何從?深度學習
- 我們如何入局知識付費
- 我們該如何學習機器學習中的數學機器學習
- 未來我們如何做好資料視覺化?視覺化
- 使用memadmin視覺化監視我們的memcache視覺化
- 人工智慧是如何深度學習?如何改變我們的支付方式的?人工智慧深度學習
- 剛剛,我們詳細對比了吳恩達和Udacity的深度學習課程,你們感受下...吳恩達深度學習
- 我們如何正確的在Ubuntu上安裝phpmyadmin?UbuntuPHP
- 我們們聊聊對賬系統該如何設計
- 公民資料科學家的侷限性資料科學
- 我們該學習什麼?
- LeCun:深度學習在訊號理解中的強大和侷限(視訊+PPT)LeCun深度學習
- Web上的支援的圖片格式以及它們之間的區別Web
- 80%的學校還在給新生上C語言,它們OUT了嗎?C語言
- 微服務說的侷限性微服務
- TCP的侷限性有哪些?TCP
- C#:我們需要它嗎? (轉)C#
- 對程式、執行緒和協程的理解以及它們的區別執行緒
- 如何讓海外玩家愛上我們的遊戲?遊戲
- 資料視覺化為什麼對我們的生活影響越來越大?視覺化
- 我們都應該學習PHPPHP
- Windows 95 被做成了一款 app,我們在 MacBook 上體驗了它WindowsAPPMac
- [譯] 在資料視覺化中,我們曾經“畫”下的那些敗筆視覺化
- 如何突破傳統升級系統在RPG中的侷限性?
- 自主移動機器人的隱性成本-以及如何避免它們機器人
- 常見的API錯誤以及如何避免它們 - LogRocket BlogAPI
- 深度學習在視覺搜尋和匹配中的應用深度學習視覺
- 學習Tomcat,我們應該懂的Tomcat
- 我們如何學好Java?(知乎帖子)Java
- 對關係型資料庫侷限性的重新思考資料庫
- 什麼是量子霸權?我們如何才能實現它?