趙麗萍,袁 霄,祝 承,趙曉琦,楊仕虎,梁 平,魯小丫,譚 穎
1.西南民族大學 計算機系統國家民委重點實驗室,成都 610041
2.南京大學 電子科學與工程學院,南京 210093
圖像分類是計算機視覺領域的重要任務,常用于場景識別、疾病診斷等領域[1]。圖像分類算法主要包括特征圖像的提取和分類器的設計兩個步驟[2]。傳統的圖像分類往往通過手工提取通用性強但唯一性弱的特征,然后將提取的特征送入傳統機器學習方法進行分類。Song等人[3]將支持向量機用于腦腫瘤圖像分類,Rajaguru等人[4]將最近鄰算法用于乳腺癌的分類。傳統機器學習常用于較規范的小數據集,但對于背景復雜、類間差異大、類內差異小的圖像,分類準確率不高[5]。
神經網絡通過卷積和池化提取特征,通過全連接對得到的特征分類,從而判定圖像類別[6]。顏建軍等人[7]基于遞歸圖和卷積神經網絡對脈象進行分析識別,獲得98.14%的準確率;鄭茜元等人[8]基于循環神經網絡對在線學習者學習行為進行檢測,獲得97.37%的準確率。神經網絡因其良好的性能成為了圖像分類領域的主流技 術 。 8 層 的 AlexNet、19 層 的 VGGNet 和 27 層 的GoogLeNet 分別獲得了ILSVRC 2012 比賽第一名和ILSVRC 2014 比賽第二名、第一名。深度學習的復雜度和模型的學習能力是相關的,從上述的模型中,可以發現,網絡的深度對模型的準確率至關重要,深層網絡以端到端的多層方式融合了低/中/高層特征[9],網絡越深,能夠提取到的特征越豐富,越具有語義信息,獲得的準確率越高[10]。
傳統神經網絡的深度若不斷增加,網絡模型訓練過程中會出現梯度消失、梯度爆炸、模型過擬合等問題[11]。通過用正則化(drop)的方法對大量數據進行訓練可以有效地解決過擬合問題[12],通過批標準化(Batch Normalization,BN)能一定程度上緩解淺層網絡的梯度消失/梯度爆炸問題,更快地訓練穩定的網絡[13]。這樣數十層的網絡能夠開始收斂。若網絡層數繼續簡單增加,訓練集準確率將不再增加甚至下降,出現網絡退化,上百層的傳統神經網絡將難以訓練。
He 等人[10]通過引入恒等映射,實現跳層連接,緩解了深度網絡的退化問題,深度殘差網絡(Deep Residual Networks,ResNet)獲得2015年ILSVRC比賽冠軍,在接下來四年里,SCI 數據庫中可檢索的相關文章不斷遞增,從2016年的17篇增加至2019年的965篇,如圖1所示,ResNet成為了圖像分類的核心技術。針對殘差網絡的各個改進變體的內在結構、優缺點和適用場合進行了介紹,并以圖表的形式直觀地比較了各個變體的性能,討論了當前殘差網絡所遇到的挑戰和未來發展方向,為面向圖像分類的殘差網絡的發展和應用提供一些參考。變體的改進方向主要分為以下三個部分:

圖1 SCI數據庫關于ResNet發表論文數量
(1)提高分類準確率;
(2)減少模型參數量;
(3)降低模型計算量。
對于傳統神經網絡,He等人[10]認為在一個已經訓練好的網絡上,堆疊出一層與原網絡相同的層,這至少不會比原網絡效果差,但事實上傳統神經網絡會有退化問題,這說明了傳統神經網絡很難擬合出恒等映射[14],于是將一個恒等映射傳入后一層這個思想便被提出來。
假定某段神經網絡的輸入是X,期望輸出是H(X),將恒等映射傳入后一層,于是把網絡設計為H(X)=F(X)+X,這樣就變成了學習殘差函數F(X)=H(X)-X。網絡性能在最差的情況下(即F(X)=0),退化為原始的恒等映射,保證了網絡不會比原始網絡差。這樣的殘差函數學習性能比原網絡大大提高,殘差單元強化了對原始特征的復用,從而擁有更好的性能,設計見圖2(a)。

