當前位置:
首頁 > 知識 > 深度概覽卷積神經網路全景圖,沒有比這更全的了

深度概覽卷積神經網路全景圖,沒有比這更全的了

點擊閱讀原文下載PDF版


點擊閱讀原文下載PDF版


深度卷積神經網路是這一波 AI 浪潮背後的大功臣。雖然很多人可能都已經聽說過這個名詞,

但是對於這個領域的相關從業者或者科研學者來說,淺顯的了解並不足夠。近日,約克大學電氣工程與計算機科學系的 Isma Hadji 和 Richard P. Wildes 發表了一篇《我們該如何理解卷積神經網路?》的論文:







  • 第一章回顧了理解卷積神經網路的動機;




  • 第二章闡述了幾種多層神經網路,並介紹當前計算機視覺領域應用中最成功的卷積結構;




  • 第三章具體介紹了標準卷積神經網路中的各構成組件,並從生物學和理論兩個角度分析不同組件的設計方案;




  • 第四章討論了當前卷積神經網路設計的趨勢及可視化理解卷積神經網路的相關研究工作,還重點闡述了當前結構仍存在的一些關鍵問題。




通過這篇文章,我們希望幫助大家加深對卷積神經網路的理解,並對這個重要概念有一個全面的認知。





目錄






  • 第一章




    • 引言




      • 本文動機



      • 本文目標



  • 第二章




    • 多層網路結構




      • 神經網路



      • 循環神經網路



      • 卷積神經網路



      • 生成對抗網路



      • 多層網路的訓練



      • 遷移學習



    • 空間卷積神經網路




      • 卷積神經網路的不變形



      • 卷積神經網路中的目標定位問題



    • 時域卷積神經網路



    • 總結



  • 第三章





      • 理解

        ?

        卷積神經網路

        ?

        的構建模塊




        • 卷積層



        • 非線性單元



        • 歸一化



        • 池化操作



  • 第四章




    • 當前研究狀態




      • 當前趨勢




        • 卷積的可視化分析



        • 卷積的消融學習



        • 卷積結構的控制設計



      • 待解決問題



第一章


引言




本文動機




過去幾年,計算機視覺研究主要集中在卷積神經網路上(通常簡稱為 ConvNet 或 CNN),在大量諸如分類和回歸任務上已經實現了目前為止最佳的表現。儘管這些方法的歷史可以追溯到多年前,但相對而言,對這些方法的理論理解及對結果的解釋還比較淺薄。




實際上,計算機視覺領域的很多成果都把 CNN 當作了一種黑箱,這種方式雖然有效的,但對結果的解釋卻是模糊不清的,這也無法滿足科學研究的需求。尤其是當這兩個問題是互補關係時:




(1)學習的方面(比如卷積核),它到底學習到的是什麼?


(2)模型結構設計方面(比如卷積層數量、卷積核數量、池化策略、非線性函數的選擇),為什麼某些組合會優於其他組合呢?求解這些問題的答案,不僅有利於我們更好地理解卷積神經網路,而且還能進一步提升它的工程實用性。





此外,當前 CNN 的實現方法都需要大量訓練數據,而且模型的設計方案對最終的結果有很大的影響。而更深層的理論理解應該減輕模型對數據的依賴性。儘管大量的研究已經集中在卷積神經網路的實現方式,但目前為止,這些研究結果很大程度上還只局限在對卷積操作內部處理的可視化上,目的是為了理解卷積神經網路中不同層的變化情況。




本文目標




針對以上問題,本文將綜述幾種當前最優秀的多層卷積結構模型。更重要的是,本文還將通過不同方法來總結標準卷積神經網路的各種組件,並介紹它們所基於的生物學或合理的理論基礎。此外,本文還將介紹如何通過可視化方法及實例研究來嘗試理解卷積神經網路內部的變化情況。我們的最終目標是向讀者詳細展示卷積神經網路中所涉及到的每一個卷積層操作,著重強調當前最先進的卷積神經網路模型並說明未來仍需解決的問題。


