複製鏈接
請複製以下鏈接發送給好友

卷積神經網絡

鎖定
卷積神經網絡(Convolutional Neural Networks, CNN)是一類包含卷積計算且具有深度結構的前饋神經網絡(Feedforward Neural Networks),是深度學習(deep learning)的代表算法之一 [1-2]  。卷積神經網絡具有表徵學習(representation learning)能力,能夠按其階層結構對輸入信息進行平移不變分類(shift-invariant classification),因此也被稱為“平移不變人工神經網絡(Shift-Invariant Artificial Neural Networks, SIANN)” [3] 
對卷積神經網絡的研究始於二十世紀80至90年代,時間延遲網絡和LeNet-5是最早出現的卷積神經網絡 [4]  ;在二十一世紀後,隨着深度學習理論的提出和數值計算設備的改進,卷積神經網絡得到了快速發展,並被應用於計算機視覺自然語言處理等領域 [2] 
卷積神經網絡仿造生物的視知覺(visual perception)機制構建,可以進行監督學習非監督學習,其隱含層內的卷積核參數共享和層間連接的稀疏性使得卷積神經網絡能夠以較小的計算量對格點化(grid-like topology)特徵,例如像素和音頻進行學習、有穩定的效果且對數據沒有額外的特徵工程(feature engineering)要求 [1-2] 
中文名
卷積神經網絡
外文名
Convolutional Neural Network, CNN
類    型
機器學習算法,神經網絡算法
提出者
Yann LeCun,Wei Zhang,Alexander Waibel 等
提出時間
1987-1989年 [5] 
學    科
計算機科學技術_人工智能_神經網絡 [136] 
應    用
計算機視覺,自然語言處理

卷積神經網絡歷史

neocognitron的構築與特徵可視化 neocognitron的構築與特徵可視化 [6]
對卷積神經網絡的研究可追溯至日本學者福島邦彥(Kunihiko Fukushima)提出的neocognitron模型。在其1979 [7-8]  和1980年 [9]  發表的論文中,福島仿造生物的視覺皮層(visual cortex)設計了以“neocognitron”命名的神經網絡。neocognitron是一個具有深度結構的神經網絡,並且是最早被提出的深度學習算法之一 [10]  ,其隱含層由S層(Simple-layer)和C層(Complex-layer)交替構成。其中S層單元在感受野(receptive field)內對圖像特徵進行提取,C層單元接收和響應不同感受野返回的相同特徵 [9]  。neocognitron的S層-C層組合能夠進行特徵提取和篩選,部分實現了卷積神經網絡中卷積層(convolution layer)和池化層(pooling layer)的功能,被認為是啓發了卷積神經網絡的開創性研究 [11] 
第一個卷積神經網絡是1987年由Alexander Waibel等提出的時間延遲網絡(Time Delay Neural Network, TDNN) [12]  。TDNN是一個應用於語音識別問題的卷積神經網絡,使用FFT預處理的語音信號作為輸入,其隱含層由2個一維卷積核組成,以提取頻率域上的平移不變特徵 [13]  。由於在TDNN出現之前,人工智能領域在反向傳播算法(Back-Propagation, BP)的研究中取得了突破性進展 [14]  ,因此TDNN得以使用BP框架內進行學習。在原作者的比較試驗中,TDNN的表現超過了同等條件下的隱馬爾可夫模型(Hidden Markov Model, HMM),而後者是二十世紀80年代語音識別的主流算法 [13] 
1988年,Wei Zhang提出了第一個二維卷積神經網絡:平移不變人工神經網絡(SIANN),並將其應用於檢測醫學影像 [3]  。獨立於Zhang (1988),Yann LeCun在1989年同樣構建了應用於計算機視覺問題的卷積神經網絡,即LeNet的最初版本 [5]  。LeNet包含兩個卷積層,2個全連接層,共計6萬個學習參數,規模遠超TDNN和SIANN,且在結構上與現代的卷積神經網絡十分接近 [11]  。LeCun (1989) [5]  對權重進行隨機初始化後使用了隨機梯度下降(Stochastic Gradient Descent, SGD)進行學習,這一策略被其後的深度學習研究所保留。此外,LeCun (1989)在論述其網絡結構時首次使用了“卷積”一詞 [5]  ,“卷積神經網絡”也因此得名。
LeCun (1989) [5]  的工作在1993年由貝爾實驗室(AT&T Bell Laboratories)完成代碼開發並被部署於NCR(National Cash Register Coporation)的支票讀取系統 [11]  。但總體而言,由於數值計算能力有限、學習樣本不足,加上同一時期以支持向量機(Support Vector Machine, SVM)為代表的核學習(kernel learning)方法的興起,這一時期為各類圖像處理問題設計的卷積神經網絡停留在了研究階段,應用端的推廣較少 [2] 
在LeNet的基礎上,1998年Yann LeCun及其合作者構建了更加完備的卷積神經網絡LeNet-5並在手寫數字的識別問題中取得成功 [15]  。LeNet-5沿用了LeCun (1989) 的學習策略並在原有設計中加入了池化層對輸入特徵進行篩選 [15]  。LeNet-5及其後產生的變體定義了現代卷積神經網絡的基本結構,其構築中交替出現的卷積層-池化層被認為能夠提取輸入圖像的平移不變特徵 [16]  。LeNet-5的成功使卷積神經網絡的應用得到關注,微軟在2003年使用卷積神經網絡開發了光學字符讀取(Optical Character Recognition, OCR)系統 [17]  。其它基於卷積神經網絡的應用研究也得到展開,包括人像識別 [18] 手勢識別 [19]  等。
在2006年深度學習理論被提出後 [20]  ,卷積神經網絡的表徵學習能力得到了關注,並隨着數值計算設備的更新得到發展 [2]  。自2012年的AlexNet [21]  開始,得到GPU計算集羣支持的複雜卷積神經網絡多次成為ImageNet大規模視覺識別競賽(ImageNet Large Scale Visual Recognition Challenge, ILSVRC) [22]  的優勝算法,包括2013年的ZFNet [23]  、2014年的VGGNet、GoogLeNet [24]  和2015年的ResNet [25] 

卷積神經網絡結構

卷積神經網絡輸入層

卷積神經網絡的輸入層可以處理多維數據,常見地,一維卷積神經網絡的輸入層接收一維或二維數組,其中一維數組通常為時間或頻譜採樣;二維數組可能包含多個通道;二維卷積神經網絡的輸入層接收二維或三維數組;三維卷積神經網絡的輸入層接收四維數組 [16]  。由於卷積神經網絡在計算機視覺領域應用較廣,因此許多研究在介紹其結構時預先假設了三維輸入數據,即平面上的二維像素點和RGB通道。
與其它神經網絡算法類似,由於使用梯度下降算法進行學習,卷積神經網絡的輸入特徵需要進行標準化處理。具體地,在將學習數據輸入卷積神經網絡前,需在通道或時間/頻率維對輸入數據進行歸一化,若輸入數據為像素,也可將分佈於
的原始像素值歸一化至
區間 [16]  。輸入特徵的標準化有利於提升卷積神經網絡的學習效率和表現 [16] 

卷積神經網絡隱含層

卷積神經網絡的隱含層包含卷積層、池化層和全連接層3類常見構築,在一些更為現代的算法中可能有Inception模塊、殘差塊(residual block)等複雜構築。在常見構築中,卷積層和池化層為卷積神經網絡特有。卷積層中的卷積核包含權重係數,而池化層不包含權重係數,因此在文獻中,池化層可能不被認為是獨立的層。以LeNet-5為例,3類常見構築在隱含層中的順序通常為:輸入-卷積層-池化層-全連接層-輸出。
卷積層(convolutional layer)
1. 卷積核(convolutional kernel)
卷積層的功能是對輸入數據進行特徵提取,其內部包含多個卷積核,組成卷積核的每個元素都對應一個權重係數和一個偏差量(bias vector),類似於一個前饋神經網絡的神經元(neuron)。卷積層內每個神經元都與前一層中位置接近的區域的多個神經元相連,區域的大小取決於卷積核的大小,在文獻中被稱為“感受野(receptive field)”,其含義可類比視覺皮層細胞的感受野 [2]  。卷積核在工作時,會有規律地掃過輸入特徵,在感受野內對輸入特徵做矩陣元素乘法求和併疊加偏差量 [1] 
一維和二維卷積運算示例 一維和二維卷積運算示例 [26]
式中的求和部分等價於求解一次交叉相關(cross-correlation)。
為偏差量,
表示第
層的卷積輸入和輸出,也被稱為特徵圖(feature map),
的尺寸,這裏假設特徵圖長寬相同。
對應特徵圖的像素,
為特徵圖的通道數,
是卷積層參數,對應卷積核大小、卷積步長(stride)和填充(padding)層數 [1] 
上式以二維卷積核作為例子,一維或三維卷積核的工作方式與之類似。理論上卷積核也可以先翻轉180度,再求解交叉相關,其結果等價於滿足交換律的線性卷積(linear convolution),但這樣做在增加求解步驟的同時並不能為求解參數取得便利,因此線性卷積核使用交叉相關代替了卷積 [4]  [16] 
特殊地,當卷積核是大小
,步長
且不包含填充的單位卷積核時,卷積層內的交叉相關計算等價於矩陣乘法,並由此在卷積層間構建了全連接網絡 [2] 
由單位卷積核組成的卷積層也被稱為網中網(Network-In-Network, NIN)或多層感知器卷積層(multilayer perceptron convolution layer, mlpconv) [27]  。單位卷積核可以在保持特徵圖尺寸的同時減少圖的通道數從而降低卷積層的計算量。完全由單位卷積核構建的卷積神經網絡是一個包含參數共享的多層感知器(Muti-Layer Perceptron, MLP) [27] 
在線性卷積的基礎上,一些卷積神經網絡使用了更為複雜的卷積,包括平鋪卷積(tiled convolution)、反捲積(deconvolution)和擴張卷積(dilated convolution) [2]  。平鋪卷積的卷積核只掃過特徵圖的一部份,剩餘部分由同層的其它卷積核處理,因此卷積層間的參數僅被部分共享,有利於神經網絡捕捉輸入圖像的旋轉不變(shift-invariant)特徵 [28] 反捲積或轉置卷積(transposed convolution)將單個的輸入激勵與多個輸出激勵相連接,對輸入圖像進行放大。由反捲積和向上池化層(up-pooling layer)構成的卷積神經網絡在圖像語義分割(semantic segmentation)領域有應用 [29]  ,也被用於構建卷積自編碼器(Convolutional AutoEncoder, CAE) [30]  。擴張卷積在線性卷積的基礎上引入擴張率以提高卷積核的感受野,從而獲得特徵圖的更多信息 [31]  ,在面向序列數據使用時有利於捕捉學習目標的長距離依賴(long-range dependency)。使用擴張卷積的卷積神經網絡主要被用於自然語言處理(Natrual Language Processing, NLP)領域,例如機器翻譯 [31]  語音識別 [32]  等。
2. 卷積層參數
卷積核中RGB圖像的按0填充 卷積核中RGB圖像的按0填充 [16]
卷積層參數包括卷積核大小、步長和填充,三者共同決定了卷積層輸出特徵圖的尺寸,是卷積神經網絡的超參數 [1]  。其中卷積核大小可以指定為小於輸入圖像尺寸的任意值,卷積核越大,可提取的輸入特徵越複雜 [1] 
卷積步長定義了卷積核相鄰兩次掃過特徵圖時位置的距離,卷積步長為1時,卷積核會逐個掃過特徵圖的元素,步長為n時會在下一次掃描跳過n-1個像素 [33] 
由卷積核的交叉相關計算可知,隨着卷積層的堆疊,特徵圖的尺寸會逐步減小,例如16×16的輸入圖像在經過單位步長、無填充的5×5的卷積核後,會輸出12×12的特徵圖。為此,填充是在特徵圖通過卷積核之前人為增大其尺寸以抵消計算中尺寸收縮影響的方法。常見的填充方法為按0填充和重複邊界值填充(replication padding)。填充依據其層數和目的可分為四類 [33] 
  • 有效填充(valid padding):即完全不使用填充,卷積核只允許訪問特徵圖中包含完整感受野的位置。輸出的所有像素都是輸入中相同數量像素的函數。使用有效填充的卷積被稱為“窄卷積(narrow convolution)”,窄卷積輸出的特徵圖尺寸為(L-f)/s+1。
  • 相同填充/半填充(same/half padding):只進行足夠的填充來保持輸出和輸入的特徵圖尺寸相同。相同填充下特徵圖的尺寸不會縮減但輸入像素中靠近邊界的部分相比於中間部分對於特徵圖的影響更小,即存在邊界像素的欠表達。使用相同填充的卷積被稱為“等長卷積(equal-width convolution)”。
  • 全填充(full padding):進行足夠多的填充使得每個像素在每個方向上被訪問的次數相同。步長為1時,全填充輸出的特徵圖尺寸為L+f-1,大於輸入值。使用全填充的卷積被稱為“寬卷積(wide convolution)”
  • 任意填充(arbitrary padding):介於有效填充和全填充之間,人為設定的填充,較少使用。
