您現在的位置是:首頁 > 遊戲

輸入兩張“怪異”影象,VGG、Inception、ResNet集體翻車,經典影象分類模型有多脆弱?

由 AI 科技評論 發表于 遊戲2022-02-14
簡介而一旦資料不滿足獨立同分布假設或測試資料分佈未知時,利用”上下文關係“的學習(或利用相關性特徵的學習)傾向於根據訓練集上學到的環境、目標物體與類別標籤的關係進行預測(例如叉車常與小汽車同時出現,且叉車在尺寸上大於小汽車),而由於測試資料不再

為什麼豬在天上飛

輸入兩張“怪異”影象,VGG、Inception、ResNet集體翻車,經典影象分類模型有多脆弱?

作者 | 琰琰

編輯 | 青暮

如果輸入一張“豬在天上飛”的影象,VGG會把它歸為哪一類?

VGG是一款經典影象分類演算法。影象分類是計算機視覺技術的基礎任務,比如給定一張影象,判斷它是貓、狗、飛機,還是建築。

自深度神經網路成為主流方法後,計算機視覺領域衍生出了一批類似的經典演算法,包括2016年牛津大學和DeepMind聯合推出的VGGNet;2015年微軟開發的ResNet,以及谷歌的GoogleNet和InceptionNet。其中,VGGNet還獲得過ILSVRC 2014的影象分類亞軍和目標檢測專案冠軍,它在ImageNet資料集上Top5的錯誤率為7。5%。

以上這些神經網路已被廣泛用作影象特徵提取架構。

不過,這些經典演算法真的靠譜嗎?

如果我們對影象進行一些非常規操作,比如把豬放在它“不熟悉”的天空環境中,或者把區域性目標異常放大,它們還能準確分類嗎?

輸入兩張“怪異”影象,VGG、Inception、ResNet集體翻車,經典影象分類模型有多脆弱?

最近一位Twitter使用者就進行了這樣一項測試,他選擇了VGG16、InceptionV3以及ResNet-50三種演算法,以及下面兩張經過異常處理的影象:

左圖:把書包置入“不相關”的帶有食物的餐盤中;

右圖:把椅子放入“不相關”的汽車周圍,並放大至佔據整個影象空間。

輸入兩張“怪異”影象,VGG、Inception、ResNet集體翻車,經典影象分類模型有多脆弱?

結果,三個經典演算法全部翻車了。

圖中檢測結果顯示:左圖“書包”全部被演算法識別成了“土豆泥”——InceptionV3(55%),VGGNet16(60%)、ResNet-50(68%),右圖“椅子”分別被識別成了“斷頭臺、叉車、旋轉柵門”——InceptionV3(74。4%),VGGNet16(9。7%)、ResNet-50(53。6%)。

也就是說,演算法不僅出現了錯誤,而且還是依賴背景資訊作出的判斷(顯然,土豆泥與食物更相關,叉車與汽車更相關)。

這個結果引起了網友們的廣泛討論。有網友認為,除了考慮訓練任務缺乏廣度和精細度之外,沒有必要對這種出錯進行過多解讀,這本身就很難克服。

輸入兩張“怪異”影象,VGG、Inception、ResNet集體翻車,經典影象分類模型有多脆弱?

還有網友認為,這說明模型的思考方式與人類完全不同,人類基於先驗經驗作出正確判斷,但AI要想捕獲客觀性的“先驗”,必須在互動式3D環境中進行演算法訓練,但事實上,它們大多上數是在2D影象上訓練的。

輸入兩張“怪異”影象,VGG、Inception、ResNet集體翻車,經典影象分類模型有多脆弱?

那麼演算法為什麼會出現預測錯誤,它反映了影象分類模型的哪些固有侷限?有什麼解決方法?針對這一系列問題,AI科技評論請教了來自清華大學和香港中文大學的兩位博士生。他們給出瞭如下的解答:

1、從示例來看,三種演算法的預測結果更偏向於根據背景資訊作出預測,而不是目標物體。為什麼會出現這種情況?

港中文博士:

如果是分類網路的話,其實這並不算錯誤,因為示例中的 ground truth 本身就不是單標籤的。ImageNet資料集以中心主體物體為標籤的做法,由於不合理標註過多已導致準確度陷入瓶頸。

在討論目標物體和背景之前,先要明確為什麼書包和椅子是目標,尺寸大或者不被遮擋都不是絕對判斷的理由。網路的判別的確會存在空間上的attention,但當“目標”與“背景”特徵都顯著時,網路關注點並不確定。

清華博士:

從示例來看,這三種演算法確實由於背景的影響而做出了錯誤的預測,這反映出目標物體與背景的相對關係會在很大程度上影響深度模型預測。當背景與標籤出現強耦合時(例如訓練集中叉車總與小汽車同時出現)背景或可成為模型預測的主導因素。

此外,兩個示例中目標物體與背景物體的相對大小被人為調整到與實際情況相悖的狀態,而由於利用相關性特徵進行預測的現有神經網路(如Inception,ResNet,VGG等)並無法顯式區分本質特徵(與目標物體本身相關的特徵)與環境相關特徵,所以容易受到這類干擾的影響而做出錯誤預測。這反映了基於相關性特徵的網路容易被環境相關資訊所幹擾,不足以充分割槽分及利用目標物體的本質特徵。