第二章


多層網路結構




近年來,在深度學習或深層神經網路取得成功前,計算機視覺識別系統最先進的方法主要由兩個步驟組成,這兩個步驟各自分離但又互補:首先,我們需要通過人工設計操作(如卷積、局部或全局編碼方法)將輸入數據轉換成合適的形式。這種輸入的變換形式,通常是為了得到輸入數據的一種緊湊或抽象的表徵,同時還要根據當前任務的需要手動設計一些不變數。通過這種轉換,我們能夠將輸入數據表徵成一種更容易分離或識別的形式,這有助於後續的識別分類。其次,轉換後的數據通常作為分類器(如支持向量機)訓練的輸入信號。通常而言,任何分類器的表現都會受到變換後的數據質量及所使用的變換方法的影響。




多層神經網路結構的出現為解決這一問題帶來了新的方式,這種多層結構不僅能夠訓練目標分類器,還能從輸入數據中直接學習所需的變換操作。這種學習方式通常稱為表徵學習,當將其應用在深度或多層神經網路結構中時,我們稱之為深度學習。




多層神經網路定義為是一種從輸入數據的層次抽象表徵中提取有用信息的計算模型。一般而言,設計多層網路結構的目標是為了在高層凸顯輸入數據的重要信息,同時能讓那些不太不重要的信息變化更具魯棒性。




近年來,研究者已經提出了很多不同類型的多層架構,而大多數的多層神經網路都是以堆疊的方式,將一些線性和非線性函數模塊組合形成多層結構。本章將會覆蓋計算機視覺應用中最先進的多層神經網路結構。其中,人工神經網路是我們需要的關注重點,因為這種網路結構的表現非常突出。為了方便起見,在下文我們會直接將這類網路稱為神經網路。




神經網路




標準的神經網路結構通常由輸入層 x,輸出層 y 和多個隱藏層 h 堆疊而成,其中每個層還由多個單元組成,如下圖所示。通常,每個隱藏單元 hj 接受上一層所有單元的輸入,並將其加權組合,其非線性組合的數學形式如下:



wij  是權重值,用於控制輸入單位和隱藏單位之間連接的強度,bj 是隱藏單位的偏置,F 是非線性函數,如 Sigmoid 函數。




深度神經網路可以被視為是 Rosenblatt 感知器及多層感知器的實例。 儘管神經網路模型已經存在多年(即自 1960 年代以來),但它們並未被廣泛使用。造成這種的原因有很多,最主要的原因是感知器無法模擬像 XOR 這樣的簡單操作而被外界否定,這也進一步阻礙了研究人員對感知器的研究。




直到最近,一些研究人員將簡單感知器擴展到多層神經網路模型。 此外,缺乏適當的訓練演算法也會延緩感知度的訓練進度,而反向傳播演算法的提出也使得神經網路模型得以普及。更重要的是,多層神經網路結構依賴於大量的參數,這就意味著我們需要大量的訓練數據和計算資源來支持模型訓練及學習參數過程。




?

?標準神經網路結構示意圖



受限波爾茨曼機(RBM)的提出是深層神經網路領域的一大重要貢獻。受限玻耳茲曼機可以看作是兩層的神經網路,只允許網路以前饋連接的方式堆疊。而神經網路可以看作是使用受限波爾茨曼機進行分層無監督預訓練的一種模型,在圖像識別任務中,這種無監督學習方法主要包括三個步驟:首先,對於圖像中的每個像素,對 xi 及初始化的 wij、偏置 bj、隱藏層狀態 hj,其概率可以被定義為:


?




其中,σ(y)= 1 /(1 + exp(-y))。




其次,如上式所示,一旦所有的隱藏狀態都被隨機設定,我們可以根據概率?


將每個像素設定為 1,並以此重建圖像。





然後,隱藏單元將通過重建的權重和偏差來更新校正單位的誤差:

?





