深度卷積神經網絡是這一波 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)等。稀疏自編碼器允許中間編碼表示的大?。从奢斎肷删幋a器)大于輸入的大小,同時通過稀疏表示來正則化負相的輸出。相反,去噪自編碼器改變了編碼重建本身的目標,試圖重建一個干凈、不帶噪聲的輸入版本,得到一個更加強大的表示。類似地,壓縮自編碼器是通過懲罰噪聲中最敏感的單位來實現類似去噪自編碼器的過程。
標準的自編碼器結構
循環神經網絡
循環神經網絡是處理序列數據相關任務最成功的多層神經網絡模型(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 結構??梢哉f,卷積神經網絡在目標檢測方面的應用是圍繞 R-CNN 結構展開。
▌時域卷積神經網絡
如上所述,卷積神經網絡在計算機視覺二維空間的應用中所取得的顯著性能,引發了人們對 3D 時空應用的研究。許多文獻中提出的時域卷積結構通常只是試圖從空間域(x,y)擴展到時間域(x,y,t)的二維卷積結構。而時域神經網絡結構有三種不同的形式:基于 LSTM 的時域卷積網絡、3D 卷積神經網絡和雙流卷積神經網絡,其模型結構示意圖如下圖。
基于 LSTM 的時域卷積神經網絡。該模型中,由視頻流的每幀數據構成模型的輸入。
雙流卷積神經網絡。該模型以 RGB 光流數據作為輸入。
▌總結
相比于手動設計的特征或淺層的特征表示,多層卷積結構是當前計算機視覺領域最先進、最具吸引力的結構之一。總體而言,大多數模型結構都是基于四個共同的構件塊,即卷積、非線性單元、歸一化和池化操作。雖然這些優秀的卷積模型在大多數計算機視覺任務中取得了最優性能,但它們共同的缺點仍然是對卷積內部操作、特征表征的理解相當有限,依賴于大規模的數據集和模型訓練過程,缺乏精確的性能界限和超參數選擇的清晰度。這些超參數包括濾波器的大小、非線性函數、池化操作參數以及模型層數的選擇。接下來我們將進一步討論卷積神經網絡設計過程中這些超參數的選擇。
第三章
理解卷積神經網絡的構建模塊
考慮到卷積神經網絡領域還存在大量未解決的問題,在本章我們將探討一些典型案例中卷積網絡的每一層處理操作的作用及意義,尤其我們將從理論和生物學角度給出合理解釋。
▌卷積層
卷積神經網絡的核心層是卷積層,這是模型最重要的一步??偟膩碚f,卷積是一種線性的、具有平移不變性的運算,它是通過局部加權輸入信號來實現的。權重集合是根據點擴散函數(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 對模型表現的影響方式,是一個很受關注的研究方向。這樣的研究也能有助于我們理解獨立單元的工作方式。
相比于完全基于學習的方法,還有一些受控方法能讓我們對這些結構的運算和表征有更深入的理解,因而具有很大的研究前景。這些有趣的研究方向包括:
逐層固定網絡參數及分析對網絡行為的影響。例如,基于當前特定任務的先驗知識,一次固定一層的卷積核參數,以分析每一卷積層中卷積核的適用性。這個逐層漸進式的學習方式有助于揭示卷積學習的作用,還可用作最小化訓練時間的初始化方法。
類似地,可以通過分析輸入的特征來研究網絡結構的設計(如層的數量或每層中過濾器數量的選擇方案),這種方法有助于設計出最適合模型結構。
最后,將受控方法應用于網絡的同時,可以對卷積神經網絡的其它方面的作用進行系統性的研究。通常,我們重點關注的是模型所學習的參數,所以對這方面得到的關注較少。例如,我們可以在固定大多數參數的情況下,研究各種池化策略和殘差連接的作用。
-
神經網絡
+關注
關注
42文章
4779瀏覽量
101168 -
AI
+關注
關注
87文章
31513瀏覽量
270330 -
深度學習
+關注
關注
73文章
5513瀏覽量
121546
原文標題:深度概覽卷積神經網絡全景圖,沒有比這更全的了
文章出處:【微信號:AI_Thinker,微信公眾號:人工智能頭條】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論