圖2 不同殘差網絡單元
圖中右側的曲線為簡單的跳層連接,它沒有帶入任何參數,也沒有增加任何的計算復雜性,將上一層或幾層的特征信息直接與本層處理后的特征信息進行相加,然后進行線性激活,其數學表達式為:

式中,Xl是第l個殘差單元的輸入特征。Wl是一組與第l個殘差單元相關的權重,F(?)代表殘差函數,F(?)為線性整流函數(Rectified Linear Unit,ReLU)。殘差網絡同時采用了維度變化、預激活單元、瓶頸單元等方法來提升網絡性能,減少參數量,防止退化從而加深網絡的深度。
由于ResNet使用步長為2的卷積做下采樣,會引起特征維度的變化,不同維度的特征無法直接融合,導致F(Xl,Wl)與Xl不能直接相加,這時可通過以下方式解決:
(1)采用零填充法增加維度,這樣不會增加參數和計算復雜度。
(2)采用1×1 的卷積,在跳層連接部分給輸入X加上一個線性映射Ws,即:

式中,Ws為線性映射矩陣。
He 等人[10]考慮到深層網絡的 2 個 3×3 的卷積參數量較大,于是引入瓶頸結構,將標準殘差單元的3×3-3×3卷積替換為1×1-3×3-1×1 卷積的瓶頸結構。首先通過1×1 卷積減小維度,以低維度進行3×3 卷積,最后通過1×1卷積恢復特征維度,極大地減少了深度網絡的參數量和計算量,設計見圖2(b)。
通過引入恒等映射和瓶頸結構,雖然能將網絡深度從22提升到152并取得較好的圖像分類效果,但當網絡深度到達200層后,網絡開始退化。在標準的殘差單元中,雖然BN對殘差函數F(X)進行了標準化,但輸出特征H(X)沒有被標準化,當網絡深度繼續加深時,依舊會出現網絡退化問題。
He等人[15]提出將BN和Relu移動到了卷積之前,提升模型的正則化,同時每個殘差單元的輸出不再通過Relu激活,直接傳遞給下層網絡,加快模型訓練速度,網絡更易于優化,設計見圖2(c)。
ResNet 引入恒等映射,實現跳層連接,前向和后向信號可以從一個單元直接傳播到任何其他單元,訓練更容易,提高了泛化能力,緩解了深度網絡的退化問題,是一類具有高度精確性和良好收斂性的超深網絡結構[16],ResNet 成功地將神經網絡深度拓展到1 001 層,并首次在CIFAR-10 取得4.62%的錯誤率。然而超深網絡在具有強大特征表征能力的同時,超深網絡會出現在反向傳播中梯度消失,在正向傳播中特征重用減少、訓練時間長、網絡冗余性、規模龐大、小數據集上表現差、計算機性能要求高等問題[17],表現為分類準確率、模型參數量、模型計算量還有可改善的空間。ResNet 廣泛應用于圖像分類與生成,最近在自然語言處理中也有被使用到,ResNet的信息復用思想,對深度學習有深遠影響。
分類準確率為分類器預測正確類別的圖像數與整體圖像數的比值,是分類器性能的一個直觀評價指標[18]。獲得好的分類準確率是所有網絡模型的共同目標,ResNet 通過預激活單元和恒等映射結構獲得ILSVRC 2015分類比賽的冠軍,但仍有可提升空間。本章將介紹隨機深度網絡(Deep Network with Stochastic Depth,SD)、寬殘差網絡(Wide Residual Networks,WRN)、ResNeXt、SE-Res-Net、Res2Net 通過引入壓縮剪枝、寬度、基數、通道注意力機制和多尺度進行分類準確率的提升。
3.1.1 內在結構
ResNet的提出讓網絡深度突破千層,非常深的神經網絡帶來新的挑戰:梯度消失、特征重用減少以及訓練時間長。Huang等人[19]提出一種基于壓縮剪枝的深度殘差網絡的訓練方式,希望通過消除冗余特征來提升模型的準確率,設計見圖3,SD隨機地舍棄掉某些殘差單元,使得特征直接傳到下一層,能有效地降低網絡的冗余性。
以殘差塊作為網絡的構件,引入滿足伯努利分布(0-1分布)的隨機變量b表征該層F(?)是否被激活。訓練時,若殘差塊被激活,跳層連接和F(?)同時參與訓練,否則只跳層連接參與訓練。其數學表達式為:

3.1.2 優缺點及其適用場合
SD 在訓練時對很深的ResNet 做壓縮和剪枝,增強反向傳播梯度,使網絡深度達到1 202 層的同時縮減了訓練時間[20]。壓縮操作集合不同的訓練深度,提高了泛化能力,顯著改善了常用數據集的分類準確率。實驗表明,最后一層的生存概率為0.5時,較之ResNet,SD的訓練時間穩定減少25%左右,在深度為1 202時,準確率提高1.76%。然而SD并沒有針對ResNet的單元結構或網絡結構進行改進,也沒有將其思想融合于其他深度網絡,僅僅通過壓縮操作優化ResNet訓練過程,應用范圍較窄。其壓縮過程在減小一定規模的同時,也減小了特征重用,不利于信息流的傳遞。建議嘗試將SD 用作大規模的深度神經網絡的訓練方法。

圖3 隨機深度網絡
3.2.1 內在結構
SD通過隨機舍棄讓網絡加深從而提升網絡的準確率。通過增加模型深度來加強模型的表達能力從LeNet、AlexNet、VGGNet 到 ResNet 都有體現。然而訓練深度神經網絡有很多的難點,并且網絡層數成倍增加僅能減少1%的分類錯誤率,同時網絡訓練變得很慢,在超過1 000層后,網絡也出現了退化[21]。
Zagoruyko等人[21]通過對殘差單元的層結構、層數、層寬等進行了廣泛的實驗,提出了寬殘差網絡,減小殘差網絡的深度,增大網絡的寬度,即增加特征映射的通道數,在加寬后的3×3 卷積之間引入Dropout 層緩解方差偏移,設計見圖4。

圖4 寬殘差單元
3.2.2 優缺點
WRN減少網絡深度,增加網絡寬度,特征重復利用增加,更易訓練,計算效率提高,分類精度和準確率提升。實驗表明,16層深的WRN網絡以更快的訓練速度取得了比1 000 層的傳統殘差網絡更好的精度和準確率[22]。神經網絡的參數量由帶參數的層貢獻,包括卷積層、BN層和全連接層。其中卷積層貢獻主要的參數量,根據參數量計算公式,卷積層的參數量主要由卷積核大小、輸入通道數、輸出通道數貢獻,其公式如下:

其中,Y代表參數量,K代表卷積核大小,代表輸入通道數,Co代表輸出通道數,增加通道數會同時增加輸入通道數和輸出通道數的大小,導致訓練參數平方級的增加,如40層厚度的WRN通道數擴大比例為1和2時,參數量分別為0.6 MB和2.2 MB,參數量近似為平方關系,參數量平方級的增加對數據集和計算機性能的要求更高。
3.3.1 內在結構
SD通過增加深度來提升網絡的準確率,WRN通過提升寬度來增加準確率,加寬和加深神經網絡是提高準確率的有效方法。然而網絡深度的增加帶來的準確率的提升越來越少,網絡寬度的增加往往會伴隨著指數級的參數規模提升,Xie 等人[23]脫離加深和加寬網絡層次來提升網絡性能的固定思維模式,提出了ResNeXt,ResNeXt是ResNet和Inception的結合體,Inception系列已經證明拆分-轉換-合并的拓撲策略能獲得分類精度的提升[24],不同于Inception,ResNext不需要人工復雜的Inception細節設計,而是增加具有相同拓撲結構的路徑數量。以簡單、可擴展的方式利用拆分-轉換-合并策略進行分組卷積,見圖5。

圖5 聚合殘差變換單元
特征信息進入ResNeXt 單元后,拆分為c個分支(圖中為32)進行相同的轉換,將c個分支的輸出特征進行求和合并后再與轉換前的信息進行融合,其數學表達式如下:

其中,c為基數,表示相同拓撲分支的數量,Ti()表示具有相同拓撲結構的每個分支的變換(這里指1×1-3×3-1×1堆疊卷積)。
3.3.2 優缺點及其適用場合
ResNeXt 用一種相同拓撲結構多分支架構代替原來ResNet的單一分支,只有幾個超參數設置,高度模塊化,減小了網絡設計的難度和計算開銷,便于模型移植,在整體復雜度相同時,分組卷積將每個小網絡的參數量降低為原來的1/C,過擬合風險降低,模型準確率提升[25],ResNeXt-101(64×4d)獲得 ILSVRC 2016 分類任務的第二名,根據式(4)可以計算得深度為50的ResNet和ResNeXt 的參數量大體一致。ResNeXt 雖能在相同復雜度情況下取得高分類準確率,然而組卷積的存在,若通過繼續提高卷積組的數量以提高分類準確率,將會帶來參數量的大增,ResNeXt-101(64×4d)的參數量為83.7 MB,比ResNeXt-101(32×4d)、WRN-40、ResNet-152、分別多了39.4 MB、14.8 MB、23.5 MB。因為ResNeXt的相同拓撲結構的分支的設計符合GPU的硬件設計原則,ResNeXt運行速度會更快。
3.4.1 內在結構
ResNet、ResNeXt 等神經網絡主要將重點集中在卷積上而忽略了通道維度,卷積算子將各層局部感受野中的空間上和通道間信息進行融合[26],但卷積操作對輸入特征圖的所有通道進行融合,這明顯是有待改進的。Hu 等人[27]提出壓縮激勵網絡(Squeeze-and-Excitation Networks,SENet)建模特征通道之間的依賴關系,通過學習的方式自動獲取每個特征通道的重要程度,從而實現提升有用特征,抑制無效特征。SENet 靈活性好,常直接應用于現有的網絡結構中[28],與ResNet、ResNeXt、Inception等網絡融合分別得到SE-ResNet、SE-ResNeXt、SE-Inception-ResNet-V2。SE-ResNet設計見圖6。

圖6 壓縮激勵殘差網絡單元
該單元架構分為壓縮和激發兩個步驟。首先在特征映射上執行全局平均池化,將特征順著空間維度進行壓縮,每個二維特征通道得到一個實數,然后通過兩個全連接層和Sigmoid激活函數,融合各通道的特征映射,學習各通道間的關系,得到各通道的歸一化權重圖,該權重圖與原來的特征圖經過點積運算后得到SENet。SENet融合殘差連接方式得到SE-ResNet。
3.4.2 優缺點及其適用場合
壓縮操作得到某個通道當前特征映射的全局壓縮特征向量,將感受野擴展到全局,提取的特征語義層次更高;激勵操作采用兩個連續的全連接,具有更多的非線性,更好地擬合通道間復雜的相關性。壓縮激勵操作能使SENet獲得更好的收斂精度[29],該模型常與殘差網絡系列結合,采用殘差連接方式,易于收斂。實驗表明,SENet加入原模型后,新舊模型的收斂趨勢和收斂速度大體一致,在相同訓練條件下,新模型的收斂精度穩定高于原模型[27]。SE-ResNeXt在ILSVRC 2017獲得分類冠軍。然而SENet中神經元感受野的大小單一化、感受野不能根據不同尺寸的輸入信息進行自適應調整、沒有空間注意力的應用。建議將SENet用于圖像背景復雜、類內差異小、目標在圖像中不均勻分布且不需要空間轉換的數據集。
3.5.1 內在結構
深度神經網絡能在多個尺度上表示特征并在圖像分類中得到了廣泛的應用[30],深度神經網絡的最新進展展示出更強的多尺度表示能力。目前現有的特征提取方式大多是通過分層表示多尺度特征,通常是使用多個尺度的卷積核對每一層進行特征提取[31],或是融合每一層所提取的特征[32]。Gao等人[33]提出Res2Net,從增加塊內感受野的角度出發,重建普通的ResNet的單元架構,用4尺度3×3卷積核的殘差分層架構取代了1×1-3×3-1×1的標準卷積,中間的卷積結構從單分支變為多分支,設計見圖7。

圖7 Res2Net單元
輸入特征首先經過1×1卷積后按通道數均分為s個特征子集,特征子集Xi與經過Ki-1()轉換后的Xi-1相加,然后送Ki()得到輸出yi(Ki()表示3×3 卷積)。最后,所有分塊拼接后送入1×1卷積,其數學表達式如下:

這樣的結構設計使得相同的特征經過不同的卷積核后具有不同的特征尺寸。
3.5.2 優缺點及其適用場合
Res2Net使用了分塊結構,塊編號越靠后,經過的卷積核越多,感受野越大,特征提取能力越強[34]。多個塊結構以更細粒度表示多尺度特征,對不同大小圖像的檢測和管理能力增強。Res2Net-101在ImageNet數據集取得的最低分類準確率較ResNet-101、DenseNet-161相應提升1.82%、1.54%。Res2Net 模塊也常集成到ResNeXt和SENet等優秀模型中,并取得分類準確率的提升。然而由于Res2Net單元內的多層次卷積操作,較之相應的ResNet,運行速度約慢20%左右,應用范圍不如ResNet、ResNeXt等網絡寬泛,目前只在物體分類和分割類型的任務上獲得較好的性能。建議將Res2Net 用于數據集中有不同大小的目標或目標的需檢測信息大于它本身所占的區域等情況。

圖8 密卷積網絡
參數量即網絡模型所有帶參數的層的權重參數總量,指網絡模型的空間復雜度。網絡參數量越大,空間復雜度越大,對計算機的顯存大小要求越高[35]。第2 章所述網絡模型在提高分類準確率的同時,也帶來了參數量的大增,本章將介紹密集卷積網絡(Densely Connected Convolutional Networks,DenseNet)、雙路徑網絡(Dual Path Networks,DPN)、MobileNetV2 分別通過引入密卷積、雙路徑、線性瓶頸倒置殘差結構在保持分類準確率的同時降低參數量,提升網絡性能。
4.1.1 內在結構
ResNet通過構造恒等映射設,進一步緩解網絡退化問題[10],SD通過隨機丟失網絡中一些層,證明了深度網絡的冗余性[19],以上研究表明,如果卷積網絡在輸入和輸出層之間包含跳層連接,那么該網絡可以更好訓練,增加深度,提高精度和準確率。Huang 等人[36]提出DenseNet,在每個密集單元中,以恒等映射的方式將每一層與其他所有層相連,前面所有層輸出特征融合為該層的輸入特征,該層的輸出特征傳遞給所有后續層,設計見圖8。
在每個密集單元中,每層的輸出特征通道數一樣,第l層的輸入由之前所有層的特征映射按通道組合在一起然后進行非線性變化,其數學表達式為:

式中,H[?]表示BN-Relu-conv(1×1),BN-Relu-conv(3×3)非線性變換過程,[?]表示對前面各層輸出的特征映射通道合并操作,得到第l層的輸入通道數。
4.1.2 優缺點
DenseNet通過每層直接相連的旁路設置,進行特征重用,不需要重新學習冗余的特征映射,大幅減少了網絡的參數量[37];每一層直接從損失函數和原始輸入信號中獲取梯度后改進了整個網絡的信息流和梯度,加強了特征傳播,在一定程度上緩解了梯度消失問題,易于訓練;每一層的輸入經過通道合并,不是對前面特征的簡單復用,獲得了全新的特征,提升了特征挖掘能力,實現分類準確率的提升[38]。DenseNet-100 以0.8 MB 的參數量在 CIFAR-10 數據集上較 SD-110、ResNet-110 分類準確率分別提升5.74%、7.71%。然而DenseNet 存在后層提取的特征前層已經獲得,造成特征上的冗余、頻繁的通道合并操作對計算機性能要求高等缺點。
4.2.1 內在結構
ResNet 通過旁路共享特征和保留中間特征的殘差結構,可以有效降低特征冗余度,但難以實現高層對低層新特征的挖掘。DenseNet通過密集連接通路,可以有效地實現對底層新特征的挖掘,但卻存在特征上的冗余。基于此,Chen 等人[39]結合 ResNet 與 DenseNet 的核心內容,提出成雙路徑網絡DPN,設計見圖9。