相比之下,基於本質特徵(因果特徵)而設計的神經網路可以更好地應對環境及背景資訊的干擾。

2、除了背景干擾和相關性特徵的侷限外,單目標識別以及顯著性目標識別等問題是否會是影響因素之一?

清華博士:

影象識別問題特別是單目標識別設定確實有一定的侷限性,例如當一張圖片中同時出現兩個或多個顯著目標時易導致模型預測失敗。但單目標識別具有極大的現實意義,在很多應用場景中我們僅需要識別單一顯著目標即可,例如人臉識別或商品識別等等。

另外,這兩個失敗的示例並不代表單一目標識別問題的侷限,因為在圖片中書包與椅子都是顯著目標,尺寸較大且幾乎位於圖片的正中心,預測失敗是因為模型使用的是相關性特徵所以容易受到環境因素的影響。

3、作為視覺技術的基礎結構,以上三種主流演算法會對目標檢測、影象分割、影象檢索、OCR等高階視覺任務帶來什麼影響?

清華博士:

如果用做提取特徵的神經網路容易受到環境因素的影響,那麼對下游任務如目標檢測、影象分割、影象檢索等都會造成一定的影響。如目標檢測迴歸的檢測框可能對應於“土豆泥”而非“書包”,影象分割可能會將環境的一部分當作目標物體等等。

4、有相關研究表明利用上下文資訊可以提高影象識別模型的魯棒性(論文:“Putting visual object recognition in context)。但在本例中,上下文背景顯然也可能作為一種誤導因素。在什麼樣的條件下,模型可以平衡背景與目標之間影響而儘可能達到準確預測?另外,僅僅對影象本身提取上下文是否足夠?知識可以作為額外引入的上下文資訊嗎?

清華博士:

利用“上下文關係”的學習實際上就是利用相關性特徵學習的一種,很多現有的神經網路都容易學習到圖片的“上下文關係“。在訓練資料和測試資料滿足獨立同分布的前提下,利用”上下文關係“進行預測或許可以取得很好的效果,因為在訓練集中學習到的這種關係在測試集中依然適用且可以幫助模型進行更好的預測。

而一旦資料不滿足獨立同分布假設或測試資料分佈未知時,利用”上下文關係“的學習(或利用相關性特徵的學習)傾向於根據訓練集上學到的環境、目標物體與類別標籤的關係進行預測(例如叉車常與小汽車同時出現,且叉車在尺寸上大於小汽車),而由於測試資料不再滿足這種特定的關係(例如示例中因為觀測角度的改變椅子的尺寸大於小汽車),所以模型極易受到環境干擾而做出錯誤的預測。所以針對影象提取上下文不足夠,因為無法保證資料滿足獨立同分布假設。

知識作為額外引入上下文資訊的途徑也不充分,因為很多場景中我們無法預知關於測試集分佈的知識,當先驗知識無法覆蓋測試集全部資料時,這種知識的引入就容易造成模型失效。

總的來說,對於確切瞭解測試資料分佈且與訓練資料獨立同分布的應用場景,模型利用”上下文關係“進行學習或許可以取得較好的效果,而對於更廣泛、更普適的深度學習演算法而言,區分目標本質特徵與環境相關特徵並本質特徵進行預測應該是一個更加穩定且有效的解決方案。

5、除了上下文背景,還有哪些影響模型識別目標物體的因素?目前的研究趨勢和目標是什麼?

港中大博士:

上下文(前景背景,不同概念共同出現的頻率等)、物體形狀、物體紋理等都是常見的影響因素,相關網路可解釋性的研究已有很多,其中被熟知的包括attention系列和CAM,形狀與紋理是近半年來的一個研究熱點。總體趨勢是,我們希望把這些因素的作用解耦開,可以藉助更加精細標註的資料集和更復雜的任務,引入邏輯推理因果推斷以及藉助其它模態的知識等等,讓即使是簡單的分類問題也更加魯棒和可控,而不僅僅是去猜測網路的關注點。

6、剛才您提到基於本質特徵(因果特徵)而設計的神經網路可以更好地應對環境及背景資訊的干擾。您可以介紹一款相關模型嗎?

清華博士:

清華大學崔鵬教授團隊提出了一個基於目標本質特徵進行穩定預測的深度學習框架:StableNet,其基本思路是利用隨機傅立葉特徵(RFF)將深度網路提取的視覺特徵對映到高維空間,之後透過干擾變數平衡學習一組樣本權重消除RFF空間中特徵的線性相關性,從而保證在原空間中本質特徵與環境相關特徵嚴格獨立,幫助分類器區分與使用本質特徵。另外,由於深度模型所需的訓練資料量通常較大,所以StableNet採用動態儲存、重載入樣本特徵與樣本權重的方法,利用全域性先驗知識最佳化每一輪的樣本權重。

總的來說,StableNet可以消除環境特徵與樣本標籤間的虛假關聯,以實現在不同未知目標環境中的穩定預測。在上述例子中,StableNet主要關注於書包和椅子本身,而非背景或“上下文關係”,從而不受環境因素干擾而做出穩定、準確的預測。

參考連結:

https://arxiv。org/abs/1911。07349

http://arxiv。org/abs/2104。02215

https://arxiv。org/abs/2104。07876

https://www。reddit。com/r/MachineLearning/comments/mtev6w/r_putting_visual_recognition_in_context_link_to/

推薦文章