帶入先前的例子,若16×16的輸入圖像在經過單位步長的5×5的卷積核之前先進行相同填充,則會在水平和垂直方向填充兩層,即兩側各增加2個像素(
)變為20×20大小的圖像,通過卷積核後,輸出的特徵圖尺寸為16×16,保持了原本的尺寸。
3. 激勵函數(activation function)
卷積層中包含激勵函數以協助表達複雜特徵,其表示形式如下 [1] 
類似於其它深度學習算法,卷積神經網絡通常使用線性整流函數(Rectified Linear Unit, ReLU),其它類似ReLU的變體包括有斜率的ReLU(Leaky ReLU, LReLU)、參數化的ReLU(Parametric ReLU, PReLU)、隨機化的ReLU(Randomized ReLU, RReLU)、指數線性單元(Exponential Linear Unit, ELU)等 [2]  。在ReLU出現以前,Sigmoid函數雙曲正切函數(hyperbolic tangent)也有被使用 [15] 
激勵函數操作通常在卷積核之後,一些使用預激活(preactivation)技術的算法將激勵函數置於卷積核之前 [34]  。在一些早期的卷積神經網絡研究,例如LeNet-5中,激勵函數在池化層之後 [5] 
池化層(pooling layer)
在卷積層進行特徵提取後,輸出的特徵圖會被傳遞至池化層進行特徵選擇和信息過濾。池化層包含預設定的池化函數,其功能是將特徵圖中單個點的結果替換為其相鄰區域的特徵圖統計量。池化層選取池化區域與卷積核掃描特徵圖步驟相同,由池化大小、步長和填充控制 [1] 
1. Lp池化(Lp pooling)
Lp池化是一類受視覺皮層內階層結構啓發而建立的池化模型 [35]  ,其一般表示形式為 [36] 
式中步長
、像素
的含義與卷積層相同,
是預指定參數。當
時,Lp池化在池化區域內取均值,被稱為均值池化(average pooling);當
時,Lp池化在區域內取極大值,被稱為極大池化(max pooling)。均值池化和極大池化是在卷積神經網絡的設計中被長期使用的池化方法,二者以損失特徵圖的部分信息或尺寸為代價保留圖像的背景和紋理信息 [36]  。此外
時的L2池化在一些工作中也有使用 [37] 
2. 隨機/混合池化
混合池化(mixed pooling)和隨機池化(stochastic pooling)是Lp池化概念的延伸。隨機池化會在其池化區域內按特定的概率分佈隨機選取一值,以確保部分非極大的激勵信號能夠進入下一個構築 [38]  。混合池化可以表示為均值池化和極大池化的線性組合 [39] 
有研究表明,相比於均值和極大池化,混合池化和隨機池化具有正則化的功能,有利於避免卷積神經網絡出現過擬合 [2] 
3. 譜池化(spectral pooling)
譜池化是基於FFT的池化方法,可以和FFT卷積一起被用於構建基於FFT的卷積神經網絡 [40]  。在給定特徵圖尺寸
,和池化層輸出尺寸時
,譜池化對特徵圖的每個通道分別進行DFT變換,並從頻譜中心截取n×n大小的序列進行DFT逆變換得到池化結果 [40]  。譜池化有濾波功能,可以在保存輸入特徵的低頻變化信息的同時,調整特徵圖的大小 [40]  。基於成熟的FFT算法,譜池化能夠以很小的計算量完成。
Inception模塊(Inception module)
Inception模塊:原始版本(a),GoogLeNet使用的版本(b-d) Inception模塊:原始版本(a),GoogLeNet使用的版本(b-d) [2]
Inception模塊是對多個卷積層和池化層進行堆疊所得的隱含層構築。具體而言,一個Inception模塊會同時包含多個不同類型的卷積和池化操作,並使用相同填充使上述操作得到相同尺寸的特徵圖,隨後在數組中將這些特徵圖的通道進行疊加並通過激勵函數 [41]  。由於上述做法在一個構築中引入了多個卷積核,因此為簡化計算,Inception模塊通常設計了瓶頸層,首先使用單位卷積核,即NIN結構減少特徵圖的通道數,再進行其它卷積操作 [41]  。Inception模塊最早被應用於GoogLeNet並在ImageNet數據集中取得了成功 [41]  ,並啓發了(或推廣得到了)基於深度可分卷積(depthwise separable convolution)搭建的一系列輕量級卷積神經網絡,包括Xception和MobileNet [42] 
全連接層(fully-connected layer)
卷積神經網絡中的全連接層等價於傳統前饋神經網絡中的隱含層。全連接層位於卷積神經網絡隱含層的最後部分,並只向其它全連接層傳遞信號。特徵圖在全連接層中會失去空間拓撲結構,被展開為向量並通過激勵函數 [1] 
表徵學習觀點,卷積神經網絡中的卷積層和池化層能夠對輸入數據進行特徵提取,全連接層的作用則是對提取的特徵進行非線性組合以得到輸出,即全連接層本身不被期望具有特徵提取能力,而是試圖利用現有的高階特徵完成學習目標。
在一些卷積神經網絡中,全連接層的功能可由全局均值池化(global average pooling)取代 [41]  ,全局均值池化會將特徵圖每個通道的所有值取平均,即若有7×7×256的特徵圖,全局均值池化將返回一個256的向量,其中每個元素都是7×7,步長為7,無填充的均值池化 [41] 

卷積神經網絡輸出層

卷積神經網絡中輸出層的上游通常是全連接層,因此其結構和工作原理與傳統前饋神經網絡中的輸出層相同。對於圖像分類問題,輸出層使用邏輯函數或歸一化指數函數(softmax function)輸出分類標籤 [16]  。在物體識別(object detection)問題中,輸出層可設計為輸出物體的中心座標、大小和分類 [16]  。在圖像語義分割中,輸出層直接輸出每個像素的分類結果 [16] 

卷積神經網絡理論

卷積神經網絡學習範式

監督學習(supervised learning)
卷積神經網絡在監督學習中使用BP框架進行學習,其計算流程在LeCun (1989) 中就已經確定 [5]  ,是最早在BP框架進行學習的深度算法之一。卷積神經網絡中的BP分為三部分,即全連接層與卷積核的反向傳播和池化層的反向通路(backward pass) [1]  [43]  。全連接層的BP計算與傳統的前饋神經網絡相同,卷積層的反向傳播是一個與前向傳播類似的交叉相關計算:
式中
代價函數(cost function)計算的誤差、
激勵函數導數
是學習速率(learning rate),若卷積核的前向傳播使用卷積計算,則反向傳播也對卷積核翻轉以進行卷積運算。卷積神經網絡的誤差函數可以有多種選擇,常見的包括Softmax損失函數(softmax loss)、鉸鏈損失函數(hinge loss)、三重損失函數(triplet loss)等 [2] 
池化層在反向傳播中沒有參數更新,因此只需要根據池化方法將誤差分配到特徵圖的合適位置即可,對極大池化,所有誤差會被賦予到極大值所在位置;對均值池化,誤差會平均分配到整個池化區域 [43] 
卷積神經網絡通常使用BP框架內的隨機梯度下降(Stochastic Gradient Descent, SGD) [44]  和其變體,例如Adam算法(Adaptive moment estimation) [45]  。SGD在每次迭代中隨機選擇樣本計算梯度,在學習樣本充足的情形下有利於信息篩選,在迭代初期能快速收斂,且計算複雜度更小 [44] 
非監督學習(unsupervised learning)
卷積神經網絡最初是面向監督學習問題設計的,但其也發展出了非監督學習範式 [30]  [46]  ,包括卷積自編碼器(Convolutional AutoEncoders, CAE) [47]  、卷積受限玻爾茲曼機(Convolutional Restricted Boltzmann Machines, CRBM)/卷積深度置信網絡(Convolutional Deep Belief Networks, CDBN) [48]  和深度卷積生成對抗網絡(Deep Convolutional Generative Adversarial Networks, DCGAN) [49]  。這些算法也可以視為在非監督學習算法的原始版本中引入卷積神經網絡構築的混合算法。
CAE的構建邏輯與傳統AE類似,首先使用卷積層和池化層建立常規的卷積神經網絡作為編碼器,隨後使用反捲積和向上池化(up-pooling)作為解碼器,以樣本編碼前後的誤差進行學習,並輸出編碼器的編碼結果實現對樣本的維度消減(dimentionality reduction)和聚類(clustering)。在圖像識別問題,例如MNIST中,CAE與其編碼器同樣結構的卷積神經網絡在大樣本時表現相當,但在小樣本問題中具有更好的識別效果 [47] 
CRBM是以卷積層作為隱含層的受限玻爾茲曼機(Boltzmann Machines, RBM),在傳統RBMs的基礎上將隱含層分為多個“組(group)”,每個組包含一個卷積核,卷積核參數由該組對應的所有二元節點共享 [48]  。CDBN是以CRBM作為構築進行堆疊得到的階層式生成模型,為了在結構中提取高階特徵,CDBN加入了概率極大池化層( probabilistic max-pooling layer),和其對應的能量函數。CRBMs和CDBMs使用逐層貪婪算法(greedy layer-wise training)進行學習 [50]  ,並可以使用稀疏正則化(sparsity regularization)技術。在Caltech-101數據的物體識別問題中,一個24-100的兩層CDBN識別準確率持平或超過了很多包含高度特化特徵的分類和聚類算法 [48] 
生成對抗網絡( Generative Adversarial Networks, GAN)可被用於卷積神經網絡的非監督學習,DCGAN從一組概率分佈,即潛空間(latent space)中隨機採樣,並將信號輸入一組完全由轉置卷積核組成的生成器;生成器生成圖像後輸入以卷積神經網絡構成的判別模型,判別模型判斷生成圖像是否是真實的學習樣本。當生成模型能夠使判別模型無法判斷其生成圖像與學習樣本的區別時學習結束。研究表明DCGANs能夠在圖像處理問題中提取輸入圖像的高階層表徵,在CIFAR-10數據的試驗中,對DCGAN判別模型的特徵進行處理後做為其它算法的輸入,能以很高的準確率對圖像進行分類 [49] 

