本文將會討論為什麼人工神經網路會將人類看到的貓識別為大象。此外還將討論「如何看待深度神經網路物體識別任務中的正規化轉換」,以及如何利用這種視角來改進神經網路。本文是基於最近提交給 ICLR 的論文——《ImageNet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness》撰寫的。
神經網路會如何識別一隻貓呢?一個人們普遍接受的答案是:透過檢測它的形狀。這種假設的證據來源於像 DeconvNet(《Visualizing and Understanding Convolutional Networks》)這樣的視覺化技術。這種技術表明,在不同的處理階段(被稱之為層),網路試圖識別一張影象中越來越大的圖案,從第一層中簡單的邊緣和輪廓到更復雜的形狀(如汽車輪子),直到輕鬆識別出該物件(車)。
這種直觀的解釋已經成為了一種常識。現代的深度學習教科書(如 Ian Goodfellow 的經典著作《深度學習》),在解釋深度學習如何工作時,明確提到了基於形狀的視覺化技術,其他的研究人員也是如此(例如,Nikolaus Kriegeskorte 在《Deep neural networks: a new framework for modelling biological vision and brain information processing》第九頁中所述)。
網路習得了與每個類別相關聯的各種形狀的複雜知識。
高階單元似乎可以學習到自然影象中出現的形狀的表徵,如人臉、人體、動物、自然場景、建築和汽車。
但是這種說法存在一個問題:一些包括 DeconvNet 在內的最重要的和廣泛使用的視覺化技術,最近被證明具有誤導性(《A Theoretical Explanation for Perplexing Behaviors of Backpropagation-based Visualizations》):它們僅僅是重建影象的組成部分,而沒有揭示神經網路在一張影象中尋找到的是什麼—也就是說,那些漂亮的可以被人類解釋的視覺化結果與網路如何做出一個決策的關係並不大。
使用這些影象,現在可以透過觀察深度神經網路的分類決策(並且和人類進行比較)來研究形狀/紋理偏好。打個比方:在不能與某人交談的情況下,我們想知道 TA 懂阿拉伯語還是漢語,那麼該怎麼做?一種可能的辦法是拿一張紙,用阿拉伯語寫「向左走」,在旁邊用中文寫「向右走」,然後觀察這個人會向右走還是向左走。類似地,如果向神經網路輸入一個形狀和紋理衝突的影象(如貓的形狀,象的面板),就可以弄清楚它在識別影象時利用的是形狀還是紋理。
神經網路識別物體依賴的是形狀還是其他表徵?一直以來,人們普遍認為答案是前者,但本文中的研究者透過實驗顛覆了這種「常識」。
看看下面的這幅圖片,你看到了什麼?
你可能會很輕易地分辨出上圖中的貓。然而,最頂尖的深度學習演算法卻認為上圖中的動物是一隻大象!
本文將會討論為什麼人工神經網路會將人類看到的貓識別為大象。此外還將討論「如何看待深度神經網路物體識別任務中的正規化轉換」,以及如何利用這種視角來改進神經網路。本文是基於最近提交給 ICLR 的論文——《ImageNet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness》撰寫的。
神經網路會如何識別一隻貓呢?一個人們普遍接受的答案是:透過檢測它的形狀。這種假設的證據來源於像 DeconvNet(《Visualizing and Understanding Convolutional Networks》)這樣的視覺化技術。這種技術表明,在不同的處理階段(被稱之為層),網路試圖識別一張影象中越來越大的圖案,從第一層中簡單的邊緣和輪廓到更復雜的形狀(如汽車輪子),直到輕鬆識別出該物件(車)。
這種直觀的解釋已經成為了一種常識。現代的深度學習教科書(如 Ian Goodfellow 的經典著作《深度學習》),在解釋深度學習如何工作時,明確提到了基於形狀的視覺化技術,其他的研究人員也是如此(例如,Nikolaus Kriegeskorte 在《Deep neural networks: a new framework for modelling biological vision and brain information processing》第九頁中所述)。
網路習得了與每個類別相關聯的各種形狀的複雜知識。
高階單元似乎可以學習到自然影象中出現的形狀的表徵,如人臉、人體、動物、自然場景、建築和汽車。
但是這種說法存在一個問題:一些包括 DeconvNet 在內的最重要的和廣泛使用的視覺化技術,最近被證明具有誤導性(《A Theoretical Explanation for Perplexing Behaviors of Backpropagation-based Visualizations》):它們僅僅是重建影象的組成部分,而沒有揭示神經網路在一張影象中尋找到的是什麼—也就是說,那些漂亮的可以被人類解釋的視覺化結果與網路如何做出一個決策的關係並不大。
並沒有很多證據能夠支援這種形狀假設。那麼,我們是否需要修正一下對於「神經網路如何識別物體」這一問題的看法?
如果形狀假設不是唯一的解釋呢?除了形狀,物體通常還有或多或少與眾不同的顏色、大小和紋理等特徵。所有這些因素都可以被神經網路用來識別目標。雖然顏色和大小通常不是特定物件類別所特有的,但如果我們觀察小區域,幾乎所有物件都有類似於紋理的元素(甚至是汽車,其側面有輪胎,外殼是金屬)。
事實上,我們知道神經網路剛好有一個令人驚奇的紋理表徵功能(即使該網路從來沒有被訓練過)。例如,在風格遷移問題中,我們就可以很明顯地看到這一點。在這種如此令人著迷的影象建模技術中,深度神經網路被用來從一幅影象中提取紋理資訊(如繪畫風格)。這種風格隨後會被應用在第二幅影象上,讓人們能夠「畫」一張與著名畫家風格相同的畫。你可以透過下面的連結自己嘗試一下:https://deepart.io
左:任意圖片。中:梵高的《星月夜》紋理影象。右:透過深度神經網路將梵高的《星月夜》風格應用於左圖繪製出的圖片。
儘管這裡用到的神經網路只被訓練用於物體識別,但它卻能獲得如此強大的影象紋理表徵能力,這一事實表明,兩者之間存在更深層次的聯絡。這是支撐我們所說的「紋理假設」的第一個證據:人工智慧物體識別過程中最重要的因素不是形狀,而是紋理。
神經網路是如何分類影象的呢?是基於形狀(通常的假設)還是基於紋理?為了平息這一爭論,本文作者做了一個簡單的實驗來探究哪種解釋更合理。這個實驗是基於如下所示的影象,影象中同一個物體的形狀和紋理明顯屬於不同的類別:
帶有大象的紋理的貓 | 帶有鐘錶紋理的汽車 | 帶有水瓶紋理的熊
以上三個示例的形狀和紋理從屬於不同的類別。作者用風格遷移技術創造了它們:如果輸入的是一張大象面板的照片,而不是一幅畫,那麼上面提到的技術也可以用來創造一隻帶有大象紋理的貓的影象。
使用這些影象,現在可以透過觀察深度神經網路的分類決策(並且和人類進行比較)來研究形狀/紋理偏好。打個比方:在不能與某人交談的情況下,我們想知道 TA 懂阿拉伯語還是漢語,那麼該怎麼做?一種可能的辦法是拿一張紙,用阿拉伯語寫「向左走」,在旁邊用中文寫「向右走」,然後觀察這個人會向右走還是向左走。類似地,如果向神經網路輸入一個形狀和紋理衝突的影象(如貓的形狀,象的面板),就可以弄清楚它在識別影象時利用的是形狀還是紋理。
作者利用上述方法進行了 9 個實驗,涉及大約 100 名人類觀察者和許多被廣泛使用的深度神經網路(AlexNet、VGG-16、GoogLeNet、ResNet-50、ResNet-152、DenseNet-121、SqueezeNet1_1),向他們展示了數百幅形狀和紋理相沖突的影象。實驗結果非常清楚:他們發現了支援紋理解釋的明顯證據!一隻帶有象皮紋理的貓被深度神經網路判斷為大象,但對人類來說仍然是貓。帶有時鐘紋理的汽車被深度神經網路判斷為時鐘,帶有水瓶表面紋理的熊被深度神經網路判斷為水瓶。該實驗說明:目前用於物體識別的深度學習技術主要依賴紋理,而不是物體形狀。
下面是使用 ResNet-50 得到的一個典型的示例結果,ResNet-50 是一種常用的深度神經網路。影象下方顯示出了前三位「猜測」(分類決策)百分比:
如圖所示,神經網路根據紋理(而不是形狀)對帶有象皮紋理的貓進行分類。這一實驗結果似乎與我們之前的常識大不相同,也與人類識別物件的方式存在著根本差異。
對此,我們能做些什麼呢?我們能讓人工智慧的物體識別更接近人類嗎?我們能教它利用形狀而不是紋理識別物體嗎?
答案是肯定的。深度神經網路在學習物體分類時會利用任何有用的資訊。在標準影象中,紋理揭示了很多關於物體特徵的資訊,因此可能根本不需要了解很多關於物體形狀的資訊。如果輪胎的輪廓和光滑的表面已經能夠讓網路識別出該物體,為什麼還要不厭其煩地檢查形狀是否匹配呢?為了回答這個問題,作者設計了一種新的方法,使得神經網路重點關注形狀而不是紋理,希望消除它們的紋理偏好。此處又使用了風格遷移技術,它可以將影象的原始紋理替換為任意不同的紋理(參見下圖中的示例)。在生成的影象中,紋理不再提供資訊,因此物體的形狀是剩下的唯一有用資訊。如果深度神經網路想要利用新的訓練資料集學會對物體進行分類,它需要學習形狀。
左:帶有紋理和形狀資訊的常規影象 | 右:十個紋理不同但形狀形同的物體示例。
在利用成千上萬帶有任意紋理的影象訓練了深度神經網路之後,作者發現它確實學到了形狀偏好,而不是紋理偏好!帶有象皮紋理的貓現在被這個基於形狀的新網路視為貓。此外還有一些意外收穫:在識別標準影象和對影象中的物體進行定位的問題中,該網路突然獲得了比經過正常訓練的同類網路更好的效能;這說明了接近人類的、基於形狀的表徵是多麼有用。然而,最令人驚訝的發現是,它學會了如何處理帶噪聲的影象(如現實世界中一層雨雪前景後面的物體),而該網路以前從未接觸過這些帶噪聲的模式!這種基於形狀的神經網路透過直接關注物體的形狀而不是容易失真的紋理,成為了第一個接近一般人類水平的對噪聲具有魯棒性的深度神經網路。
在人類視覺感知和人工智慧的十字路口,研究靈感可以同時來自這兩個領域。作者利用人類視覺系統及其對形狀的偏好來更好地理解深層神經網路,瞭解到它們主要使用紋理來對物體進行分類。這促使他們建立了一個在許多不同的任務上更魯棒的網路,該網路效能更加接近人類。展望未來,如果這個網路能更準確地預測「人類觀察物體時大腦神經元的運作方式」,這樣的發現將可能非常有用,幫助我們能更好地理解人類的視覺感知能力。因此,在這個激動人心的時代,正如人工智慧可以推動今天的視覺科學的發展,來自人類視覺系統的靈感也有可能會促進當今的人工智慧技術的發展!
論文:ImageNet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness*
論文連結:https://arxiv.org/abs/1811.12231
摘要:通常,人們認為卷積神經網路是透過學習越來越複雜的形狀表徵來識別物體。最近的一些研究似乎說明了影象紋理具有更重要的作用。在本文中,作者透過使用帶有「紋理-形狀」衝突的影象對卷積神經網路和人類觀察者進行評估,對兩個相互矛盾的假設進行了定量測試。研究發現,在 ImageNet 上訓練的卷積神經網路十分傾向於識別紋理而非形狀,這與人類識別物體的方式存在本質區別,揭示了卷積神經網路完全不同於人類的分類策略。接著,作者說明了,在 ImageNet 上學習到基於紋理的表徵的相同的標準架構(ResNet-50),在「Stylized-ImageNet」(ImageNet 的風格遷移版本)上進行訓練時,能夠學到基於形狀的表徵。在實驗條件控制良好的心理物理實驗室的環境下(9 個實驗,共包含在 97 名被試上進行的 48,560 次心理物理試驗),研究人員得到了更加接近人類行為的網路。而且還有一些意外收穫,例如,基於形狀的表徵能夠提升目標檢測效能,對於廣泛的影象失真問題有前所未有的魯棒性,凸顯了基於形狀的表徵的優勢。