其中,α 是學習率,(xihj)表示隱藏單元 hj 中像素 xi 出現的次數。整個訓練過程將重複 N 次或直到誤差下降到預設的閾值 τ。訓練完一層後,使用它的輸出作為下一層的輸入,然後接著重複上述過程訓練下一層。通常,網路中的所有層經過預訓練後,它們還將通過梯度下降的方式,反向傳播誤差來進一步微調標記數據。使用這種分層無監督預訓練的方式可以不需大量標記數據的情況下,訓練深層神經網路結構。因為利用受限波爾茨曼機進行無監督預訓練,能夠為模型參數的初始化提供了一種有效途徑。受限波爾茨曼機的第一個成功應用案例是用於人臉識別的降維,它們被當作是一種自編碼器。




自動編碼器主要是通過引入不同的正則化方法來防止模型學習一些無關緊要的數據特徵。目前一些比較優秀的編碼器包括稀疏自編碼器、去噪自編碼器(DAE)和壓縮自編碼器(CAE)等。稀疏自編碼器允許中間編碼表示的大小(即由輸入生成編碼器)大於輸入的大小,同時通過稀疏表示來正則化負相的輸出。相反,去噪自編碼器改變了編碼重建本身的目標,試圖重建一個乾淨、不帶雜訊的輸入版本,得到一個更加強大的表示。類似地,壓縮自編碼器是通過懲罰雜訊中最敏感的單位來實現類似去噪自編碼器的過程。


?


?

?標準的自編碼器結構



循環神經網路




循環神經網路是處理序列數據相關任務最成功的多層神經網路模型(RNN)。 RNN,其結構示意圖如下圖所示,它可以看作是神經網路的一種特殊類型,隱藏單元的輸入由當前時間步所觀察到的數據中獲取輸入以及它在前一個時間步的狀態組合而成。 循環神經網路的輸出定義如下:




其中 σ 表示一些非線性函數,wi 和ui 是網路參數,用於控制當前和過去信息的相對重要性。




?


?標準的循環神經網路結構示意圖




每個循環單元的輸入將由當前時刻的輸入 xt 及上一時刻 ht-1 組成,新的輸出表示可通過上式計算得到,並傳遞給循環神經網路中的其他層。




雖然循環神經網路是一類強大的多層神經網路模型,但其的主要問題是模型對時間的長期依賴性,由於梯度爆炸或梯度消失,這種限制將導致模型訓練過程在網路回傳過程中誤差的不平穩變化。為了糾正這個困難,引入了長短期記憶網路(LSTM)。




長短期記憶網路(LSTM)的結構示意圖下圖所示,擁有存儲單元或記憶單元,隨著時間的推移存儲記憶信息。LSTM 的存儲單元是通過門控機制從中讀取信息或寫入信息。 值得注意的是,LSTM 還包含遺忘門,即網路能夠刪除一些不必要的信息。總的來說, LSTM 的結構主要包含有:三個控制不同的門(輸入門、遺忘門及輸出門),以及存儲單元狀態。 輸入門由當前輸入 xt 和前一個狀態 ht-1 控制,它的定義如下:

?




其中,wi,ui,bi 表示權重和偏差項,用於控制與輸入門相關的權重,σ 通常是一個 Sigmoid 函數。類似地,遺忘門定義如下:



相應地,權重和偏差項由 wf,uf,bf 控制。 可以說,LSTM 最重要的一點是它可以應對梯度消失或梯度爆炸時網路中誤差傳播不平穩的挑戰。這種能力的實現是通過遺忘門和輸入門的狀態進行加法結合來確定存儲單元的狀態。


?


?標

標準的長短期記憶網路結構示意圖




每個循環單元的輸入將由當前時刻的輸入 xt 及上一時刻 ht-1 組成,網路的返回值將饋送到下一時刻 ht。LSTM 最終的輸出由輸入門 it,遺忘門 ft 及輸出門 ot 和記憶單元狀態 ct 共同決定。



卷積神經網路