圖9 雙路徑網絡單元
DPN單元由殘差路徑和密集連接路徑組成,特征信息經過1×1卷積、3×3組卷積、1×1卷積的瓶頸結構后輸出分為兩部分,一部分與原殘差路徑的特征信息通過相加融合,另一部分的信息與原密集連接路徑的特征信息進行通道合并。
4.2.2 優缺點及其適用場合
DPN 有效融合了 ResNet 和 DenseNet 模型思想,實現優勢互補,在共享特征的時候保持雙路徑架構挖掘新特征的靈活性[40];同時采用組卷積和普通卷積操作,在保證提取豐富特征的同時大量降低模型參數量[41]。DPN具有分類精度高、參數效率高、計算成本低、內存消耗少、便于優化等優點。DPN-98 較ResNeXt-101(64×4d)的參數量減少了26%,顯存占用減少9%,訓練速度快15%。然而DPN 主要是將已有的網絡結構融合,創新性還有可提升空間。DPN廣泛用于圖像分類,目標檢測和語義分割,在多目標、小目標上也有較好的表現。
4.3.1 內在結構
依靠強大的計算能力作為支撐,深度神經網絡能很好解決部分圖像分類問題,但在計算資源和存儲空間有限的移動端部署困難,Sandler 等人[42]提出輕量級神MobileNetV2,構建具有線性瓶頸的倒置殘差結構,設計見圖10。

圖10 MobileNetV2單元
該模塊采用低維壓縮數據作為輸入,首先采用1×1卷積將其擴展為高維,然后用輕量級的3×3深度可分離卷積進行濾波,再通過1×1 卷積把特征再映射到低維,形成倒置殘差結構。Relu會使負值置零,當通道數壓縮到較少時進行Relu 激活,會對信息張量造成較大的損失,第二個1×1 線性卷積的輸出特征不再經過Relu,直接與恒等映射特征進行融合,得到輸出特征。
4.3.2 優缺點及其適用場合
深度可分離卷積,每個通道先各自進行卷積操作實現特征提取,通道數不變,再通過1×1 卷積實現跨通道卷積操作實現特征組合,可大幅減少模型參數量,降低內存占用[43]。經計算,當卷積核尺寸為3時,參數量大約會減少到原來的1/9。通道數較多時進行Relu,信息張量的損失較少,MobileNetV2 使用線性瓶頸倒置殘差結構,擴張深度可分離卷積的通道數,在大幅減少模型參數量的同時,獲得較高的分類準確率[44]。3.4 MB的MobileNetV2在ImageNet獲得28%的分類準確率,加速深度網絡在移動端的應用。然而較低的參數量使其準確率無法與常規的深層網絡相比,建議將MobileNetV2用于分類精度要求不高、計算力受限的移動設備。
計算量即網絡執行時間的長短,指網絡模型的時間復雜度,網絡計算量越大,時間復雜度越高,GPU的運算能力要求越高,訓練時間越長[45]。網絡在提升分類準確率的同時往往伴隨著計算量的增加。本章將介紹殘差注意力網絡和ShuffleNet通過引入混合注意力機制和通道洗牌操作降低網絡計算量,提升網絡性能。
5.1.1 內在結構
深度學習發展到現在,很多工作開始轉向通過融合注意力機制進行性能提升[46]。Mnih 等人[47]率先將注意力機制引入循環神經網絡模型進行圖像分類,并在公開數據集上將圖像分類錯誤率降低了4%。Wang 等人[48]首次成功將深度殘差網絡與混合注意力機制進行有效結合,提出殘差注意力網絡。通過對每個注意力模塊設置主干分支和掩膜分支,將運算聚焦于特定區域并使該部分區域特征得到增強,設計見圖11。

圖11 殘差注意力網絡單元
主干分支由現有網絡模型構成,如ResNet、ResNeXt等,負責提取特征。掩膜分支形成通道域和空間域的注意力機制,主要包含前向的降采樣和上采樣過程,前者快速收集整個圖像的全局信息,后者將全局特征信息與原始特征圖相結合,學習到主干輸出特征的歸一化權重圖。采用殘差學習方式,將該權重圖與主干輸出特征圖點積后與主干輸出特征求和,其數學表達式如下:

式中,x為輸入信息,i是像素點的位置,c是對應的通道位置Mi,c(x)為掩膜分支的輸出,取值在[0,1]區間,Fi,c(x)為主干分支的輸出。
5.1.2 優缺點及其適用場合
殘差注意力網絡將殘差連接方式與混合注意力模塊相融合,能使模型在增強重要特征的同時不破壞原始特征的特性。不同模塊的注意感知特征隨著層數的加深而自適應變化,淺層注意力模塊主要集中于圖像背景,深層注意力模塊則聚焦于待分類的圖像,深淺層多注意力模塊相結合,特征表達能力增強[49]。Attention-92在ImageNet 數據集獲得最低分類精度為19.5%,較ResNet-200,分類準確率提升0.6%的同時計算量降低31%左右。殘差注意力網絡通常用于圖像背景遮擋、類內差異小、目標在圖像中不均勻分布且需要空間轉換的數據集。
5.2.1 內在結構
大多數神經網絡模型的發展方向是通過變得更大更深來提高準確率[50],但會造成模型參數巨大,現在的深度神經網絡通常有數百層和數千個信道,需要以數十億次的浮點運算,難以運行在移動設備上,Zhang等人[51]Zhang 等人[32]提出 ShuffleNet,基于殘差連接方式,對ResNet單元引入逐點組卷積和通道洗牌的操作,得到輕量級的神經網絡模型,設計見圖12。

圖12 ShuffleNet單元
相對于ResNet的1×1-3×3-1×1標準卷積,輸入特征在進入ShuffleNet單元時,先進行1×1逐點組卷積,然后將此時的特征映射進行通道洗牌后進行3×3 的深度可分離卷積,為了與恒等映射做通道融合,最后將特征映射送入1×1逐點組卷積。
5.2.2 優缺點及其適用場合
小型網絡中大量的逐點卷積會造成有限通道之間約束性過強,從而損失精度,同時若多個逐點組卷積堆疊在一起,某個通道輸出僅從一小部分輸入通道中導出,會降低通道組之間信息的流通[52]。ShuffleNet 將逐點組卷積和通道洗牌相結合有效解決以上兩個問題,在保證精度的同時,計算量大大降低[53]。ShuffleNet-50 在ImageNet獲得25.2%的最低分類準確率的同時,計算量降至2.3 GFLOPS,是一個典型的輕量化神經網絡模型。然而ShuffleNet中大量使用1×1組卷積和瓶頸結構使得網絡在實現時需要大量的指針跳轉,運行速度還可以繼續提高。建議將ShuffleNet應用于分類精度要求不高且計算力受限的移動設備。
殘差網絡及其變體為上百層深度神經網絡,參數量和計算量都較大,在進行圖像分類時,需要大量的數據擬合網絡模型,需要高性能的計算機設備[54],選擇合適的數據集并優化網絡模型的參數量和計算量是提升網絡性能的重要途經。殘差網絡及其變體已在MNIST、SVHN、CIFAR、ImageNet等主流數據集上得到了充分的驗證,具有高度的準確性、穩定性和推廣性,近年來,殘差網絡因其良好的性能已在國內外取得了廣泛的應用。
MNIST:60 000個訓練集,10 000個測試集,每張圖片由0~9單個手寫數字組成。
SVHN:73 257 個訓練集,26 032 個測試集,531 131個附加樣本,每張圖片來自真實世界的門牌號。
CIFAR-10:10 個完全互斥的類,50 000 個訓練集,10 000個測試集,每張圖片均為RGB彩色圖像。
CIFAR-100:20 個大類,100 個小類,每個小類 600張圖像,其中500個訓練集,100個測試集。
ImageNet:2.2 萬類,1 500 萬張圖像,是目前世界上圖像分類最大的數據庫。
小參數量、低復雜度、高分類準確率是網絡模型追求的共同目標,然而高準確率往往伴隨著龐大的網絡規模,這會引起計算量和參數量的提高[55]。以網絡模型的理論參數量和計算量為橫坐標,以該網絡在224×224大小的ImageNet數據集取得的top-1分類錯誤率為縱坐標得到圖13,以網絡模型為橫坐標,參數準確率密度和計算量準確率密度為縱坐標,得到圖14。圖13、圖14反應了各變體的性能及未來優化方向,attition網絡提升混合注意力,SENet 提升通道注意力,它們都擁有較高的分類準確率,說明了注意力機制在計算機視覺領域的巨大潛力,但兩者的信息密度較低,每個參數和計算量貢獻的分類準確率較少,其潛在的學習能力沒有得到充分的利用;MobileNet 和ShuffleNet 為輕量化網絡模型,分類準確率略低于其他網絡,但大大縮減了網絡模型的參數量和計算量,信息密度較高,降低了對計算機性能的要求,使其能夠應用于簡單的移動設備。未來網絡性能的提升的重點方向可能是各變體間進行融合,實現優勢互補,特別是注意力機制與輕量化網絡模型的融合,同時獲得較好的分類準確率與信息密度。