卷積神經網絡優化

正則化(regularization)
參見:正則化
在神經網絡算法的各類正則化方法都可以用於卷積神經網絡以防止過度擬合,常見的正則化方法包括Lp正則化(Lp-norm regularization)、隨機失活(spatial dropout)和隨機連接失活(drop connect)。
Lp正則化在定義損失函數時加入隱含層參數以約束神經網絡的複雜度:
式中
為損失函數,包含弗羅貝尼烏斯範數(Frobenius norm)的求和項被稱為正則化項,其中
是正則化參數,用以確定正則化項的約束力。可證明,當
時,正則化項是凸函數(convex function) [51]  ;特別地,當
時,L2正則化又被成為Tikhonov正則化(Tikhonov regularization) [52] 
時的Lp正則化有利於卷積核權重的稀疏化,但此時的正則化向不是凸函數 [2] 
卷積神經網絡中的空間隨機失活(spatial dropout)是前饋神經網絡中隨機失活理論的推廣。在全連接網絡的學習中,隨機失活會隨機將神經元的輸出歸零,而空間隨機失活在迭代中會隨機選取特徵圖的通道使其歸零 [53]  。進一步地,隨機連接失活直接作用於卷積核,在迭代中使卷積核的部分權重歸零 [54]  。研究表明空間隨機失活和隨機連接失活提升了卷積神經網絡的泛化能力,在學習樣本不足時有利於提升學習表現 [53]  [54] 
分批歸一化(Batch Normalization, BN)
數據的標準化是神經網絡輸入管道中預處理的常見步驟,但在深度網絡中,隨着輸入數據在隱含層內的逐級傳遞,其均值和標準差會發生改變,產生協變漂移(covariate shift)現象 [55]  。協變漂移被認為是深度網絡發生梯度消失(vanishing gradient)的原因之一 [55]  。BN以引入額外學習參數為代價部分解決了此類問題,其策略是在隱含層中首先將特徵標準化,然後使用兩個線性參數將標準化的特徵放大作為新的輸入,神經網絡會在學習過程中更新其BN參數 [55]  。卷積神經網絡中的BN參數與卷積核參數具有相同的性質,即特徵圖中同一個通道的像素共享一組BN參數 [55]  。此外使用BN時卷積層不需要偏差項,其功能由BN參數代替。
包含跳躍連接的殘差塊 包含跳躍連接的殘差塊 [56]
跳躍連接(skip connection)
跳躍連接或短路連接(shortcut connection)來源於循環神經網絡(Recurrent Neural Network, RNN)中的跳躍連接和各類門控算法,是被用於緩解深度結構中梯度消失問題的技術 [56]  。卷積神經網絡中的跳躍連接可以跨越任意數量的隱含層 [56]  ,這裏以相鄰隱含層間的跳躍進行説明:
式中
是特徵圖的轉換系數,當
的尺寸不同時,轉換系數將尺寸更小的特徵圖,通常是
轉換為
的尺寸,確保矩陣元素運算成立 [56]  。當
的輸出值小而
的輸出值大時,卷積層
的輸出近似於等值函數,對該層的特徵傳遞沒有負面影響,因此設定了
層的學習基線,使該層在迭代中至少不會退化。在BP框架內,部分誤差在反向傳播時可以跳過
層直接作用於
層,補償了其在深度結構中逐級傳播造成的梯度損失,因此有利於深度結構的誤差傳播。包含跳躍連接的多個卷積層的組合被稱為殘差塊(residual block),是一些卷積神經網絡算法,例如ResNet的構築單元 [56] 

卷積神經網絡加速

通用加速技術
卷積神經網絡可以使用和其它深度學習算法類似的加速技術以提升運行效率,包括量化(quantization)、遷移學習(transfer learning)等 [2]  。量化即在計算中使用低數值精度以提升計算速度,該技術在一些深度算法中有得到嘗試。對於卷積神經網絡,一個極端的例子是XNOR-Net,即僅由異或門(XNOR)搭建的卷積神經網絡 [57]  。遷移學習一般性的策略是將非標籤數據遷移至標籤數據以提升神經網絡的表現,卷積神經網絡中遷移學習通常為使用在標籤數據下完成學習的卷積核權重初始化新的卷積神經網絡,對非標籤數據進行遷移,或應用於其它標籤數據以縮短學習過程 [58] 
FFT卷積
卷積神經網絡的卷積和池化計算都可以通過FFT轉換至頻率域內進行,此時卷積核權重與BP算法中梯度的FFT能夠被重複利用,逆FFT也只需在輸出結果時使用,降低了計算複雜度 [40]  。此外,作為應用較廣的科學和工程數值計算方法,一些數值計算工具包含了GPU設備的FFT,能提供進一步加速 [40]  。FFT卷積在處理小尺寸的卷積核時可使用Winograd算法降低內存開銷 [59] 
權重稀疏化
在卷積神經網絡中對權重進行稀疏化,能夠減少卷積核的冗餘,降低計算複雜度,使用該技術的構築被稱為稀疏卷積神經網絡(Sparse Convolutional Neural Networks) [60]  。在對ImageNet數據的學習中,一個以90%比率稀疏化的卷積神經網絡的運行速度是同結構傳統卷積神經網絡的2至10倍,而輸出的分類精度僅損失了2% [60] 

卷積神經網絡構築與算法

卷積神經網絡一維構築

時間延遲網絡(Time Delay Neural Network, TDNN)
TDNN構築示意圖 TDNN構築示意圖 [12]
TDNN是一類應用於語音識別問題的一維卷積神經網絡,也是歷史上最早被提出的卷積神經網絡算法之一。這裏以TDNN的原始版本Waibel et al. (1987) [12]  為例進行介紹。
TDNN的學習目標為對FFT變換的3個語音音節/b,d,g/進行分類,其隱含層完全由單位步長,無填充的卷積層組成 [12]  。在文獻中,TDNN的卷積核尺寸使用“延遲(delay)”表述,由尺寸為3的一維卷積核構成的隱含層被定義為“時間延遲為2的隱含層”,即感受野包含無延遲輸入和2個延遲輸入 [12]  。在此基礎上,TDNN有兩個卷積層,時間延遲分別為2和4,神經網絡中每個輸入信號與8個隱含層神經元相連 [12]  。TDNN沒有全連接層,而是將尾端卷積層的輸出直接相加通過激勵函數得到分類結果。按原作,輸入TDNN的預處理數據為15個10毫秒採樣的樣本(frame),每個樣本包含16個通道參數(filterbank coefficients),此時TDNN的結構如下 [12] 
  1. (3)×16×8的卷積層(步長為1,無填充,Sigmoid函數)
  2. (5)×8×3的卷積層(步長為1,無填充,Sigmoid函數)
  3. 對9×3的特徵圖求和輸出
列表中數字的含義為:(卷積核尺寸)×卷積核通道(與輸入數據通道數相同)×卷積核個數。TDNN的輸出層和兩個卷積層均使用Sigmoid函數作為激勵函數。除上述原始版本外,TDNN的後續研究中出現了應用於字符識別 [61]  和物體識別 [62]  的算法,其工作方式是將空間在通道維度展開並使用時間上的一維卷積核,即時間延遲進行學習。
WaveNet
WaveNet構築示意圖 WaveNet構築示意圖 [63]
WaveNet是被用於語音建模的一維卷積神經網絡,其特點是採用擴張卷積和跳躍連接提升了神經網絡對長距離依賴的學習能力。WaveNet面向序列數據設計,其結構和常見的卷積神經網絡有較大差異,這裏按Van Den Oord et al. (2016) [63]  做簡單介紹:
WaveNet以經過量化和獨熱編碼(one-hot encoding)的音頻作為輸入特徵,具體為一個包含採樣和通道的二維數組 [63]  。輸入特徵在WaveNet中首先進入線性卷積核,得到的特徵圖會通過多個擴張卷積塊(dilated stack),每個擴張卷積塊包含一個過濾器(filter)和一個門(gate),兩者都是步長為1,相同填充的線性卷積核,但前者使用雙曲正切函數作為激勵函數,後者使用Sigmoid函數 [64]  。特徵圖從過濾器和門輸出後會做矩陣元素乘法並通過由NIN構建的瓶頸層,所得結果的一部分會由跳躍連接直接輸出,另一部分與進入該擴張卷積塊前的特徵圖進行線性組合進入下一個構築 [64]  。WaveNet的末端部分將跳躍連接和擴張卷積塊的所有輸出相加並通過兩個ReLU-NIN結構,最後由歸一化指數函數輸出結果並使用交叉熵作為損失函數進行監督學習 [63]  [64]  。WaveNet是一個生成模型(generative model),其輸出為每個序列元素相對於其之前所有元素的條件概率,與輸入序列具有相同的維度 [63] 
WaveNet被證實能夠生成接近真實的英文、中文和德文語音 [63]  [65]  。在經過算法和運行效率的改進後,自2017年11月起,WaveNet開始為谷歌的商業應用“谷歌助手(Google Assistant)”提供語音合成 [66] 

卷積神經網絡二維構築

LeNet-5
LeNet-5的構築與特徵可視化 LeNet-5的構築與特徵可視化 [2]
LeNet-5是一個應用於圖像分類問題的卷積神經網絡,其學習目標是從一系列由32×32×1灰度圖像表示的手寫數字中識別和區分0-9。LeNet-5的隱含層由2個卷積層、2個池化層構築和2個全連接層組成,按如下方式構建:
  1. (3×3)×1×6的卷積層(步長為1,無填充),2×2均值池化(步長為2,無填充),tanh激勵函數
  2. (5×5)×6×16的卷積層(步長為1,無填充),2×2均值池化(步長為2,無填充),tanh激勵函數
  3. 2個全連接層,神經元數量為120和84