卷積網路(ConvNets)是一種特殊的神經網路類型,其特別適合計算機視覺應用,因為它們對於局部操作有很強的抽象表徵能力。推動卷積神經網路結構在計算機視覺中成功應用的兩個關鍵性的因素:




第一,卷積神經網路能夠利用圖像的 2D 結構和圖像相鄰像素之間的高度相關性,從而避免在所有像素單元之間使用一對一連接(即如同大多數全連接的神經網路),這有利於使用分組的局部連接。此外,卷積神經網路結構依賴於特徵共享原則,正如下圖所示,每個通道的輸出(或輸出的特徵映射)都是通過所有位置的相同濾波器的卷積生成。相比於標準的神經網路結構,卷積神經網路的這個重要特性依賴於很少的模型參數。




?


?標準的卷積神經網路結構示意圖



第二,卷積神經網路還引入一個池化步驟,在一定程度上保證了圖像的平移不變性,這使得模型不受位置變化的影響。還值得注意的是,池化操作使得網路擁有更大的感受野,從而能夠接受更大的輸入。感受野的增大,將允許網路在更深層學習到更加抽象的特徵表徵。例如,對於目標識別任務,卷積網路中的淺層將學習到圖像的一些邊、角特徵,而在更深層能夠學習到整個目標的特徵。




卷積神經網路的結構最早是受生物視覺機制啟發而設計的,正如 Hube 在其開創性的研究中所描述的人類視覺皮層的工作原理。隨後,Fukushima 提出的神經感知器(Neocognitron)是卷積神經網路的前身,它依賴局部連接的方式,由 K 層神經網路層級聯而成,每層神經網路由 S-cell 單元,U sl 及複雜的單元相間分布而成,這種交替分布的形式是模仿生物簡單細胞中的處理機制而設計的,其結構示意圖如下圖所示。




?


?神經感知器結構示意圖




此外,在卷積操作後都會跟隨一個非線性變化單元,常見的非線性函數是修正線形單元 ReLu,其數學表達式如下:




在非線性變換後,通常會引入池化單元。平均池化操作是常用的池化操作之一,通過平均化感受野中的像素值,來綜合考慮周圍像素的特徵。而最大池化則是用來提取相鄰像素間最重要的特徵信息,避免模型學習到一些無關緊要的特徵。經典的卷積網路由四個基本處理層組成: 卷積層、非線性變換層、歸一化層及池化層。




近年來,在計算機視覺領域中所應用的卷積神經網路結構,大多是基於 Lecun 在 1998 年提出的用於手寫字母識別的 LeNet 卷積模型結構。LeNet 的一個關鍵是加入反向傳播過程來更有效地學習卷積參數。與全連接神經網路相比,雖然卷積神經網路有其獨特的優勢,但其對於標籤數據的嚴重依賴性,也是其未被廣泛使用的主要原因之一。直到 2012 年,隨著大型 ImageNet 數據集的發布及計算能力的提高,人們重新恢復對卷積神經網路的研究興趣。




生成對抗網路




生成對抗網路是 2014 年首次引入的一種新型多層神經網路模型,這種模型結構充分體現了多層網路架構的強大性。雖然生成對抗網路並沒有多種不同的網路構建模塊,但這種網路結構具有一些特殊性,最關鍵的是引入了無監督學習方式,使得模型的訓練學習不再依賴大量的標記數據。




一個標準的生成對抗模型主要由兩部分子網路組成:生成網路 G 和判別網路 D,如下圖所示,兩個子網路都是預先定義好的多層網路結構(最初提出的模型中二者都是多層全連接網路)。經過交替對抗訓練,判別網路的目標是鑒別生成網路的生成數據標籤與真實數據標籤之間的真偽,而生成網路的目標是生成更加優化的數據,以 「欺騙」判別網路,訓練的最終結果是使得生成的數據達到以假亂真的目的。




?

?


通用的生成對抗網路結構示意圖



