Alan Yuille:在計算機視覺領域,誰是殺死神經網路的真凶?
大資料文摘出品
來源:thegradient.pub
編譯:籍緩、lvy、蔣寶尚、錢天培
需要大量的註釋資料;難以在標準測試集外取得良好表現;對於資料的微小變化尤為敏感。
這都是近年來深度學習被詬病的缺陷。
即便深度學習已經在諸多領域得到廣泛應用,但這三大缺陷也成為了深度學習仍舊無法完全勝任自動駕駛、醫療診斷等“敏感”任務的致命弱點。
畢竟,如果一臺自動駕駛系統因為訓練資料集中不包含“坐在路上的嬰兒”這一情境,就無法作出正確的避讓判斷,想必不會有人會放心讓這一系統完全接管方向盤。
那麼,這些問題的背後,究竟體現了深度神經網路怎樣的致命缺陷呢?
近期,計算機視覺的奠基人之一、約翰霍普金斯大學教授Alan Yuille和他的學生劉晨曦撰寫了一篇博文,詳述了深度網路侷限性的本質所在。
他們認為,難以處理“組合爆炸問題”正是深度神經網路的致命弱點。
那麼,什麼是組合爆炸問題呢?
讓我們先來看下面這個例子。
圖1 :新增遮擋體(Occluders)會導致深層網路失敗。左:新增遮擋體摩托車將猴子變成了人類。中心:新增遮擋體自行車將猴子變成人,叢林將自行車把手變成鳥。右:新增遮擋體吉他將猴子變成了人類,叢林將吉他變成了一隻鳥。
這張圖顯示了將吉他照片新增到叢林中的猴子照片中的效果。Deep Net錯誤地將猴子識別為人類並將吉他誤解為鳥類,大概是因為Deep Net認為猴子不可能攜帶吉他,並且鳥類比吉他更可能在猴子附近的叢林中出現。
這種對背景的過度敏感可以歸因於有限的資料集大小。對於任何物件,資料集中僅出現有限數量的背景,因此神經網路就會發生判斷偏差。
例如,在早期資料集中,長頸鹿僅在樹木邊出現,因此,如果長頸鹿附近如果沒有樹,那神經網路就無法正確識別,即使它們是圖片中最主要的物件主體。
捕捉各種各樣背景的困難,以及探索大範圍的滋擾因素的需要,造成了Deep Nets這類方法的缺陷。
關於組合爆炸
上面這一問題就是“組合爆炸”很好的例子。
真實世界影像集是組合的。因此,任何資料集(無論多大)都很難代表現實世界的複雜性。
組合能產生出多大的集合呢?
想象一下,我們可以在一個場景中隨意新增各種物體,這顯然可以用很多方式完成。即使對於單個物件的影像,我們也可以獲得類似的複雜度,因為它可以以指數增加的方式新增被部分遮擋的情況。我們還可以通過無數種方式更改物件的背景。
儘管人類能夠自然地適應視覺環境的變化,但是深度神經網路卻更敏感,然而更容易出錯,就如圖1所示。
在某些視覺任務中,這種組合爆炸基本不會發生。深度神經網路在醫學影像的應用中可謂是非常成功,因為其背景的變化相對較小(例如胰腺總是非常接近十二指腸)。
但是,對於許多日常使用的應用程式來說,如果沒有指數級別的資料集,我們就無法捕捉到現實世界的複雜性。
這就帶來了巨大的挑戰——在數量有限、隨機抽取的樣本上訓練和測試模型的標準正規化變得不切實際。
所以這迫使我們解決兩個新的問題:
我們怎樣在有限大小的資料集上訓練演算法,從而使它們能夠在需要龐大資料集才能捕獲現實世界的組合複雜性的任務中表現良好?
如果我們只能在有限的子集上測試這些演算法,那麼我們如何有效地測試並確保它們在龐大的資料集中表現優秀?
如果克服組合性爆炸
像深度神經網路這樣的方法,以目前的形式來看,似乎不太可能具有處理組合爆炸的能力,因為資料集的數量可能永遠都不足以訓練或測試它們。
我們認為,組合模型或許是解決問題的關鍵。
組合性
組合性是一個基本原則,可以感性的稱它為“一種信仰的體現,即世界是可知的,人們可以將事物拆開並理解它們,然後在精神上隨意地重新組合它們”。
但其中關鍵的假設是,結構是由更基本的子結構按照一組語法規則組成的。這就表明子結構和語法可以從有限的資料中學習,然後擴充到組合的場景中。
與深度神經網路不同,組合模型需要結構化的表徵,從而明確其結構和子結構。組合模型能夠對可見的資料進行外推,對系統進行推理、干預、診斷以及使用相同的基礎知識結構回答許多不同問題。
我們注意到,儘管深度神經網路捕獲了一種組合性形式,例如,高層特徵是由來自下層特徵的響應組成的,但與本文中我們所指的組合性顯然還是不一樣的。
圖2:從(a)到(c),可變性增加同時出現了遮擋情況。尤其(c)是一個龐大組合資料集的例子,它本質上與驗證碼相同。有趣的是,關於驗證碼的研究表明,組合模型的效能很好,而深度神經網路的效能則較差。
組合模型的優勢已經在很多視覺問題上得到了證明,例如使用相同的底層模型執行多個任務和識別驗證碼(圖2)。其他非視覺的例子也說明了同樣的觀點,比如智商測試。
在這項任務中,我們的目標是預測3x3網格中丟失的影像,其中8個網格的影像已經給出,同時任務的基本規則是組合型的(並且可以存在干擾)。在這一任務上,組合模型相比深度神經網路也有相當的優勢。
組合模型具有許多理想的理論性質,例如可解釋性和可生成樣本性。這使得錯誤更容易診斷,因此它們比像DeepNets這樣的黑盒方法更難被欺騙。
但是,學習組合模型也是十分困難的,因為它涉及到學習構件和語法(甚至語法的本質也是有爭議的)。此外,為了通過合成進行分析,它們需要有一個模型來生成物件和場景結構。
更為根本的是,處理組合爆炸需要學習三維世界的因果模型以及這些模型如何生成影像。對人類嬰兒的研究表明,他們通過預測環境結構的因果模型來學習。這種因果理解能夠讓他們從有限的資料中學習,並擴充到新的環境中。
這與牛頓定律與托勒密模型的對比類似,牛頓定律用最小的自由引數來解釋因果關係,而太陽系的托勒密模型給出了非常精確的預測,但它需要大量的資料來確定其細節。
在組合資料上測試
在現實世界中測試視覺演算法的組合複雜度的一個潛在挑戰是,我們只能測試有限的資料。我們可以通過關注最壞情況,而不是一般情況來解決這一問題。
正如我們前面所說,如果資料集沒體現出問題的組合複雜性,那麼演算法在有限大小資料集中的結果可能沒有意義。顯然,如果目標是為自動駕駛汽車開發視覺演算法,或者在醫學影像中診斷癌症,那麼關注最壞的情況也是有意義的,因為演算法的失敗可能會產生嚴重的後果。
如果能在低維空間中捕捉到故障模式,例如立體匹配演算法的危險因素,那麼我們可以利用計算機圖形學和網格搜尋對其進行研究。但對於大多數視覺任務,特別是涉及組合資料的任務,我們很難識別出少數可以被隔離和測試的危險因素。
另一種策略是將標準對抗攻擊的概念擴充套件到包括非區域性結構,並允許複雜的操作,這些操作會導致影像或場景發生變化,例如通過遮擋或更改正在檢視的物件的物理屬性,儘管這不會對人的感知造成太大的影響。
將此策略擴充套件到處理組合資料的視覺演算法仍然是非常具有挑戰性的。但是,如果在設計演算法時考慮到了組合性,那麼它們的顯式結構可能使診斷和確定它們的故障模式成為可能。
挑戰與未來
幾年前,Aude Oliva和Alan Yuille(本文第一作者)共同組織了一個由NSF贊助的計算機視覺前沿研討會(MIT CSAIL 2011)。這次會議鼓勵參會者坦誠交換意見,參會者對計算機視覺的深度神經網路的潛力產生了巨大分歧。
Yann LeCun大膽地預言,每個人都將很快地使用深度神經網路。他的預測是正確的。深度神經網路的成功非同尋常,它帶領計算機視覺走向了熱門,極大地增加了學術界和工業界之間的互動,將計算機視覺應用到了許多不同的學科,併產生了很多有意義的成果。
但是,儘管深度神經網路取得了成功,但在我們達到通用人工智慧和理解生物視覺系統的目標之前,仍然存在著巨大的挑戰。我們的一些擔憂與最近對深層網路的批評中提到的類似。
其中,我們今天討論的“組合爆炸”就是最大的挑戰之一。
雖然深度神經網路肯定是解決方案的一部分,但我們相信,我們還需要一些額外的方法用來捕獲資料基礎結構的複合原理和因果模型。此外,面對組合爆炸,我們需要重新思考如何訓練和評估視覺演算法。
相關報導:
https://thegradient.pub/the-limitations-of-visual-deep-learning-and-how-we-might-fix-them/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31562039/viewspace-2636499/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 谷歌的googLeNet卷積神經網路為什麼在計算機視覺領域如此強大?谷歌Go卷積神經網路計算機視覺
- 憑藉在計算機視覺領域長期的技術深耕以及豐富的場景經驗計算機視覺
- 智慧噴灑:計算機視覺在農業機械自動化領域的小試牛刀計算機視覺
- 是誰在引領VR頭盔領域的潮流?VR
- 【Python教程】計算機視覺的基石——讀懂 CNN卷積神經網路Python計算機視覺CNN卷積神經網路
- 超全!深度學習在計算機視覺領域應用一覽(附連結)深度學習計算機視覺
- 如何理解神經網路空間,深度學習在計算機視覺中的應用有哪些?神經網路深度學習計算機視覺
- 智慧相機在機器視覺應用領域廣泛視覺
- 膠囊網路與計算機視覺教程 @CVPR 2019計算機視覺
- 計算機視覺崗實習面經計算機視覺
- 計算機視覺領域如何從別人的論文裡獲取自己的idea?計算機視覺Idea
- 計算機視覺經典任務分類計算機視覺
- 計算機視覺、機器學習相關領域論文和原始碼大集合計算機視覺機器學習原始碼
- 如何正確理解神經網路在NLP領域的運用神經網路
- 嵌入式視覺領域的機器學習視覺機器學習
- 盤點國內八家初創計算機視覺領域優質企業計算機視覺
- 神經網路原理的視覺化神經網路視覺化
- Boxx:一個旨在提高 Python 程式碼開發和除錯效率的工具庫,尤其在計算機視覺領域Python除錯計算機視覺
- 計算機網路經典20問!計算機網路
- 計算機網路 -- 計算機網路的效能指標計算機網路指標
- 《學習網站》計算機視覺領域的一些牛人部落格,超有實力的研究機構等的網站連結學習網站計算機視覺
- iOS計算機視覺—ARKitiOS計算機視覺
- 計算機視覺論文集計算機視覺
- 計算機視覺技術在物聯網中的發展與應用計算機視覺
- HuggingFace在NLP和計算機視覺中的應用 - Reddit計算機視覺
- TPAMI 2024 | 計算機視覺中基於圖神經網路和圖Transformers的方法和最新進展計算機視覺神經網路ORM
- ARM是計算領域重要動態的中心
- 計算機視覺面試經歷| 掘金技術徵文計算機視覺面試
- 一文讀懂計算機視覺中的深度域適應計算機視覺
- 掌握視覺化卷積神經網路模型,帶你暢遊影像識別技術領域視覺化卷積神經網路模型
- 第1章 計算機網路的概述——計算機網路計算機網路
- 計算機區域網計算機
- 重新審視雲端計算領域的“鼻祖”AWS
- 計算機網路(們)和 Internet (計算機網路的子類)計算機網路
- 工業領域機器視覺原理及優勢視覺
- 計算機視覺—影象特效(3)計算機視覺特效
- 計算機視覺環境配置計算機視覺
- OpenVINO計算機視覺模型加速計算機視覺模型