從現代深度學習的觀點來看,LeNet-5規模很小,但考慮LeCun et al. (1998) [15]  的數值計算條件,LeNet-5在該時期仍具有相當的複雜度 [16]  。LeNet-5使用雙曲正切函數作為激勵函數,使用均方差(Mean Squared Error, MSE)作為誤差函數並對卷積操作進行了修改以減少計算開銷,這些設置在隨後的卷積神經網絡算法中已被更優化的方法取代 [16]  。在現代機器學習庫的範式下,LeNet-5是一個易於實現的算法,這裏提供一個使用TensorFlowKeras的計算例子:
# 導入模塊
import numpy as np
import tensorflow as tf
from tensorflow import keras
import matplotlib.pyplot as plt
# 讀取MNIST數據
mnist = keras.datasets.mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
#    重構數據至4維(樣本,像素X,像素Y,通道)
x_train=x_train.reshape(x_train.shape+(1,))
x_test=x_test.reshape(x_test.shape+(1,))
x_train, x_test = x_train/255.0, x_test/255.0
#     數據標籤
label_train = keras.utils.to_categorical(y_train, 10)
label_test = keras.utils.to_categorical(y_test, 10)
# LeNet-5構築
model = keras.Sequential([
    keras.layers.Conv2D(6, kernel_size=(3, 3), strides=(1, 1), activation='tanh', padding='valid'),
    keras.layers.AveragePooling2D(pool_size=(2, 2), strides=(2, 2), padding='valid'),
    keras.layers.Conv2D(16, kernel_size=(5, 5), strides=(1, 1), activation='tanh', padding='valid'),
    keras.layers.AveragePooling2D(pool_size=(2, 2), strides=(2, 2), padding='valid'),
    keras.layers.Flatten(),
    keras.layers.Dense(120, activation='tanh'),
    keras.layers.Dense(84, activation='tanh'),
    keras.layers.Dense(10, activation='softmax'),
 ])
# 使用SGD編譯模型
model.compile(loss=keras.losses.categorical_crossentropy, optimizer='SGD')
# 學習30個紀元(可依據CPU計算力調整),使用20%數據交叉驗證
records = model.fit(x_train, label_train, epochs=20, validation_split=0.2)
# 預測
y_pred = np.argmax(model.predict(x_test), axis=1)
print("prediction accuracy: {}".format(sum(y_pred==y_test)/len(y_test)))
# 繪製結果
plt.plot(records.history['loss'],label='training set loss')
plt.plot(records.history['val_loss'],label='validation set loss')
plt.ylabel('categorical cross-entropy'); plt.xlabel('epoch')
plt.legend()
該例子使用MNIST數據代替LeCun et al. (1998) [15]  的原始數據,使用交叉熵(categorical cross-entropy)作為損失函數。
ILSVRC中的優勝算法
ILSVRC [22]  為各類應用於計算機視覺的人工智能算法提供了比較的平台,其中有多個卷積神經網絡算法在圖像分類和物體識別任務中獲得優勝,包括AlexNet、ZFNet、VGGNet、GoogLeNet和ResNet,這些算法在ImageNet數據中展現了良好的學習性能,也是卷積神經網絡發展中具有代表意義的算法。
對AlexNet、ZFNet的編程實現與LeNet-5類似,對VGGNet、GoogLeNet和ResNet的編程實現較為繁瑣,一些機器學習庫提供了完整的封裝模型和預學習的權重,這裏提供一些使用TensorFlowKeras的例子:
from tensorflow import keras
from keras import applications
# load model and pre-trained weights
model_vgg16 = applications.VGG16(weights='imagenet', include_top=False)
model_vgg19 = applications.VGG19(weights='imagenet', include_top=False)
model_resnet = applications.ResNet50(weights='imagenet', include_top=False)
model_googlenet = applications.InceptionV3(weights='imagenet', include_top=False)
1. AlexNet
AlexNet構築示意圖 AlexNet構築示意圖 [67]
參見:AlexNet
AlexNet是2012年ILSVRC圖像分類和物體識別算法的優勝者,也是LetNet-5之後受到人工智能領域關注的現代卷積神經網絡算法 [16]  [26]  。AlexNet的隱含層由5個卷積層、3個池化層和3個全連接層組成,按如下方式構建 [68] 
  1. (11×11)×3×96的卷積層(步長為4,無填充,ReLU),3×3極大池化(步長為2、無填充),LRN
  2. (5×5)×96×256的卷積層(步長為1,相同填充,ReLU),3×3極大池化(步長為2、無填充),LRN
  3. (3×3)×256×384的卷積層(步長為1,相同填充,ReLU)
  4. (3×3)×384×384的卷積層(步長為1,相同填充,ReLU)
  5. (3×3)×384×256的卷積層(步長為1,相同填充,ReLU),3×3極大池化(步長為2、無填充)
  6. 3個全連接層,神經元數量為4096、4096和1000
AlexNet在卷積層中選擇ReLU作為激勵函數,使用了隨機失活,和數據增強(data data augmentation)技術 [68]  ,這些策略在其後的卷積神經網絡中被保留和使用 [26]  。AlexNet也是首個基於GPU進行學習的卷積神經網絡,Krizhevsky (2012) 將AlexNet按結構分為兩部分,分別在兩塊GPU設備上運行。此外AlexNet的1-2部分使用了局部響應歸一化(local response normalization, LRN),在2014年後出現的卷積神經網絡中,LRN已由分批歸一化取代 [16]  [56] 
2. ZFNet
ZFNet是2013年ILSVRC圖像分類算法的優勝者,其結構與AlexNet相近,僅將第一個卷積層的卷積核大小調整為7×7、步長減半 [38] 
  1. (7×7)×3×96的卷積層(步長為2,無填充,ReLU),3×3極大池化(步長為2、無填充),LRN
  2. (5×5)×96×256的卷積層(步長為1,相同填充,ReLU),3×3極大池化(步長為2、無填充),LRN
  3. (3×3)×256×384的卷積層(步長為1,相同填充,ReLU)
  4. (3×3)×384×384的卷積層(步長為1,相同填充,ReLU)
  5. (3×3)×384×256的卷積層(步長為1,相同填充,ReLU),3×3極大池化(步長為2、無填充)
  6. 3個全連接層,神經元數量為4096、4096和1000
ZFNet對卷積神經網絡的貢獻不在其構築本身,而在於其原作者通過反捲積考察了ZFNet內部的特徵提取細節,解釋了卷積神經網絡的特徵傳遞規律,即由簡單的邊緣、夾角過渡至更為複雜的全局特徵 [38] 
3. VGGNet
VGGNet構築示意圖 VGGNet構築示意圖 [16]
VGGNet是牛津大學視覺幾何團隊(Visual Geometry Group, VGG)開發的一組卷積神經網絡算法,包括VGG-11、VGG-11-LRN、VGG-13、VGG-16和VGG-19 [69]  [70]  。其中VGG-16是2014年ILSVRC物體識別算法的優勝者,其規模是AlexNet的2倍以上並擁有規律的結構,這裏以VGG-16為例介紹其構築。VGG-16的隱含層由13個卷積層、3個全連接層和5個池化層組成,按如下方式構建:
  1. (3×3)×3×64的卷積層(步長為1,相同填充,ReLU),(3×3)×64×64的卷積層(步長為1,相同填充,ReLU),2×2極大池化(步長為2、無填充)
  2. (3×3)×64×128的卷積層(步長為1,相同填充,ReLU),(3×3)×128×128的卷積層(步長為1,相同填充,ReLU),2×2極大池化(步長為2、無填充)
  3. (3×3)×128×256的卷積層(步長為1,相同填充,ReLU),(3×3)×256×256的卷積層(步長為1,相同填充,ReLU),(3×3)×256×256的卷積層(步長為1,相同填充,ReLU),2×2極大池化(步長為2、無填充)
  4. (3×3)×256×512的卷積層(步長為1,相同填充,ReLU),(3×3)×512×512的卷積層(步長為1,相同填充,ReLU),(3×3)×512×512的卷積層(步長為1,相同填充,ReLU),2×2極大池化(步長為2、無填充)
  5. (3×3)×512×512的卷積層(步長為1,相同填充,ReLU),(3×3)×512×512的卷積層(步長為1,相同填充,ReLU),(3×3)×512×512的卷積層(步長為1,相同填充,ReLU),2×2極大池化(步長為2、無填充)
  6. 3個全連接層,神經元數量為4096、4096和1000
VGGNet構築中僅使用3×3的卷積核並保持卷積層中輸出特徵圖尺寸不變,通道數加倍,池化層中輸出的特徵圖尺寸減半,簡化了神經網絡的拓撲結構並取得了良好效果 [16]  [69] 
4. GoogLeNet
Inception v1構築示意圖 Inception v1構築示意圖 [41]
參見:GoogLeNet
GoogLeNet是2014年ILSVRC圖像分類算法的優勝者,是首個以Inception模塊進行堆疊形成的大規模卷積神經網絡。GoogLeNet共有四個版本:Inception v1、Inception v2、Inception v3、Inception v4 [71]  ,這裏以Inception v1為例介紹。首先,Inception v1的Inception模塊被分為四部分 [41] 
  • N1個(1×1)×C的卷積核
  • B3個(1×1)×C的卷積核(BN,ReLU),N3個(3×3)×96的卷積核(步長為1,相同填充,BN,ReLU)
  • B5個(1×1)×C的卷積核(BN,ReLU),N5個(5×5)×16的卷積核(步長為1,相同填充,BN,ReLU)
  • 3×3的極大池化(步長為1,相同填充),Np個(1×1)×C的卷積核(BN,ReLU)
Inception v1中的Iception模塊 Inception v1中的Iception模塊 [16]
在此基礎上,對3通道的RGB圖像輸入,Inception v1按如下方式構建 [41] 
  1. (7×7)×3×64的卷積層(步長為2,無填充,BN,ReLU),3×3的極大池化(步長為2,相同填充),LRN
  2. (3×3)×64×192的卷積層(步長為1,相同填充,BN,ReLU),LRN,3×3極大池化(步長為2,相同填充)
  3. Inception模塊(N1=64,B3=96,N3=128,B5=16,N5=32,Np=32)
  4. Inception模塊(N1=128,B3=128,N3=192,B5=32,N5=96,Np=64)
  5. 3×3極大池化(步長為2,相同填充)
  6. Inception模塊(N1=192,B3=96,N3=208,B5=16,N5=48,Np=64)
  7. 旁枝:5×5均值池化(步長為3,無填充)
  8. Inception模塊(N1=160,B3=112,N3=224,B5=24,N5=64,Np=64)
  9. Inception模塊(N1=128,B3=128,N3=256,B5=24,N5=64,Np=64)
  10. Inception模塊(N1=112,B3=144,N3=288,B5=32,N5=64,Np=64)
  11. 旁枝:5×5均值池化(步長為3,無填充)
  12. Inception模塊(N1=256,B3=160,N3=320,B5=32,N5=128,Np=128)
  13. Inception模塊(N1=384,B3=192,N3=384,B5=48,N5=128,Np=128)
  14. 全局均值池化,1個全連接層,神經元數量為1000,權重40%隨機失活