生成對抗網路自提出以來,因其強大的多層網路結構及獨特的無監督學習方式,得到了廣泛的關注和研究。GAN 的成功應用包括:文本到圖像合成(其中網路的輸入是要呈現圖像的文字描述);超解析度圖像的生成,即用較低解析度的輸入生成逼真的高解析度圖像;圖像修復,即用 GAN 來生成來自輸入圖像中的缺失信息;紋理合成,即從輸入雜訊中生成逼真的紋理特徵。




多層網路的訓練




如前所述,當前各種多層神經網路結構所取得的成功,在很大程度上取決於網路訓練學習過程的進步。通常,神經網路的訓練首先需要進行多層無監督預訓練,隨後,將預訓練好的模型進行有監督訓練,訓練過程都是基於梯度下降的反向傳播原則,通過反向傳播網路誤差,來更正修正模型的參數值,從而優化網路結構及輸出結果。




遷移學習




多層神經網路結構的一大益處是在跨數據集甚至跨不同任務中,模型所學得的特徵具有通用的適用性。在多層網路結構中,隨著層次的增加,所學得的特徵表徵通常也是從簡單到複雜、從局部到全局發展。因此,在低層次提取的特徵往往適用於多種不同任務,這使得多層結構更容易進行遷移學習。




空間卷積神經網路




理論上,卷積神經網路可以應用於任意維度的數據,特別適用於二維的圖像數據,因此卷積結構在計算機視覺領域受到了相當關注。隨著可用的大規模數據集和強大的計算機能力的發展,卷積神經網路在計算機視覺領域的應用也日益增長。本節我們將介紹幾種最突出的卷積神經網路結構,包括 AlexNet,VGGNet,GoogleNet,ResNet,DenseNet 等,其結構示意圖依次如下,這些體系結構都是基於原始的 LeNet 發展起來的。




?

?AlexNet 模型結構示意圖。值得注意的是,這種結構由兩個分支網路構成,分別在兩個不同的 GPU 上並行訓練。




?

?GoogleNet 模型結構示意圖。該模型由多個 Inception 模塊構成。




?

?ResNet 模型結構示意圖。該模型由多個殘差模塊構成。






?

?


?

?DenseNet 模型結構示意圖。該模型由多個密集模塊堆疊而成。




卷積神經網路的不變形




使用卷積神經網路的一大挑戰是需要非常大的數據集來訓練並學習模型的所有基本參數。但即便是當前大規模的數據集,如 ImageNet 擁有超過一百萬張圖像數據的數據集,仍然無法滿足深層卷積結構訓練的需要。通常,在模型訓練前,我們會通過數據增強操作來處理數據集:即通過隨機翻轉、旋轉等操作來改變圖像,從而增加數據樣本的數量。




這些數據增強操作的主要優點是使得網路對於各種圖像轉換更加魯棒,這項技術也是 AlexNet 取得成功的主要原因之一。因此,除了上述改變網路架構以簡化訓練的方法之外,其他的研究工作旨在引入新穎的模塊結構來更好的訓練模型。處理不變性最大化的一種優秀結構是空間變換網路(STN)。具體的說,這種網路結構使用了一個新穎的學習模塊,增加了模型對不重要空間變換的不變性,例如, 在物體識別過程中那些由不同視點引起的變換。該模型結構由三個子模塊組成:一個定位模塊,一個網格生成模塊和一個採樣模塊,如下圖所示。




?


?空間變換網路結構示意圖




卷積神經網路中的目標定位問題




除了簡單的目標識別分類任務,近年來卷積結構在目標精準定位的任務中同樣表現出色,如目標檢測、語義分割任務等。全卷積網路(FCN)是其中最成功的卷積結構之一,主要用於圖像語義分割。顧名思義,FCN 並未使用全連接層,而是將它們轉換為卷積層,其感受野範圍覆蓋整個卷積層的底層特徵圖。更重要的是,網路通過學習一個上採樣或者去卷積濾波器,可以恢復最後一層圖像的全解析度,其結構示意圖如下圖所示。




?

?