圖13 各變體參數量、計算量-準確率散點圖

圖14 各變體參數準確密度、計算量準確密度柱狀圖
殘差網絡及其變體自提出以來,就得到了國內外學者的廣泛應用,各變體常常不是單獨使用,而是進行多網絡模型融合或改進,解決了手勢識別、行為識別、遙感圖像、高光譜圖像、農業病害、疾病診斷等場景問題。
韓文靜等人[56]結合SENet與殘差塊網絡,分別構成第一通道提取全局特征、第二通道提取局部特征,新雙通道模型獲得了99.80%的手勢識別率;楊國亮等人[57]結合DenseNet 與MobileNetV2,宋玲等人[58]結合Mask R-CNN[59]與ShuffleNet,在保證精度的前提下,降低參數量與計算量,新模型分別于遙感圖像場景分類與人體關鍵點檢測中表現出良好性能;解懷奇等人[60]以ResNeXt為基礎提取視頻幀時空圖,引入注意力機制增強網絡表征能力,實現視頻人體行為識別;Kang等人[40]結合組成成分分析(Principal Component Analysis,PCA)[61]和DPN,分別用于高光譜圖像的特征提取與分類;Yang等人[62]對 GoogLeNet、InceptionV4 和 WRN 等網絡進行訓練、測試、評價和比較,得出了基于WRN 的農業病害識別方法。
本文就面向圖像分類的殘差網絡及其變體進行了深入的分析與綜述。從2015 年至今,殘差網絡及其變體通過引入瓶頸結構、深度、寬度、壓縮剪枝、特征重用、基數、注意力機制、深度可分離卷積、尺度等操作,很大程度上降低了復雜度,減少了參數量,提高了分類準確率,在圖像分類領域取得了不小的發展與應用,成為了圖像分類領域的研究熱點。但是目前依然存在許多的缺點:
(1)殘差網絡的性能極大地依賴于數據集的多少,然而現在很多領域的數據集還不夠完善,數據量較少。特別是醫學領域,影像診斷急需智能化,但CT、MRI 的數據集很少,很難獲得較好的分類準確率。如何在數據量較小的情況下,引入數據擴充、遷移學習和預訓練等操作提高分類準確率將是未來的研究方向。
(2)參數量過大,導致收斂速度慢、訓練時間長、訓練需要較大的硬件資源,在移動端等設備的應用較少。仍然需要進一步研究如何在嵌入式和智能設備中保持圖像分類準確率的同時減少網絡參數量。
(3)信息流的不對稱和網絡冗余,由于殘差網絡的寬度與深度提高了許多,這導致了大量網絡路徑冗余。同時由于激活函數對底層信息流的篩選導致了信息的不對稱,提高對底層信息的利用率以及在不改變性能的情況下減少網絡的冗余度值得深入研究。
(4)殘差網絡的泛化能力仍需繼續增強,如今的殘差網絡依然有較大的圖像分類誤差率,如何提高泛化能力防止過擬合,將殘差網絡與注意力機制結合,殘差塊改進、網絡連接改進、壓縮剪枝改進等都是可繼續深入研究的方向。
(5)實踐經驗豐富,理論分析不足,大多數網絡模型的提出是基于大量的實踐,以圖像分類效果作為評判的依據,可解釋性不強,有時很難對其進行驗證。進行理論的拓展與深入將會推進殘差網絡在圖像分類領域的應用。
(6)深度神經網絡具有較多的超參數,超參數的選擇很大程度上影響分類準確率的高低,人工超參數的調整是一件繁瑣困難的事。網格搜索[63]和隨機搜索[64]分別同時獨立訓練所有超參數組合模型、隨機超參數組合模型,通過評估各自的性能從而得出最優參數值;遺傳算法[65]和貝葉斯優化[66]分別通過交叉和變異、探索和挖掘,自適應地利用先前結果指導搜索的方式自動優化參數。合理地應用現有的自動化調參方法并創新高效調參模型將是未來一大挑戰。