GoogLeNet中的Inception模塊啓發了一些更為現代的算法,例如2017年提出的Xception [42]  。Inception v1的另一特色是其隱含層中的兩個旁枝輸出,旁枝和主幹的所有輸出會通過指數歸一化函數得到結果,對神經網絡起正則化的作用 [41] 
5. 殘差神經網絡(Residual Network, ResNet)
ResNet(上),同規模的普通CNN(中)和VGG-19(下)構築的比較 ResNet(上),同規模的普通CNN(中)和VGG-19(下)構築的比較 [56]
參見:殘差網絡
ResNet來自微軟的人工智能團隊Microsoft Research,是2015年ILSVRC圖像分類和物體識別算法的優勝者,其表現超過了GoogLeNet的第三代版本Inception v3 [25]  。ResNet是使用殘差塊建立的大規模卷積神經網絡,其規模是AlexNet的20倍、VGG-16的8倍,在ResNet的原始版本中,其殘差塊由2個卷積層、1個跳躍連接、BN和激勵函數組成,ResNet的隱含層共包含16個殘差塊,按如下方式構建 [56] 
  1. (7×7)×3×64的卷積層(步長為2,無填充,ReLU,BN),3×3的極大池化(步長為2,相同填充)
  2. 3個殘差塊:3×3×64×64卷積層(步長為1,無填充,ReLU,BN),3×3×64×64卷積層(步長為1,無填充)
  3. 1個殘差塊:3×3×64×128(步長為2,無填充,ReLU,BN),3×3×128×128(步長為1,無填充,ReLU,BN)
  4. 3個殘差塊:3×3×128×128(步長為1,無填充,ReLU,BN),3×3×128×128(步長為1,無填充,ReLU,BN)
  5. 1個殘差塊:3×3×128×256(步長為2,無填充,ReLU,BN),3×3×256×256(步長為1,無填充,ReLU,BN)
  6. 5個殘差塊:3×3×256×256(步長為1,無填充,ReLU,BN),3×3×256×256(步長為1,無填充,ReLU,BN)
  7. 1個殘差塊:3×3×256×512(步長為2,無填充,ReLU,BN),3×3×512×512(步長為1,無填充,ReLU,BN)
  8. 2個殘差塊:3×3×512×512(步長為1,無填充,ReLU,BN),3×3×512×512(步長為1,無填充,ReLU,BN)
  9. 全局均值池化,1個全連接層,神經元數量為1000
ResNet受到關注的原因是其在隱含層中通過跳躍連接構建的殘差塊。殘差塊的堆疊緩解了深度神經網絡普遍出現的梯度消失(gradient vanishing)問題,被其後的諸多算法使用,包括GoogLeNet中的Inception v4 [71] 
在ResNet的基礎上諸多研究嘗試了改進算法,包括預激活ResNet(preactivation ResNet)、寬ResNet(wide ResNet)、隨機深度ResNets(Stochastic Depth ResNets, SDR)和RiR(ResNet in ResNet)等 [2]  。預激活ResNet將激勵函數和BN計算置於卷積核之前以提升學習表現和更快的學習速度 [34]  ;寬ResNet使用更多通道的卷積核以提升原ResNet的寬度,並嘗試在學習中引入隨機失活等正則化技術 [72]  ;SDR在學習中隨機使卷積層失活並用等值函數取代以達到正則化的效果 [73]  ;RiR使用包含跳躍連接和傳統卷積層的並行結構建立廣義殘差塊,對ResNet進行了推廣 [74]  。上述改進算法都報告了比傳統ResNet更好的學習表現,但尚未在使用基準數據的大規模比較,例如ILSVRC中得到驗證。

卷積神經網絡全卷積構築

部分計算機視覺問題,例如圖像語義分割(semantic segmentation)和超分辨率圖像生成(super resolution imaging)要求輸入與輸出均為格點數據且輸入端的特徵圖大小可變。全卷積構築為解決上述問題而設計的神經網絡算法。
SRCNN(Super Resolution CNN)
SRCNN構築示意圖 SRCNN構築示意圖 [75]
SRCNN是最早被提出的全卷積構築之一,被應用於超分辨率圖像生成。其構築分為3部分:特徵提取端、非線性映射和特徵重構,其中特徵提取端將低分辨率輸入按插值算法升採樣至目標分辨率並使用9x9的卷積核提取特徵;非線性映射是一個瓶頸層,進行低分辨率特徵和高分辨率特徵的線性變換。特徵重構端是一個轉置卷積,將高分辨率特徵重構是目標分辨率並輸出結果 [75] 
UNet
UNet構築示意圖 UNet構築示意圖 [76]
UNet是一個包含4層降採樣、4層升採樣和類似跳躍連接結構的全卷積網絡,其特點是卷積層在降採樣和升採樣部分完全對稱,且降採樣端的特徵圖可以跳過深層採樣,被拼接至對應的升採樣端 [76]  。UNet在其提出之初主要被用於醫學影像的語義分割 [76]  ,並在之後的應用研究中被擴展至3維視頻數據的語義分割 [77]  和超分辨率圖像生成 [78]  。UNet是一個泛用性較好的全卷積網絡,也衍生出了一些面向特定問題的改進版本,例如在降採樣端引入殘差塊構築的HDense-UNet [79]  、包含深監督設計和模型剪枝的UNet++等 [80] 

卷積神經網絡性質

卷積神經網絡連接性

卷積神經網絡中卷積層間的連接被稱為稀疏連接(sparse connection),即相比於前饋神經網絡中的全連接,卷積層中的神經元僅與其相鄰層的部分,而非全部神經元相連。具體地,卷積神經網絡第l層特徵圖中的任意一個像素(神經元)都僅是l-1層中卷積核所定義的感受野內的像素的線性組合 [1]  。卷積神經網絡的稀疏連接具有正則化的效果,提高了網絡結構的穩定性和泛化能力,避免過度擬合,同時,稀疏連接減少了權重參數的總量,有利於神經網絡的快速學習,和在計算時減少內存開銷 [1] 
卷積神經網絡中特徵圖同一通道內的所有像素共享一組卷積核權重係數,該性質被稱為權重共享(weight sharing)。權重共享將卷積神經網絡和其它包含局部連接結構的神經網絡相區分,後者雖然使用了稀疏連接,但不同連接的權重是不同的 [1]  。權重共享和稀疏連接一樣,減少了卷積神經網絡的參數總量,並具有正則化的效果 [1] 
在全連接網絡視角下,卷積神經網絡的稀疏連接和權重共享可以被視為兩個無限強的先驗(pirior),即一個隱含層神經元在其感受野之外的所有權重係數恆為0(但感受野可以在空間移動);且在一個通道內,所有神經元的權重係數相同 [1] 

卷積神經網絡表徵學習

基於反捲積和向上池化的卷積神經網絡特徵重構 基於反捲積和向上池化的卷積神經網絡特徵重構 [81]
作為深度學習的代表算法,卷積神經網絡具有表徵學習能力,即能夠從輸入信息中提取高階特徵。具體地,卷積神經網絡中的卷積層和池化層能夠響應輸入特徵的平移不變性,即能夠識別位於空間不同位置的相近特徵。能夠提取平移不變特徵是卷積神經網絡在計算機視覺問題中得到應用的原因之一。
平移不變特徵在卷積神經網絡內部的傳遞具有一般性的規律。在圖像處理問題中,卷積神經網絡前部的特徵圖通常會提取圖像中有代表性的高頻和低頻特徵;隨後經過池化的特徵圖會顯示出輸入圖像的邊緣特徵(aliasing artifacts);當信號進入更深的隱含層後,其更一般、更完整的特徵會被提取 [81]  反捲積和反池化(un-pooling)可以對卷積神經網絡的隱含層特徵進行可視化 [81]  。一個成功的卷積神經網絡中,傳遞至全連接層的特徵圖會包含與學習目標相同的特徵,例如圖像分類中各個類別的完整圖像 [81] 

卷積神經網絡生物學相似性

卷積神經網絡從貓視覺皮層電生理研究中獲得啓發,通過仿造生物的視知覺機制來構建模型。卷積網絡中卷積核的設定就對應着視覺神經系統中視覺皮層對視覺空間的組織。視覺皮層細胞從視網膜上的光感受器接收信號,但單個視覺皮層細胞不會接收光感受器的所有信號,而是隻接受其所支配的刺激區域,即感受野內的信號。只有感受野內的刺激才能夠激活該神經元。多個視覺皮層細胞通過系統地將感受野疊加,完整接收視網膜傳遞的信號並建立視覺空間 [136] 
卷積神經網絡中基於感受野設定的稀疏連接有明確對應的神經科學過程——視覺神經系統中視覺皮層(visual cortex)對視覺空間(visual space)的組織 [82]  [4]  。視覺皮層細胞從視網膜上的光感受器接收信號,但單個視覺皮層細胞不會接收光感受器的所有信號,而是隻接受其所支配的刺激區域,即感受野內的信號。只有感受野內的刺激才能夠激活該神經元。多個視覺皮層細胞通過系統地將感受野疊加完整接收視網膜傳遞的信號並建立視覺空間 [26]  [82]  。事實上機器學習的“感受野”一詞即來自其對應的生物學研究 [9]  。卷積神經網絡中的權重共享的性質在生物學中沒有明確證據,但在對與大腦學習密切相關的目標傳播(target-propagation, TP)和反饋調整(feedback alignment, FA) 機制的研究中,權重共享提升了學習效果 [83] 

卷積神經網絡應用

卷積神經網絡計算機視覺

圖像識別(image classification)
參見:圖像識別
基於卷積神經網絡的鳥類識別 基於卷積神經網絡的鳥類識別 [84]
卷積神經網絡長期以來是圖像識別領域的核心算法之一,並在學習數據充足時有穩定的表現 [85]  。對於一般的大規模圖像分類問題,卷積神經網絡可用於構建階層分類器(hierarchical classifier) [86]  ,也可以在精細分類識別(fine-grained recognition)中用於提取圖像的判別特徵以供其它分類器進行學習 [87]  。對於後者,特徵提取可以人為地將圖像的不同部分分別輸入卷積神經網絡 [84]  ,也可以由卷積神經網絡通過非監督學習自行提取 [88] 
CNN-RNN的字符識別和序列標註 CNN-RNN的字符識別和序列標註 [89]
對於字符檢測(text detection)和字符識別(text recognition)/光學字符讀取,卷積神經網絡被用於判斷輸入的圖像是否包含字符,並從中剪取有效的字符片斷 [90-91]  。其中使用多個歸一化指數函數直接分類的卷積神經網絡被用於谷歌街景圖像的門牌號識別 [92]  、包含條件隨機場(Conditional Random Fields, CRF)圖模型的卷積神經網絡可以識別圖像中的單詞 [93]  ,卷積神經網絡與循環神經網絡(Recurrent Neural Network, RNN)相結合可以分別從圖像中提取字符特徵和進行序列標註(sequence labelling) [89] 
物體識別(object recognition)
卷積神經網絡可以通過三類方法進行物體識別:滑動窗口(sliding window)、選擇性搜索(selective search)和YOLO(You Only Look Once) [2]  。滑動窗口出現最早,並被用於手勢識別等問題 [19]  ,但由於計算量大,已經被後兩者淘汰 [2]  。選擇性搜索對應區域卷積神經網絡(Region-based CNN),該算法首先通過一般性步驟判斷一個窗口是否可能有目標物體,並進一步將其輸入複雜的識別器中 [94]  。YOLO算法將物體識別定義為對圖像中分割框內各目標出現概率的迴歸問題,並對所有分割框使用同一個卷積神經網絡輸出各個目標的概率,中心座標和框的尺寸 [95]  。基於卷積神經網絡的物體識別已被應用於自動駕駛 [96]  和交通實時監測系統 [97] 
此外,卷積神經網在圖像語義分割(semantic segmentation) [29]  [98]  、場景分類(scene labeling) [99-100]  和圖像顯著度檢測(Visual Saliency Detection) [101]  等問題中也有應用,其表現被證實超過了很多使用特徵工程的分類系統。
行為認知(action recognition)
在針對圖像的行為認知研究中,卷積神經網絡提取的圖像特徵被應用於行為分類(action classification) [102-103]  。在視頻的行為認知問題中,卷積神經網絡可以保持其二維結構並通過堆疊連續時間片段的特徵進行學習 [104]  、建立沿時間軸變化的3D卷積神經網絡 [105]  、或者逐幀提取特徵並輸入循環神經網絡 [106]  ,三者在特定問題下都可以表現出良好的效果。
姿態估計(pose estimation)
姿態估計在圖像中將人的姿態用座標的形式輸出,最早在姿態估計中使用的卷積神經網絡是DeepPose,DeepPose的結構類似於AlexNet,以完整的圖片作為輸出,按監督學習的方式訓練並輸出座標點 [107]  。此外也有關於局部姿態估計的卷積神經網絡應用研究 [108]  。對於視頻數據,有研究使用滑動窗口的卷積神經網絡進行逐幀的姿態估計 [109] 
神經風格轉換:內容(左下)、風格(左上)、輸出(右) 神經風格轉換:內容(左下)、風格(左上)、輸出(右) [110]
神經風格遷移(neural style transfer)
神經風格遷移是卷積神經網絡的一項特殊應用,其功能是在給定的兩份圖像的基礎上創作第三份圖像,並使其內容和風格與給定的圖像儘可能地接近 [111] 
神經風格遷移在本質上不是一個機器學習問題,而是對卷積神經網絡表徵學習能力的應用。具體地,神經風格遷移在預學習的卷積神經網絡中提取高階層表徵,通過表徵定義內容(content loss)和風格(style loss)損失,並在第三份圖像(通常初始化為白噪聲)中對內容和風格的線性組合進行逐格點優化以輸出結果 [111] 
神經風格遷移除進行藝術創作外,也被用於照片的後處理 [112]  和超分辨率圖像生成 [113] 