全卷積網路結構示意圖。經過上採樣操作,在模型最後一層得到全解析度的特徵圖,適用 softmax 將每個像素分類,並生成最終的分割結果。



在 FCN 中,語義分割問題被轉化成一個密集的逐像素分類問題,通過投射來實現。換句話說,每個像素都與 softmax 層關聯,通過像素逐類分組來實現圖像的語義分割。更值得注意的是,在這項工作中對較低結構層的特徵適用上採樣操作,起著至關重要作用。由於較低層特徵更傾向於捕捉更精細化的細節,因此上採樣操作允許模型進行更精確的分割。此外,反卷積濾波器的一種替代方案是使用擴張卷積,即上採樣稀疏濾波器,這有助於在保持參數數量的同時,模型能夠學習到更高解析度的特徵圖。




R-CNN 是最早用於目標檢測任務的卷積結構,這是一種帶區域建議的卷積神經網路(RPN),在最初的目標檢測任務中取得了最先進的檢測結果,特別是使用區域建議的選擇性搜索演算法來檢測可能包含目標的潛在區域,並將這些建議區域做一些變換以便匹配卷積結構的輸入大小,經卷積神經網路中特徵提取後,最終送入 SVM 中進行分類,並通過非極大值抑制後處理步驟中優化模型的表現。




隨後,Fast R-CNN,Faster R-CNN,Mask R-CNN 等目標檢測模型的提出都是基於最初的 R-CNN 結構。可以說,卷積神經網路在目標檢測方面的應用是圍繞 R-CNN 結構展開。




時域卷積神經網路




如上所述,卷積神經網路在計算機視覺二維空間的應用中所取得的顯著性能,引發了人們對 3D 時空應用的研究。許多文獻中提出的時域卷積結構通常只是試圖從空間域(x,y)擴展到時間域(x,y,t)的二維卷積結構。而時域神經網路結構有三種不同的形式:基於 LSTM 的時域卷積網路、3D 卷積神經網路和雙流卷積神經網路,其模型結構示意圖如下圖。




?


?基於 LSTM 的時域卷積神經網路。該模型中,由視頻流的每幀數據構成模型的輸入。




?

?雙流卷積神經網路。該模型以 RGB 光流數據作為輸入。




總結




相比於手動設計的特徵或淺層的特徵表示,多層卷積結構是當前計算機視覺領域最先進、最具吸引力的結構之一。總體而言,大多數模型結構都是基於四個共同的構件塊,即卷積、非線性單元、歸一化和池化操作。雖然這些優秀的卷積模型在大多數計算機視覺任務中取得了最優性能,但它們共同的缺點仍然是對卷積內部操作、特徵表徵的理解相當有限,依賴於大規模的數據集和模型訓練過程,缺乏精確的性能界限和超參數選擇的清晰度。這些超參數包括濾波器的大小、非線性函數、池化操作參數以及模型層數的選擇。接下來我們將進一步討論卷積神經網路設計過程中這些超參數的選擇。

第三章

理解卷積神經網路的構建模塊




考慮到卷積神經網路領域還存在大量未解決的問題,在本章我們將探討一些典型案例中卷積網路的每一層處理操作的作用及意義,尤其我們將從理論和生物學角度給出合理解釋。




卷積層




卷積神經網路的核心層是卷積層,這是模型最重要的一步。總的來說,卷積是一種線性的、具有平移不變性的運算,它是通過局部加權輸入信號來實現的。權重集合是根據點擴散函數(point spread function)來確定的,不同的權重函數能夠反映出輸入信號的不同性質。




在頻率域中,與點擴散函數相關聯的是調製函數,這表明了輸入的頻率組分可以通過縮放和相移來進行調製。因此,選擇合適的卷積核,將有助於模型獲取輸入信號中最顯著、最重要的特徵信息。




非線性單元




多層神經網路通常是高度的非線性模型,而修正單元(rectification)通常將引入一個非線性函數(也被稱為激活函數),即將非線性函數應用到卷積層輸出中。引入修正單元的目的,一方面是為了最好的、最合適的模型解釋;另一方面是為了讓模型能更快和更好地學習。常用的非線性函數主要包括 Logistic 函數、tanh 函數、Sigmoid 函數、ReLU 及其變體 LReLU,SReLU,EReLU 等,其函數圖像如下圖所示。




?


?多層網路結構中的非線性激活函數



歸一化




如上所述,由於這些多層網路中存在級聯的非線性運算,因此多層神經網路都是高度的非線性模型。除了上面討論的修正非線性單元外,歸一化(normalization)同樣是卷積神經網路結構中重要的非線性處理模塊。最廣泛使用的歸一化形式即所謂的局部響應歸一化操作(LRN,Local Response Normalization)。此外,還有諸如批歸一化(batch normalization),分裂歸一化(divisive normalization)等。




池化操作




幾乎所有的卷積神經網路,都包含池化操作。池化操作是為了提取特徵在不同位置和規模上的變化,同時聚合不同特徵映射的響應。正如卷積結構中前三個組份,池化操作也是受到生物學啟發和理論支持而提出的。 平均池化和最大池化是兩個最廣泛使用的池化操作,其池化效果依次如下圖所示。




?


?經平均池化操作後Gabor特徵的變化情況




?


?經最大池化操作後Gabor特徵的變化情況


第四章


當前研究狀態




對卷積神經網路結構中各組作用的闡述凸顯了卷積模塊的重要性,這個模塊主要用於捕獲最抽象的特徵信息。相對而言,我們對卷積模塊操作的理解卻很模糊,對其中繁瑣的計算過程的理解並不透徹。本章我們將嘗試理解卷積網路中不同層所學習的內容及不同的可視化方法。同時,我們還將重點展望這些方面仍待解決的問題。




當前趨勢




儘管各種優秀的卷積模型在多種計算機視覺應用中取得了最優表現,但在理解這些模型結構的工作方式及探索這些結構的有效性方面的研究進展仍相當緩慢。如今,這個問題已經引起了眾多研究者的興趣,為此很多研究提出用於理解卷積結構的方法。




總的來說,這些方法可以分成三個方向:對所學習到的過濾器和提取的特徵圖進行可視化分析、受生物視覺皮層理解方法所啟發的消融學習(ablation study)、以及通過引入主成分分析法設計並分析網路最小化學習過程,我們將簡要概述這三種方法。




卷積的可視化分析




卷積可視化的第一種方法是以數據集為中心的方法,因為卷積操作依靠從數據集輸入來探測網路在網路中找到最大響應單元。這種方法的第一個應用是反卷積(DeConvNet)。其中可視化是分兩步實現:首先,一個卷積結構接收來自數據集 a 的幾個圖像並記錄數據集中輸入的特徵映射最大響應;其次,這些特徵地圖使用反卷積結構,通過反轉卷積操作模塊,將卷積操作中學習到的濾波器特徵進行轉置來執行「解卷積」操作,從而實現卷積的可視化分析。反卷積操作的示意圖如下圖所示:




?

?反卷積構建模塊



卷積可視化的第二種方法稱為以網路為中心的方法,因為它僅使用網路參數而不需要任何用於可視化的數據。這種方法首次應用於深層置信網路的可視化分析中,後來才應用於卷積網路結構中。具體地說,這種卷積可視化是通過合成圖像來實現的,該圖像將最大化某些神經元(或過濾器)的響應。




卷積的消融學習




另一種流行的可視化方法是使用所謂的網路消融研究。實際上,許多著名的卷積結構都包括模型消融研究實驗部分,其目的是隔離卷積結構的不同部分組成網路,來查看刪除或添加某些模塊如何模擬整體的性能。消融研究能夠指導研究者設計出性能更優的網路結構。




卷積結構的控制設計