卷積神經網絡自然語言處理

總體而言,由於受到窗口或卷積核尺寸的限制,無法很好地學習自然語言數據的長距離依賴和結構化語法特徵,卷積神經網絡在自然語言處理(Natural Language Processing, NLP)中的應用要少於循環神經網絡,且在很多問題中會在循環神經網絡的構架上進行設計,但也有一些卷積神經網絡算法在多個NLP主題中取得成功 [2] 
語音處理(speech processing)領域,卷積神經網絡的表現被證實優於隱馬爾可夫模型(Hidden Markov Model, HMM)、高斯混合模型(Gaussian Mixture Model, GMM )和其它一些深度算法 [114-115]  。有研究使用卷積神經網絡和HMM的混合模型進行語音處理,模型使用了小的卷積核並將替池化層用全連接層代替以提升其學習能力 [116]  。卷積神經網絡也可用於語音合成(speech synthesis)和語言建模(language modeling),例如WaveNet使用卷積神經網絡構建的生成模型輸出語音的條件概率,並採樣合成語音 [63]  。卷積神經網絡與長短記憶模型(Long Short Term Memory model, LSTM)相結合可以很好地對輸入句子進行補全 [117]  。其它有關的工作包括genCNN、ByteNet等 [31]  [118] 

卷積神經網絡其它