理解卷積結構的另一種方法是在網路設計時添加先驗知識,從而最大限度地減少所需學習的模型參數。例如,一些方法是減少每層卷積層所需學習的過濾器數量,並用轉換後的版本在每一層中學習的濾波器來模擬旋轉不變性。 其他方法依賴於用基礎集合代替過濾器的學習過程,而不是學習過濾器參數,它們的目標是學習如何組合基礎集合,以便在每一層形成有效的過濾器。此外,還有一些方法,是通過完全手工設計卷積網路,並針對特定的任務在網路設計階段加入特定的先驗知識,如此設計出可解釋的網路。




待解決問題




通過上述內容,我們總結了卷積模型一些關鍵技術以及如何更好地理解卷積結構的方法。下面,我們將進一步討論在卷積模型領域仍待解決的一些問題。




基於卷積可視化的研究方法仍待解決的幾個關鍵問題:






  • 首先,開發更加客觀的可視化評價方法是非常重要的,可以通過引入評價指標來評估所生成的可視化圖像質量或含義來實現。






  • 此外,儘管看起來以網路為中心的卷積可視化方法更有前景(因為它們在生成可視化結果過程中不依賴模型結構自身),但也缺乏一套標準化的評估流程。一種可能的解決方案是使用一個評估基準來評價同樣條件下生成的網路可視化結果。這樣的標準化方法反過來也能實現基於指標的評估方法,而不是當前的解釋性分析。






  • 另一個可視化分析的發展方向是同時可視化網路的多個單元,以更好地理解模型中特徵表徵的分布情況,甚至還能遵循一種控制方法。




基於 ablation study 的研究方法仍待解決的幾個關鍵問題:






  • 使用共同的、系統性組織的數據集。我們不僅要解決計算機視覺領域常見的不同挑戰(比如視角和光照變化),還必須要應對複雜度更大的類別問題(如圖像紋理、部件和目標複雜度等)。近年來,已經出現了一些這樣的數據集。在這樣的數據集上,使用 ablation study,輔以混淆矩陣分析,可以確定卷積結構中出錯的模塊,以便實現更好的理解卷積。






  • 此外,分析多個協同的 ablation 對模型表現的影響方式,是一個很受關注的研究方向。這樣的研究也能有助於我們理解獨立單元的工作方式。




相比於完全基於學習的方法,還有一些受控方法能讓我們對這些結構的運算和表徵有更深入的理解,因而具有很大的研究前景。這些有趣的研究方向包括:




  • 逐層固定網路參數及分析對網路行為的影響。例如,基於當前特定任務的先驗知識,一次固定一層的卷積核參數,以分析每一卷積層中卷積核的適用性。這個逐層漸進式的學習方式有助於揭示卷積學習的作用,還可用作最小化訓練時間的初始化方法。






  • 類似地,可以通過分析輸入的特徵來研究網路結構的設計(如層的數量或每層中過濾器數量的選擇方案),這種方法有助於設計出最適合模型結構。






  • 最後,將受控方法應用於網路的同時,可以對卷積神經網路的其它方面的作用進行系統性的研究。通常,我們重點關注的是模型所學習的參數,所以對這方面得到的關注較少。例如,我們可以在固定大多數參數的情況下,研究各種池化策略和殘差連接的作用。





作者:Isma Hadji,Richard P. Wildes


論文鏈接:


https://arxiv.org/pdf/1803.08834.pdf


近期熱文




  • 乾貨 | NLP中的self-attention【自-注意力】機制



  • 這5小段代碼輕鬆實現數據可視化(Python+Matplotlib)



  • 詳解計算機視覺五大技術:圖像分類、對象檢測、目標跟蹤、語義分割和實例分割



  • 值得收藏的27個機器學習的小抄




  • 推薦 | 機器學習中的這12條經驗,希望對你有所幫助



  • 圖解機器學習的常見演算法




  • 利用Python實現卷積神經網路的可視化




  • 乾貨|淺談強化學習的方法及學習路線


廣告、商業合作


請添加微信:guodongwe1991


(備註:商務合作)

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!

TAG: |