物理學
使用CNN提取噴流圖特徵 使用CNN提取噴流圖特徵 [119]
卷積神經網絡在包含大數據問題的物理學研究中有得到關注。在高能物理學中,卷積神經網絡被用於粒子對撞機(particle colliders)輸出的噴流圖(jet image)的分析和特徵學習,有關研究包括夸克(quark)/膠子(gluon)分類 [120] W玻色子(W boson)識別 [119]  和中微子相互作用(neutrino interaction)研究 [121]  等。卷積神經網絡在天體物理學中也有應用,有研究使用卷積神經網絡對天文望遠鏡圖像進行星系形態學(galaxy morphology)分析 [122]  和提取星系模型(galactic model)參數 [123]  。利用遷移學習技術,預訓練的卷積神經網絡可以對LIGO(Laser Interferometer Gravitational-wave Observatory)數據中的噪聲(glitch)進行檢測,為數據的預處理提供幫助 [124] 
遙感科學
卷積神經網絡在遙感科學,尤其是衞星遙感中有得到應用,並被認為在解析遙感圖像的幾何、紋理和空間分佈特徵時,有計算效率和分類準確度方面的優勢 [125]  。依據遙感圖像的來源和目的,卷積神經網絡被用於下墊面使用和類型改變(land use/land cover change) 研究 [67]  [126]  以及物理量,例如海冰覆蓋率(sea-ice concentration)的遙感反演 [127]  。此外卷積神經網絡被用於遙感圖像的物體識別 [128]  和圖像語義分割 [129]  ,後兩者是直接的計算機視覺問題,這裏不再贅述。
大氣科學
大氣科學中,卷積神經網絡被用於數值模式格點輸出的後處理問題,包括統計降尺度(Statistical Downscaling, SD)、預報校準、極端天氣檢測等。
基於UNet的統計降尺度(降水)與BCSD和台站觀測的比較。 基於UNet的統計降尺度(降水)與BCSD和台站觀測的比較。 [130]
在統計降尺度方面,以SRCNN、UNet為代表的全卷積網絡可以將插值到高分辨率的(低分辨率)原始氣象數據和高分辨率的數字高程模型(Degital Elevation Model, DEM)作為輸入,並輸出高分辨率的氣象數據,其準確率超過了傳統的空間分解誤差訂正(Bias Corrected Spatial Disaggregation, BCSD)方法 [130-132] 
在極端天氣檢測方面,仿AlexNet結構的卷積神經網絡在監督學習半監督學習中被證實能以很高的準確度識別氣候模式輸出和再分析數據(reanalysis data)中的熱帶氣旋(tropical cyclones)、大氣層河流(atmospheric rivers)和鋒面(weather fronts)現象 [133-134] 
包含卷積神經網絡的編程模塊
現代主流的機器學習庫和界面,包括TensorFlowKeras、Thenao、Microsoft-CNTK等都可以運行卷積神經網絡算法。此外一些商用數值計算軟件,例如MATLAB也有卷積神經網絡的構建工具可用 [135] 
參考資料
  • 1.    Goodfellow, I., Bengio, Y., Courville, A..Deep learning (Vol. 1).Cambridge:MIT press,2016:326-366
  • 2.    Gu, J., Wang, Z., Kuen, J., Ma, L., Shahroudy, A., Shuai, B., Liu, T., Wang, X., Wang, L., Wang, G. and Cai, J., 2015. Recent advances in convolutional neural networks. arXiv preprint arXiv:1512.07108.
  • 3.    Zhang, W., 1988. Shift-invariant pattern recognition neural network and its optical architecture. In Proceedings of annual conference of the Japan Society of Applied Physics.
  • 4.    LeCun, Y. and Bengio, Y., 1995. Convolutional networks for images, speech, and time series. The handbook of brain theory and neural networks, 3361(10), 1995.
  • 5.    LeCun, Y., Boser, B., Denker, J.S., Henderson, D., Howard, R.E., Hubbard, W. and Jackel, L.D., 1989. Backpropagation applied to handwritten zip code recognition. Neural computation, 1(4), pp.541-551.
  • 6.    福島邦彥 - 研究 - ネオコグニトロンによるパターン認識  .ファジィシステム研究所[引用日期2018-11-03]
  • 7.    福島邦彥, 1979. コグニトロンのパターン分離能力の向上. 電子情報通信學會論文志 A, 62(10), 650-657.
  • 8.    福島邦彥, 1979. 位置ずれに影響されないパターン認識機構の神経迴路モデル―ネオコグニトロン―. 電子情報通信學會論文志 A, 62(10), 658-665.
  • 9.    Fukushima, K., 1980. Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position. Biological Cybernetics, 36(4), 193-202.
  • 10.    Schmidhuber, J., 2015. Deep learning in neural networks: An overview. Neural networks, 61, 85-117.
  • 11.    LeCun, Y., Kavukcuoglu, K. and Farabet, C., 2010. Convolutional networks and applications in vision. In ISCAS(Vol. 2010, pp. 253-256).
  • 12.    Waibel, A., 1987. Phoneme recognition using time-delay neural networks. Meeting of the Institute of Electrical, Information and Communication Engineers (IEICE). Tokyo, Japan.
  • 13.    Waibel, A., Hanazawa, T., Hinton, G., Shikano, K. and Lang, K., 1989. Phoneme recognition using time-delay neural networks, IEEE Transactions on Acoustics, Speech, and Signal Processing, 37(3), pp. 328-339.
  • 14.    Rumelhart, D.E., Hinton, G.E. and Williams, R.J., 1986. Learning representations by back-propagating errors. nature, 323(6088), p.533.
  • 15.    LeCun, Y., Bottou, L., Bengio, Y. and Haffner, P., 1998. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11), pp.2278-2324.
  • 16.    Ng, A., Kian, K. and Younes, B. Convolutional Neural Networks, Deep learning.  .Coursera and deeplearning.ai.2018[引用日期2018-10-27]
  • 17.    Simard, P.Y., Steinkraus, D. and Platt, J.C., 2003. Best practices for convolutional neural networks applied to visual document analysis. In IAPR International Conference on Document Analysis and Recognition, ICDAR (p. 958). IEEE.
  • 18.    Garcia, C. and Delakis, M., 2004. Convolutional face finder: A neural architecture for fast and robust face detection. IEEE Transactions on pattern analysis and machine intelligence, 26(11), 1408-1423.
  • 19.    Nowlan, S. J. and Platt, J. C., 1995. A convolutional neural network hand tracker. Advances in neural information processing systems, 901-908.
  • 20.    Hinton, G.E. and Salakhutdinov, R.R., 2006. Reducing the dimensionality of data with neural networks. science, 313(5786), pp.504-507.
  • 21.    Large Scale Visual Recognition Challenge 2012 (ILSVRC2012)  .ImageNet.2012[引用日期2018-11-03]
  • 22.    Russakovsky, O., Deng, J., Su, H., Krause, J., Satheesh, S., Ma, S., Huang, Z., Karpathy, A., Khosla, A., Bernstein, M. and Berg, A.C., 2015. Imagenet large scale visual recognition challenge. International Journal of Computer Vision, 115(3), pp.211-252.
  • 23.    Large Scale Visual Recognition Challenge 2013 (ILSVRC2013)  .ImageNet.2013[引用日期2018-11-03]
  • 24.    Large Scale Visual Recognition Challenge 2014 (ILSVRC2014)  .ImageNet.2014[引用日期2018-11-03]
  • 25.    Large Scale Visual Recognition Challenge 2015 (ILSVRC2015)  .ImageNet.2015[引用日期2018-11-03]
  • 26.    邱錫鵬 著,神經網絡與深度學習,第五章 卷積神經網絡  .Github Inc..2018[引用日期2018-11-16]
  • 27.    Lin, M., Chen, Q., and Yan, S., 2014. Network in network. In: Proceedings of the International Conference on Learning Representations (ICLR).
  • 28.    Ngiam, J., Chen, Z., Chia, D., Koh, P.W., Le, Q.V. and Ng, A.Y., 2010. Tiled convolutional neural networks. In Advances in neural information processing systems (pp. 1279-1287).
  • 29.    Noh, H., Hong, S. and Han, B., 2015. Learning deconvolution network for semantic segmentation. In Proceedings of the IEEE international conference on computer vision (pp. 1520-1528).
  • 30.    Huang, F.J., Boureau, Y.L. and LeCun, Y., 2007. Unsupervised learning of invariant feature hierarchies with applications to object recognition. In Computer Vision and Pattern Recognition, 2007. CVPR'07. IEEE Conference on (pp. 1-8). IEEE.
  • 31.    Kalchbrenner, N., Espeholt, L., Simonyan, K., Oord, A.V.D., Graves, A. and Kavukcuoglu, K., 2016. Neural machine translation in linear time. arXiv preprint arXiv:1610.10099.
  • 32.    Sercu, T. and Goel, V., 2016. Dense prediction on sequences with time-dilated convolutions for speech recognition. arXiv preprint arXiv:1611.09288.
  • 33.    Dumoulin, V. and Visin, F., 2016. A guide to convolution arithmetic for deep learning. arXiv preprint arXiv:1603.07285.
  • 34.    He, K., Zhang, X., Ren, S. and Sun, J., 2016. Identity mappings in deep residual networks. In European conference on computer vision (pp. 630-645). Springer, Cham.
  • 35.    Hyvärinen, A. and Köster, U., 2007. Complex cell pooling and the statistics of natural images. Network: Computation in Neural Systems, 18(2), pp.81-100.
  • 36.    Estrach, J.B., Szlam A. and LeCun, Y., 2014. Signal recovery from pooling representations. In: Proceedings of the International Conference on Machine Learning (ICML), pp. 307–315.
  • 37.    Cahill, J., Casazza, P.G., Peterson, J. and Woodland, L., 2013. Phase retrieval by projections. arXiv preprint arXiv:1305.6226.
  • 38.    Zeiler, M.D. and Fergus, R., 2013. Stochastic pooling for regularization of deep convolutional neural networks. arXiv preprint arXiv:1301.3557.
  • 39.    Yu, D., Wang, H., Chen, P. and Wei, Z., 2014. Mixed pooling for convolutional neural networks. In International Conference on Rough Sets and Knowledge Technology (pp. 364-375). Springer, Cham.
  • 40.    Mathieu, M., Henaff, M. and LeCun, Y., 2013. Fast training of convolutional networks through ffts. arXiv preprint arXiv:1312.5851.
  • 41.    Szegedy, C., Liu, W., Jia, Y., Sermanet, P., Reed, S., Anguelov, D., Erhan, D., Vanhoucke, V. and Rabinovich, A., 2015. Going deeper with convolutions. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 1-9).
  • 42.    Chollet, F., 2017. Xception: Deep learning with depthwise separable convolutions. arXiv preprint, pp.1610-02357.
  • 43.    UFLDL Tutorial - Convolutional Neural Network  .Deep Learning, Computer Science Department, Stanford University[引用日期2018-11-03]
  • 44.    Bottou, L., Curtis, F.E. and Nocedal, J., 2018. Optimization methods for large-scale machine learning. SIAM Review, 60(2), pp.223-311.
  • 45.    Kingma, D.P. and Ba, J., 2014. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980.
  • 46.    Jarrett, K., Kavukcuoglu, K. and LeCun, Y., 2009. What is the best multi-stage architecture for object recognition?. In Computer Vision, 2009 IEEE 12th International Conference on (pp. 2146-2153). IEEE.
  • 47.    Turchenko, V., Chalmers, E. and Luczak, A., 2017. A Deep Convolutional Auto-Encoder with Pooling-Unpooling Layers in Caffe. arXiv preprint arXiv:1701.04949.
  • 48.    Lee, H., Grosse, R., Ranganath, R. and Ng, A.Y., 2009. Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations. In Proceedings of the 26th annual international conference on machine learning (pp. 609-616). ACM.
  • 49.    Radford, A., Metz, L. and Chintala, S., 2015. Unsupervised representation learning with deep convolutional generative adversarial networks. arXiv preprint arXiv:1511.06434.
  • 50.    Bengio, Y., Lamblin, P., Popovici, D. and Larochelle, H., 2007. Greedy layer-wise training of deep networks. In Advances in neural information processing systems (pp. 153-160).
  • 51.    Hinton, G.E., Srivastava, N., Krizhevsky, A., Sutskever, I. and Salakhutdinov, R.R., 2012. Improving neural networks by preventing co-adaptation of feature detectors. arXiv preprint arXiv:1207.0580.
  • 52.    Tikhonov, A.N., 1943. On the stability of inverse problems. In Dokl. Akad. Nauk SSSR (Vol. 39, pp. 195-198).
  • 53.    Tompson, J., Goroshin, R., Jain, A., LeCun, Y. and Bregler, C., 2015. Efficient object localization using convolutional networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 648-656).
  • 54.    Wan, L., Zeiler, M., Zhang, S., Le Cun, Y. and Fergus, R., 2013. Regularization of neural networks using dropconnect. In International Conference on Machine Learning (pp. 1058-1066).
  • 55.    Ioffe, S. and Szegedy, C., 2015. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167.
  • 56.    He, K., Zhang, X., Ren, S. and Sun, J., 2016. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 770-778).
  • 57.    Rastegari, M., Ordonez, V., Redmon, J. and Farhadi, A., 2016. Xnor-net: Imagenet classification using binary convolutional neural networks. In European Conference on Computer Vision (pp. 525-542). Springer, Cham.
  • 58.    Hoo-Chang, S., Roth, H.R., Gao, M., Lu, L., Xu, Z., Nogues, I., Yao, J., Mollura, D. and Summers, R.M., 2016. Deep convolutional neural networks for computer-aided detection: CNN architectures, dataset characteristics and transfer learning. IEEE transactions on medical imaging, 35(5), p.1285.
  • 59.    Lavin, A. and Gray, S., 2016. Fast algorithms for convolutional neural networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 4013-4021).
  • 60.    Liu, B., Wang, M., Foroosh, H., Tappen, M. and Pensky, M., 2015. Sparse convolutional neural networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 806-814).
  • 61.    Jaeger, S., Manke, S., Reichert, J. and Waibel, A., 2001. Online handwriting recognition: the NPen++ recognizer. International Journal on Document Analysis and Recognition, 3(3), pp.169-180.
  • 62.    Wöhler, C. and Anlauf, J.K., 2001. Real-time object recognition on image sequences with the adaptable time delay neural network algorithm—applications for autonomous vehicles. Image and Vision Computing, 19(9-10), pp.593-618.
  • 63.    Van Den Oord, A., Dieleman, S., Zen, H., Simonyan, K., Vinyals, O., Graves, A., Kalchbrenner, N., Senior, A.W. and Kavukcuoglu, K., 2016. WaveNet: A generative model for raw audio. In SSW (p. 125).
  • 64.    A TensorFlow implementation of DeepMind's WaveNet paper  .Github Inc..2018-4-6[引用日期2018-11-14]
  • 65.    Coldewey, D. Google's WaveNet uses neural nets to generate eerily convincing speech and music   .TechCrunch.2016-09-09[引用日期2018-11-14]
  • 66.    Martin, T. Try the all-new Google Assistant voices right now.  .CNET.2018-5-9[引用日期2018-11-14]
  • 67.    Han, X., Zhong, Y., Cao, L. and Zhang, L., 2017. Pre-trained AlexNet architecture with pyramid pooling and supervision for high spatial resolution remote sensing image scene classification. Remote Sensing, 9(8), p.848.
  • 68.    Krizhevsky, A., Sutskever, I. and Hinton, G.E., 2012. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems (pp. 1097-1105).
  • 69.    Simonyan, K. and Zisserman, A., 2014. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556.
  • 70.    Tsang, SH. Review: VGGNet — 1st Runner-Up (Image Classification), Winner (Localization) in ILSVRC 2014  .Coinmonks, A Medium Corporation.2018-8-22[引用日期2018-11-14]
  • 71.    Szegedy, C., Ioffe, S., Vanhoucke, V. and Alemi, A.A., 2017. Inception-v4, inception-resnet and the impact of residual connections on learning. In AAAI (Vol. 4, p. 12).
  • 72.    Zagoruyko, S. and Komodakis, N., 2016. Wide residual networks. In: Proceedings of the British Machine Vision Conference (BMVC), pp. 87.1–87.12.
  • 73.    Huang, G., Sun, Y., Liu, Z., Sedra, D. and Weinberger, K.Q., 2016. Deep networks with stochastic depth. In European Conference on Computer Vision (pp. 646-661). Springer, Cham.
  • 74.    Targ, S., Almeida, D. and Lyman, K., 2016. Resnet in Resnet: generalizing residual architectures. arXiv preprint arXiv:1603.08029.
  • 75.    Dong, C., Loy, C.C., He, K. and Tang, X., 2015. Image super-resolution using deep convolutional networks. IEEE transactions on pattern analysis and machine intelligence, 38(2), pp.295-307.
  • 76.    Ronneberger, O., Fischer, P. and Brox, T., 2015, October. U-net: Convolutional networks for biomedical image segmentation. In International Conference on Medical image computing and computer-assisted intervention (pp. 234-241). Springer, Cham.
  • 77.    Wang, C., MacGillivray, T., Macnaught, G., Yang, G. and Newby, D., 2018. A two-stage 3D Unet framework for multi-class segmentation on full resolution image. arXiv preprint arXiv:1804.04341.
  • 78.    Wu, S., Xu, J., Tai, Y.W. and Tang, C.K., 2018. Deep high dynamic range imaging with large foreground motions. In Proceedings of the European Conference on Computer Vision (ECCV) (pp. 117-132).
  • 79.    Li, X., Chen, H., Qi, X., Dou, Q., Fu, C.W. and Heng, P.A., 2018. H-DenseUNet: hybrid densely connected UNet for liver and tumor segmentation from CT volumes. IEEE transactions on medical imaging, 37(12), pp.2663-2674.
  • 80.    Zhou, Z., Siddiquee, M.M.R., Tajbakhsh, N. and Liang, J., 2018. Unet++: A nested u-net architecture for medical image segmentation. In Deep Learning in Medical Image Analysis and Multimodal Learning for Clinical Decision Support (pp. 3-11). Springer, Cham.
  • 81.    Zeiler, M.D. and Fergus, R., 2014. Visualizing and understanding convolutional networks. In European conference on computer vision (pp. 818-833). Springer, Cham.
  • 82.    Hubel, D.H. and Wiesel, T.N., 1962. Receptive fields, binocular interaction and functional architecture in the cat's visual cortex. The Journal of physiology, 160(1), pp.106-154.
  • 83.    Bartunov, S., Santoro, A., Richards, B., Marris, L., Hinton, G.E. and Lillicrap, T., 2018. Assessing the scalability of biologically-motivated deep learning algorithms and architectures. In Advances in Neural Information Processing Systems (pp. 9389-9399).
  • 84.    Branson, S., Van Horn, G., Belongie, S. and Perona, P., 2014. Bird species categorization using pose normalized deep convolutional nets. arXiv preprint arXiv:1406.2952.
  • 85.    Egmont-Petersen, M., de Ridder, D. and Handels, H., 2002. Image processing with neural networks—a review. Pattern recognition, 35(10), pp.2279-2301.
  • 86.    Srivastava, N. and Salakhutdinov, R.R., 2013. Discriminative transfer learning with tree-based priors. In Advances in Neural Information Processing Systems (pp. 2094-2102).
  • 87.    Wang, Z., Wang, X. and Wang, G., 2018. Learning fine-grained features via a CNN tree for large-scale classification. Neurocomputing, 275, pp.1231-1240.
  • 88.    Krause, J., Gebru, T., Deng, J., Li, L.J. and Fei-Fei, L., 2014. Learning features and parts for fine-grained recognition. In Pattern Recognition (ICPR), 2014 22nd International Conference on (pp. 26-33). IEEE.
  • 89.    He, P., Huang, W., Qiao, Y., Loy, C.C. and Tang, X., 2016. Reading Scene Text in Deep Convolutional Sequences. In AAAI (Vol. 16, pp. 3501-3508).
  • 90.    Zhang, C., Yao, C., Shi, B. and Bai, X., 2015. Automatic discrimination of text and non-text natural images. In Document Analysis and Recognition (ICDAR), 2015 13th international conference on (pp. 886-890). IEEE.
  • 91.    Delakis, M. and Garcia, C., 2008. text Detection with Convolutional Neural Networks. In VISAPP (2) (pp. 290-294).
  • 92.    Goodfellow, I.J., Bulatov, Y., Ibarz, J., Arnoud, S. and Shet, V., 2013. Multi-digit number recognition from street view imagery using deep convolutional neural networks. arXiv preprint arXiv:1312.6082.
  • 93.    Jaderberg, M., Simonyan, K., Vedaldi, A. and Zisserman, A., 2014. Deep structured output learning for unconstrained text recognition. arXiv preprint arXiv:1412.5903.
  • 94.    Girshick, R., Donahue, J., Darrell, T. and Malik, J., 2014. Rich feature hierarchies for accurate object detection and semantic segmentation. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 580-587).
  • 95.    Redmon, J., Divvala, S., Girshick, R. and Farhadi, A., 2016. You only look once: Unified, real-time object detection. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 779-788).
  • 96.    Maturana, D. and Scherer, S., 2015. Voxnet: A 3d convolutional neural network for real-time object recognition. In Intelligent Robots and Systems (IROS), 2015 IEEE/RSJ International Conference on (pp. 922-928). IEEE.
  • 97.    Kyrkou, C., Plastiras, G., Theocharides, T., Venieris, S.I. and Bouganis, C.S., 2018. DroNet: Efficient convolutional neural network detector for real-time UAV applications. In Design, Automation & Test in Europe Conference & Exhibition (DATE), 2018 (pp. 967-972). IEEE.
  • 98.    Ronneberger, O., Fischer, P. and Brox, T., 2015. U-net: Convolutional networks for biomedical image segmentation. In International Conference on Medical image computing and computer-assisted intervention (pp. 234-241). Springer, Cham.
  • 99.    Farabet, C., Couprie, C., Najman, L. and LeCun, Y., 2013. Learning hierarchical features for scene labeling. IEEE transactions on pattern analysis and machine intelligence, 35(8), pp.1915-1929.
  • 100.    Pinheiro, P.H. and Collobert, R., 2014. Recurrent convolutional neural networks for scene labeling. In 31st International Conference on Machine Learning (ICML) (No. EPFL-CONF-199822).
  • 101.    Wang, L., Lu, H., Ruan, X. and Yang, M.H., 2015. Deep networks for saliency detection via local estimation and global search. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 3183-3192).
  • 102.    Oquab, M., Bottou, L., Laptev, I. and Sivic, J., 2014. Learning and transferring mid-level image representations using convolutional neural networks. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 1717-1724).
  • 103.    Gkioxari, G., Girshick, R. and Malik, J., 2015. Actions and attributes from wholes and parts. In Proceedings of the IEEE International Conference on Computer Vision (pp. 2470-2478).
  • 104.    Karpathy, A., Toderici, G., Shetty, S., Leung, T., Sukthankar, R. and Fei-Fei, L., 2014. Large-scale video classification with convolutional neural networks. In Proceedings of the IEEE conference on Computer Vision and Pattern Recognition (pp. 1725-1732).
  • 105.    Tran, D., Bourdev, L., Fergus, R., Torresani, L. and Paluri, M., 2015. Learning spatiotemporal features with 3d convolutional networks. In Proceedings of the IEEE international conference on computer vision (pp. 4489-4497).
  • 106.    Donahue, J., Anne Hendricks, L., Guadarrama, S., Rohrbach, M., Venugopalan, S., Saenko, K. and Darrell, T., 2015. Long-term recurrent convolutional networks for visual recognition and description. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 2625-2634).
  • 107.    Toshev, A. and Szegedy, C., 2014. Deeppose: Human pose estimation via deep neural networks. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 1653-1660).
  • 108.    Tompson, J.J., Jain, A., LeCun, Y. and Bregler, C., 2014. Joint training of a convolutional network and a graphical model for human pose estimation. In Advances in neural information processing systems (pp. 1799-1807).
  • 109.    Jain, A., Tompson, J., LeCun, Y. and Bregler, C., 2014. Modeep: A deep learning framework using motion features for human pose estimation. In Asian conference on computer vision (pp. 302-315). Springer, Cham.
  • 110.    Mandikal, P. How Prisma works: An overview of artistic style transfer using neural networks  .Worldpress.2017-8-23[引用日期2018-11-14]
  • 111.    Gatys, L.A., Ecker, A.S. and Bethge, M., 2015. A neural algorithm of artistic style. arXiv preprint arXiv:1508.06576.
  • 112.    Luan, F., Paris, S., Shechtman, E. and Bala, K., 2017. Deep photo style transfer. CoRR, abs/1703.07511, 2.
  • 113.    Ahn, I.J. and Nam Nam, W.H., 2018. Texture enhancement via high-resolution style transfer for single-image super-resolution. Electronic Imaging, 2018(5), pp.1-6.
  • 114.    Abdel-Hamid, O., Mohamed, A.R., Jiang, H. and Penn, G., 2012. Applying convolutional neural networks concepts to hybrid NN-HMM model for speech recognition. In Acoustics, Speech and Signal Processing (ICASSP), 2012 IEEE International Conference on (pp. 4277-4280). IEEE.
  • 115.    Abdel-Hamid, O., Mohamed, A.R., Jiang, H., Deng, L., Penn, G. and Yu, D., 2014. Convolutional neural networks for speech recognition. IEEE/ACM Transactions on audio, speech, and language processing, 22(10), pp.1533-1545.
  • 116.    Sainath, T.N., Kingsbury, B., Mohamed, A.R., Dahl, G.E., Saon, G., Soltau, H., Beran, T., Aravkin, A.Y. and Ramabhadran, B., 2013. Improvements to deep convolutional neural networks for LVCSR. In Automatic Speech Recognition and Understanding (ASRU), 2013 IEEE Workshop on (pp. 315-320). IEEE.
  • 117.    Kim, Y., Jernite, Y., Sontag, D. and Rush, A.M., 2016. Character-Aware Neural Language Models. In AAAI (pp. 2741-2749).
  • 118.    Wang, M., Lu, Z., Li, H., Jiang, W. and Liu, Q., 2015. genCNN: A Convolutional Architecture for Word Sequence Prediction. arXiv preprint arXiv:1503.05034.
  • 119.    de Oliveira, L., Kagan, M., Mackey, L., Nachman, B. and Schwartzman, A., 2016. Jet-images—deep learning edition. Journal of High Energy Physics, 2016(7), p.69.
  • 120.    Komiske, P.T., Metodiev, E.M. and Schwartz, M.D., 2017. Deep learning in color: towards automated quark/gluon jet discrimination. Journal of High Energy Physics, 2017(1), p.110.
  • 121.    Aurisano, A., Radovic, A., Rocco, D., Himmel, A., Messier, M.D., Niner, E., Pawloski, G., Psihas, F., Sousa, A. and Vahle, P., 2016. A convolutional neural network neutrino event classifier. Journal of Instrumentation, 11(09), p.P09001.
  • 122.    Tuccillo, D., Decencière, E. and Velasco-Forero, S., 2016. Deep learning for studies of galaxy morphology. Proceedings of the International Astronomical Union, 12(S325), pp.191-196.
  • 123.    Hezaveh, Y.D., Levasseur, L.P. and Marshall, P.J., 2017. Fast automated analysis of strong gravitational lenses with convolutional neural networks. Nature, 548(7669), p.555.
  • 124.    George, D., Shen, H. and Huerta, E.A., 2017. Deep Transfer Learning: A new deep learning glitch classification method for advanced LIGO. arXiv preprint arXiv:1706.07446.
  • 125.    Makantasis, K., Karantzalos, K., Doulamis, A. and Doulamis, N., 2015. Deep supervised learning for hyperspectral data classification through convolutional neural networks. In Geoscience and Remote Sensing Symposium (IGARSS), 2015 IEEE International (pp. 4959-4962). IEEE.
  • 126.    Hu, F., Xia, G.S., Hu, J. and Zhang, L., 2015. Transferring deep convolutional neural networks for the scene classification of high-resolution remote sensing imagery. Remote Sensing, 7(11), pp.14680-14707.
  • 127.    Wang, L., Scott, K.A., Xu, L. and Clausi, D.A., 2016. Sea ice concentration estimation during melt from dual-pol SAR scenes using deep convolutional neural networks: A case study. IEEE Transactions on Geoscience and Remote Sensing, 54(8), pp.4524-4533.
  • 128.    Long, Y., Gong, Y., Xiao, Z. and Liu, Q., 2017. Accurate object localization in remote sensing images based on convolutional neural networks. IEEE Transactions on Geoscience and Remote Sensing, 55(5), pp.2486-2498.
  • 129.    Geng, J., Fan, J., Wang, H., Ma, X., Li, B. and Chen, F., 2015. High-resolution SAR image classification via deep convolutional autoencoders. IEEE Geoscience and Remote Sensing Letters, 12(11), pp.2351-2355.
  • 130.    Sha, Y., Gagne, D.J., West, G. and Stull, R., 2020. Deep-learning-based gridded downscaling of surface meteorological variables in complex terrain. Part II: daily precipitation. Journal of Applied Meteorology and Climatology, 1(aop).
  • 131.    Vandal, T., Kodra, E., Ganguly, S., Michaelis, A.R., Nemani, R.R. and Ganguly, A.R., 2018. Generating High Resolution Climate Change Projections through Single Image Super-Resolution: An Abridged Version. In IJCAI (pp. 5389-5393).
  • 132.    Sha, Y., Gagne II, D.J., West, G. and Stull, R., 2020. Deep-learning-based gridded downscaling of surface meteorological variables in complex terrain. Part I: daily maximum and minimum 2-m temperature. Journal of Applied Meteorology and Climatology, 59(12), pp.2057-2073.
  • 133.    Liu, Y., Racah, E., Correa, J., Khosrowshahi, A., Lavers, D., Kunkel, K., Wehner, M. and Collins, W., 2016. Application of deep convolutional neural networks for detecting extreme weather in climate datasets. arXiv preprint arXiv:1605.01156.
  • 134.    Racah, E., Beckham, C., Maharaj, T. and Pal, C., 2016. Semi-supervised detection of extreme weather events in large climate datasets. arXiv preprint.
  • 135.    Vedaldi, A. and Lenc, K., 2015. Matconvnet: Convolutional neural networks for matlab. In Proceedings of the 23rd ACM international conference on Multimedia (pp. 689-692). ACM.
  • 136.    學習強國 每日科技名詞|卷積神經網絡  .學習強國.2022-10-13[引用日期2022-10-17]
展開全部 收起