周 濤 劉赟璨 陸惠玲 葉鑫宇 常曉玉
①(北方民族大學計算機科學與工程學院 銀川 750021)
②(北方民族大學圖像圖形智能處理國家民委重點實驗室 銀川 750021)
③(寧夏醫科大學理學院 銀川 750004)
深度學習是機器學習領域的一個新的方向和分支,近年來在圖像領域中受到越來越多研究者的關注。基于深度學習的卷積神經網絡(Convolutional Neural Network, CNN)具有復雜的網絡結構,與傳統機器學習方法相比具有更強大的特征學習和特征表達能力。CNN在目標識別中表現出色的性能,并逐漸成為圖像分析的首選,它能夠從大量數據中自動提取特征,并且具有良好的泛化能力。CNN經典模型有AlexNet[1], VGGNet[2], GoogleNet[3]和殘差神經網絡(Residual Neural Network, ResNet),其中殘差神經網絡[4]是由He等人提出的,在深度卷積神經網絡的發展中具有非常重要的意義[5]。殘差神經網絡的出現有效地緩解了由于網絡深度增加帶來的梯度消失和網絡退化問題,能夠使神經網絡的訓練速度加快,并且可以大幅提升深度網絡的泛化能力和魯棒性。
由于殘差神經網絡的優良特性,其在圖像領域獲得了廣泛的關注。目前殘差神經網絡在醫學圖像處理領域已經取得了突破性的進展,在肺部腫瘤、乳腺癌、皮膚疾病和心腦血管疾病等重大疾病的臨床輔助診斷中取得了良好效果。此外,殘差神經網絡和其它網絡模型的結合也廣泛用于醫學圖像分割、分類、融合、重建、合成、超分辨率等醫學圖像分析任務中,可以幫助臨床醫生對患者的治療做出整體規劃,大大提高診斷正確率與效率,為患者爭取寶貴的治療時機,同時幫助醫生評估患者的預后。Wu等人[6]提出用于乳腺癌篩查分類的深度卷積神經網絡ResNet-22,對標準的ResNet模型進行改進,其深度和寬度的平衡針對高分辨率醫學圖像進行了優化,實驗表明效果良好。Karthik等人[7]將殘差神經網絡用于胸部X射線圖像的新冠肺炎檢測,實驗結果表明了算法的有效性。為了提高白細胞圖像分割精度,Lu等人[8]提出基于ResNet和UNet++的深度學習網絡WBC-Net,設計了具有殘差塊的上下文感知特征編碼器用來提取多尺度特征,并在密集卷積塊中引入混合跳躍路徑以獲取和融合不同尺度的圖像特征。Nazir等人[9]提出一種自動進行顱內血管分割的OFF-eNET架構,結合殘差映射和Inception模塊,實現了更豐富的視覺表示,并提高了計算效率。由此可見,對殘差神經網絡的深入研究具有重要意義。
本文全面總結了殘差神經網絡的研究現狀。(1)闡述殘差神經網絡的基本原理,從網絡框架和殘差單元兩方面進行介紹;(2)綜述殘差神經網絡的改進機制,從殘差單元、殘差連接和網絡整體結構進行總結;(3)針對ResNet在醫學圖像處理中的應用,從ResNet與DenseNet, U-Net, Inception結構、注意力機制4個模型結合方面進行探討。對ResNet在醫學圖像處理領域面臨的挑戰進行討論,并展望未來發展方向。
深度神經網絡的深度對網絡的性能和準確率有著很大的影響,但網絡并不是越深越好,這是由于增加網絡層數,梯度消失現象就會越來越明顯,網絡的訓練效果也不會很好。為了解決以上問題,殘差神經網絡的出現解決了網絡加深帶來的梯度消失和網絡退化問題,提升了網絡性能。如圖1所示,34層殘差神經網絡由卷積層堆疊而成的殘差單元、池化層以及全連接層組成。殘差模塊可以分為恒等殘差塊與非恒等卷積殘差塊,殘差塊中的快捷連接(shortcut connections)有實線和虛線兩種。恒等殘差塊中的實線表示輸入圖像與輸出圖像通道數相同,可直接相加。非恒等卷積殘差塊中的虛線表示通道數不同,需要先通過1×1的卷積改變通道數,然后再相加。

圖1 34層殘差神經網絡結構
卷積核是卷積層的重要組成部分,其本質是特征提取,主要作用是自動提取輸入圖像的深層信息。卷積操作是通過一個小的卷積核在圖像上滑動,利用圖像局部信息進行計算。卷積層由于其“局部連接”和“參數共享”的特點大大降低了網絡參數,保證了網絡的稀疏性,防止過擬合。卷積層參數由卷積核(filter)大小、移動步長(stride)和邊界填充(padding)組成,三者共同決定了輸出特征圖的大小。卷積核越小,感受野越小,可以捕捉到圖像的局部和細節信息。相反,大的感受野用于捕獲圖像更復雜、更抽象的信息。
池化層也稱為“下采樣”層,池化層往往在卷積層后面,通過池化操作來降低卷積層輸出的特征向量,在減少數據量的同時保留有用的特征信息。池化的做法是對圖像的某一個區域用一個值代替,如最大值或平均值。如果采用最大值,稱為最大池化;如果采用平均值,稱為平均池化。池化層的主要作用是特征降維,壓縮數據和參數的數量,減少過擬合,同時提高模型的泛化能力。
全連接層一般位于網絡尾端,在神經網絡中起到“分類器”的作用,對前面逐層變換和映射提取的特征進行回歸分類處理。在全連接層中,特征圖會失去空間結構,展開為特征向量,并對由前面層級所提取到的特征進行非線性組合得到輸出。
殘差神經網絡是由多個殘差單元(residual unit)堆疊而成,如圖2所示,殘差單元由卷積(conv)層、批量歸一化(Batch Normalization, BN)層和整流線性單元 (Rectified Linear Unit, ReLU)函數組成。假設某段神經網絡的輸入是x,期望輸出是H(x),F(x)表示殘差函數。根據圖2所示的殘差單元結構可知,如果直接把輸入x傳到輸出作為初始結果,可知輸出結果為H(x)=F(x)+x,那么需要學習的目標就是F(x)=H(x)-x,即殘差。殘差神經網絡不是直接學習潛在映射H(x),而是通過恒等映射后擬合了一個殘差映射(residual mapping):F(x)=H(x)-x。殘差映射相比潛在映射更容易優化,從而解決了深度增加后產生的梯度消失問題和網絡退化問題。

圖2 殘差單元示意圖
殘差單元通過快捷連接實現恒等映射(identity mapping),將原始所需要學習的函數H(x)轉換成F(x)+x。快捷連接有兩種不同的連接方式,當輸入和輸出維度一致時,可以直接將輸入加到輸出上。但是當維度不一致時,不能直接相加,此時有兩種策略:
(1)采用零填充(Zero-padding)增加維度。一般需要進行下采樣,可以采用步長為2的池化操作,不會增加參數。
(2)采用新的映射Projection Shortcut。一般采用1×1卷積操作,會增加參數和計算量。快捷連接除了直接使用恒等映射,也可以采用Projection Shortcut。通過捷徑將輸入和輸出進行基于元素的加法操作,不會給網絡增加額外的參數和計算量,但可以大大增加模型的訓練速度。當模型的層數加深時,能夠很好地解決退化問題。
殘差神經網絡是通過堆疊多個殘差單元來解決梯度消失和網絡退化問題的多層神經網絡,對殘差神經網絡進行研究是近幾年的熱點。下面將殘差神經網絡的最新研究從殘差單元、殘差連接以及網絡整體結構3方面進行總結。
在殘差神經網絡中,基本殘差單元由卷積層、BN層、ReLU層和跳躍連接組成。其中,通過跳躍連接可以緩解梯度消失現象,殘差單元的結構很大程度上決定網絡的性能。近年來許多學者圍繞殘差單元的內部組成和整體結構進行了大量研究,本文對這兩個方面進行總結和歸納,具體如圖3所示。整體分為左右兩部分,左邊部分是基本殘差單元,輸入是肺部腫瘤PET-CT圖像,輸出是通過分類得到的惡性和良性腫瘤圖像,其中殘差連接用紅色線條表示。右邊部分是卷積層、歸一化層、激活函數和整體結構的最新研究進展,與左邊殘差單元中的Conv, BN, ReLU和殘差單元整體結構相對應,分別用不同顏色表示。本文從卷積層、歸一化層、激活函數和整體結構對殘差單元進行總結。

圖3 殘差單元框架圖
3.1.1 卷積層
卷積層是通過“局部連接”和“權值共享”的特性來提取圖像中的關鍵特征,一般用圖像尺寸是奇數的正方形卷積核,遍歷圖像中的每一個像素點,圖像與卷積核重合區域內相對應的每一個像素值乘以卷積核內相對應點的權重,然后求和,再加上偏置,最后得到輸出圖像中的一個像素值。本文對卷積層進行歸納和總結,具體如圖4所示,以時間線為軸,從最早1維卷積的出現到2021年按照時間順序對1維卷積、反卷積、分組卷積、3維卷積、MLP卷積、擴張卷積、卷積非對稱分解、擴張因果卷積、深度可分離卷積、可變形卷積、尺度不變卷積、卷積二值化進行總結。

圖4 卷積層總結
(1)1維卷積常用于序列模型,它通過卷積核在一個維度方向上進行滑動窗口并相乘求和。Ma等人[10]提出1維卷積神經網絡對健康和癌變的乳腺組織進行分類,利用1D卷積核來捕獲輸入光譜數據的特征。
(2)反卷積也稱為轉置卷積,它是一種特殊的正向卷積,先按照一定的比例通過補零來擴大輸入圖像的尺寸,接著旋轉卷積核,最后進行正向卷積。Fang等人[11]利用卷積和反卷積操作對COVID-19圖像進行預處理,增強局部ROI病變區域的圖像特征,提高了COVID-19分類精度。
(3)分組卷積是將輸入層的不同特征圖進行分組,然后采用不同的卷積核再對各個組進行卷積,可降低卷積的計算量。相比原始卷積整合所有通道特征圖的值,分組卷積只整合本組通道內特征圖的值。Zhang等人[12]在ShuffleNet單元中利用分組卷積,然后將分組卷積后的特征圖按照通道混洗操作將通道進行均勻混合,可以更好地獲取全局信息。
(4)3維卷積是以立體卷積塊的形式進行卷積,3D卷積核可以在圖像的高度、寬度和通道3個方向上進行移動。Cao等人[13]提出的混合擴張殘差網絡3D-2D SSHDR用于高光譜圖像分類,采用3D卷積構成的光譜殘差塊學習光譜特征,可以減少參數數量。
(5) 多層感知器(Multilayer Perceptron,MLP)卷積[14]是在NIN網絡中提出的用以代替傳統卷積層,MLP卷積使用MLP將輸入局部補丁映射到輸出特征向量。
(6)擴張卷積是在標準的卷積核中注入空洞,以此來增加模型的感受野,捕獲多尺度上下文信息。Lu等人[15]提出一種由金字塔擴張卷積集成的ResNet用于神經膠質瘤分類,將金字塔擴張卷積模塊集成到ResNet網絡的底部以增強感受野,提高分類精度。
(7)Szegedy等人[16]在InceptionV3網絡中對卷積進行非對稱分解,通過將n×n的卷積分解成1×n和n×1的卷積并串聯起來,加深網絡的同時減小了計算量。
(8)擴張因果卷積由因果卷積和擴張卷積組成,因果卷積常用于序列問題,在因果卷積中時間t的狀態預測依賴前t-1個狀態,具有因果關系。Yan等人[17]在預測厄爾尼諾現象-南方濤動中使用擴張因果卷積,增大了模型的感受野。
(9)深度可分離卷積是在MobileNet[18]網絡中提出的,其中逐深度卷積對每一個通道進行各自的卷積操作,一個卷積核負責一個通道,得到新的通道特征圖后,通過逐點卷積使用1×1卷積核進行通道的像素融合。相對于普通卷積,深度可分離卷積減少了參數量,實現了通道和區域的分離。Prasetyo等人[19]提出一種多級殘差(MLR)網絡,通過采用深度可分離卷積以調整目標層中的特征圖大小,將初始塊的低級特征與最后一個塊的高級特征相結合,減少參數和計算量。
(10)由于傳統的卷積采用固定尺寸的卷積核,不能很好地適應幾何形變,Dai等人[20]提出可變形卷積,將2D偏移量添加到標準卷積中的常規采樣位置,使采樣網格自由變形,可以使得卷積核在當前位置附近隨意采樣。
(11)尺度不變(SI)卷積[21]是將輸入轉換為多分辨率金字塔,使用相同的卷積核進行卷積,然后重新縮放回原始尺寸,最后執行最大池化操作以實現縮放不變。由SI卷積代替殘差單元中的每個基本卷積構成SI殘差單元,不會遭受梯度消失或爆炸的困擾。
(12)局部二值化殘差塊(LBB)[22]是通過將3×3卷積進行二值化、1×1卷積保持實值對殘差單元進行改進,可以節省計算量,減少模型大小,避免過擬合。
3.1.2 歸一化層
歸一化操作是把需要處理的數據經過某種算法處理后限制在一定范圍內。使用網絡模型時需要保證訓練數據和測試數據同分布,在深度學習中往往對網絡的每一層都做歸一化處理,以保證每次處理的數據分布一致,使得層與層之間更加獨立,依賴更小。
在傳統的深度神經網絡里,過高的學習率會導致梯度消失或者爆炸。2015年,Loffe等人[23]發現在訓練中將神經元的輸入歸一化到零均值和單位方差可以大大減少深度神經網絡的訓練時間,但是由于網絡中參數變化而引起內部結點數據分布發生變化產生的內部協變量偏移現象,使得訓練深度神經網絡變得復雜,導致訓練速度降低,于是作者提出批量歸一化(BN)來解決這個問題。批量歸一化可以通過歸一化激活值,防止參數的微小變化在網絡中擴散,增加了模型訓練對參數大小變化的容忍度,以達到快速收斂和提高性能的目的。訓練時,BN通過當前輸入批次所有樣本的均值和方差來對輸入進行縮放,從而加快訓練速度,測試時,用訓練時數據的均值和方差的無偏估計對輸入進行歸一化操作。BN打破了以往在神經網絡訓練中只能對輸入層數據進行歸一化處理的局限,使得可以在網絡中任意一層進行歸一化處理,在一定程度緩解了深層網絡中梯度消失問題,從而使得訓練深層網絡更加穩定。
除了經典的批量歸一化算法,歸一化算法還包括批量重歸一化(Batch ReNormalization, BRN)、層歸一化(Layer Normalization, LN)、實例歸一化(Instance Normalization, IN)、組歸一化(Group Normalization, GN)、自適配歸一化(Switchable Normalization, SN)和權重歸一化(Weight Normalization, WN)。如圖5所示是常用的5種歸一化算法的圖示,圖中深綠色方塊是歸一化算法計算均值和方差的區域。表1是對歸一化算法進行總結,其中,C表示通道數,N表示批量大小,H和W表示特征圖的高度和寬度,G表示通道的分組數。批量歸一化是對一批數據的單通道維度進行歸一化,對N×H×W個元素計算均值和方差,批量重歸一化與批量歸一化維度相同。層歸一化是對一層數據的全部通道做歸一化,計算C×H×W個元素的值。實例歸一化是對每個樣本和每個通道沿著H和W維度計算H×W個元素的均值和方差。組歸一化將通道數分為G組,每組有|C/G|個通道,對這些通道的元素求均值和方差,計算|C/G|×H×W個元素的均值和方差。自適配歸一化將BN, LN, IN結合,從通道、層和小批量3個方向來計算均值和方差。權重歸一化是對卷積核權重進行歸一化,不受批量大小的影響。

表1 歸一化算法總結

圖5 歸一化算法圖示
(1)批量重歸一化(BRN)[24]的維度與BN維度相同,通過修正模型訓練和測試之間的差別來解決批量歸一化用于小批量數據性能退化的問題。Tian等人[25]將批量重歸一化融合到BRDNet中代替BN對數據進行歸一化,解決內部協變量偏移和小批量問題,提高去噪網絡的收斂速度。
(2)層歸一化(LN)[26]不受批量大小的影響,是通過計算一層神經元的所有累加輸入的均值和方差來進行歸一化。王志揚等人[27]提出去相關層歸一化方法,通過對單個樣本所有通道中加入白化操作,在保留原有網絡層歸一化的基礎上減少了輸入特征之間的相關性,使得通道上的數據特征表達具有獨立同分布的特點,提升層歸一化的泛化能力。
(3)實例歸一化(IN)[28]對每個樣本的H和W維度數據單獨做歸一化處理,不受通道和批量的影響,常用在圖像風格化遷移中,可以提高生成圖片的質量,并有效加快訓練速度。Casella等人[29]提出一種具有實例歸一化時空特征的形狀約束對立框架用于自動胎兒間膜分割,歸一化操作在實例和批處理級別執行。
(4)組歸一化(GN)[30]將每個樣本的特征圖通道分為幾組,并在每組內計算均值和方差以進行歸一化。GN的計算不依賴批量大小,其準確率在各種批量大小中都是穩定的。
(5)自適配歸一化(SN)[31]使用可微分學習,通過動態調節各種歸一化的權重,為深度網絡中的每一個歸一化層確定合適的歸一化操作。Zhong等人[32]設計TSSN-Net網絡解決特征匹配問題,提出了兩步稀疏自適配歸一化塊,自適應地在不同卷積層中切換歸一化操作,顯著提高了網絡的性能。
(6)權重歸一化(WN)[33]通過重寫網絡權重w的方式來加速深度學習網絡參數收斂,采用WN進行歸一化時需要特別注意參數初始值的選擇,而且不需要額外的空間來存儲小批量的均值和方差。Huang等人[34]通過將每個神經元的傳入權重約束為單位范數,提出了基于投影的權重歸一化方法,已被證明是DNNs中斜流形優化的有效方法。
3.1.3 激活函數
激活函數是通過對特征進行非線性變換,使神經網絡隨著深度的增加具有更高的擬合性,它模擬了生物神經元的特性,即接受一組輸入信號并產生輸出。激活函數主要是為了在神經網絡中添加非線性因素,用來激活或抑制神經元,通過層級非線性映射的組合來提升整個神經網絡的非線性表達能力。激活函數在決定深度學習模型的深度和非線性方面起著重要的作用,傳統神經網絡中常用的激活函數有Sigmoid和Tanh函數,如圖6所示,Sigmoid函數中間區域增長較快,兩端區域增長較慢,其輸出值域在0 到1 之間,有很好的概率解釋性。Tanh函數是雙曲正切函數,其輸出在—1到1之間,它在Sigmoid激活函數基礎上又進行了優化,表現更為突出。但是,這兩個函數收斂較慢,而且容易出現梯度消失現象,當輸入非常大或者非常小時,神經元的梯度就接近于0,在反向傳播過程中前幾層網絡無法實現很好的參數更新,導致無法遞歸地學習輸入數據。

圖6 基本激活函數
在基本激活函數基礎上發展了很多其他類型的激活函數,其中ReLU函數保留輸入的正值并將負值修改為零,解決了Sigmoid和Tanh存在的梯度消失問題[35],并且由于其非飽和特性,學習速度很快。然而,對于任何負值的輸入,ReLU死亡效應總是輸出相同的值,導致神經元不能更新參數。針對ReLU函數存在的“神經元死亡”現象,出現了許多激活函數對其做出了改進,這些函數分為3類:ReLU型、ELU型和其它激活函數,下面對3類激活函數進行總結。
ReLU型激活函數包括ReLU, ReLU6,參數化整流線性單元(Parametric Rectified Linear Unit,PReLU)函數、泄露整流線性單元(Leaky Rectified Linear Unit, LReLU)函數、隨機泄露整流線性單元(Randomized leaky Rectified Linear Unit,RReLU)函數、串聯整流線性單元(Concatenated Rectified Linear Units, CReLU) 函數、S型整流線性激活單元(S-shaped Rectified Linear activation Unit, SReLU)函數、彈性整流線性單元(Elastic Rectifified Linear Unit, EReLU) 函數和彈性參數整流線性單元(Elastic Parametric Rectifified Linear Unit, EPReLU)函數。ReLU型激活函數圖像和公式如圖7所示,其中ReLU6限制最大輸出為6。一些激活函數針對負值部分做出了改進,使得負軸的信息不會完全丟棄。在LReLU函數中,ReLU的負值部分被一個固定負斜率為0.01的線性函數代替,通過使用非零梯度,固定斜率可以保留小的負信號。PReLU是LReLU的一種改進,從訓練樣本中學習負斜率。RReLU通過在訓練期間從均勻分布中采樣來隨機改變函數負值部分的斜率[36]。與RReLU不同,EReLU和EPReLU[37]對正值部分進行了修改,EReLU的特點是每個正值在訓練階段像彈簧一樣在中等范圍內縮放,在測試時,EReLU成為標準ReLU。EPReLU是EReLU和PReLU的組合,能夠進一步提高網絡的性能。CReLU通過改變其符號來保留負輸入作為額外的輸出通道,其輸出是輸入大小的2倍[38]。SReLU由3個分段線性函數和4個學習參數組成,可以學習凸函數和非凸函數,其中兩種函數的斜度以及函數相交的位置會在模型訓練中被學習。

圖7 ReLU型激活函數
ELU型激活函數包括指數線性單元(Exponential Linear Unit, ELU)函數、縮放指數線性單元(Scaled Exponential Linear Unit, SELU)函數、參數化指數線性單元(Parametric Exponential Linear Unit, PELU)函數、高斯誤差線性單元(Gaussian Error Linear Unit, GELU)函數、連續可微指數線性單元(Continuously Differentiable Exponential Linear Unit, CELU)函數、彈性指數線性單元(Elastic Exponential Linear Unit, EELU)函數、多參數指數線性單元(Multiple Parametric Exponential Linear Units, MPELU)函數和參數可變形指數線性單元(Parametric Deformable Exponential Linear Unit, PDELU)函數。ELU的引入以減少偏置偏移效應,在小于零的部分采用了負指數形式,保證對輸入變化的魯棒性[39]。它通過負輸入實現更快的學習,將輸出均值推近于零,加快收斂速度。隨著輸入變小,ELU飽和為負值,使用ELU函數可以使殘差網絡具有更快的學習速度和更高的分類精度。ELU型激活函數圖像和公式如圖8所示,一些函數沒有圖像,故只給出函數公式。SELU輸出在沒有外部歸一化的情況下被歸一化,采用兩個固定參數λ和α用于在負輸入區域中縮放輸出和塑造函數[40]。PELU引入了可學習參數α和β,以靈活地確定ELU負值區域的大小,研究表明在深度學習模型中使用PELU會帶來性能提升,但在使用批量歸一化時,PELU也會出現性能下降[41]。GELU在激活中引入了隨機正則的思想,對于輸入乘以一個0,1組成的掩碼,而該掩碼的生成則是按照概率隨機地依賴輸入。CELU[42]提出了另一種參數化,它對于所有α值都是連續的,使整流器更容易推理并使α更容易調整,而且負值的激活被修改,以確保x=0處所有α值的函數導數為1。EELU是由Kim等人[43]提出的,結合了ReLU和ELU函數的優點,EELU在正信號部分有一個彈性斜率并通過使用小的非零梯度保持負信號,減少偏移效應,而且還利用高斯分布在激活函數中插入神經元噪聲,以提高泛化能力。MPELU[44]是一種統一ReLU, LReLU,PReLU和ELU的函數,具有更好的分類性能和收斂性,MPELU在正值區域與ReLU相同,α(c)和β(c)是用于確定負值區域中函數形狀及其權重的學習參數。Cheng等人[45]提出PDELU,引入了t-變形指數函數,其中參數t是控制變形程度的,可以賦值找到最佳的變形指數函數,PDELU可以將激活單元響應的平均值推近于零,從而確保了在訓練深度神經網絡時梯度的最大下降。

圖8 ELU型激活函數
其它激活函數包括SoftPlus, Noisy Softplus,Softsign, Swish, Mish, SoftExponential, Maxout和自適應分段線性激活單元(Adaptive Piecewise Linear Activation Unit, APL)函數。其它激活函數圖像和公式如圖9所示,一些函數沒有圖像,故只給出函數公式。SoftPlus是ReLU的平滑版本,相比于早期的激活函數,SoftPlus和ReLU更加接近腦神經元的激活模型。杜進等人[46]通過將ReLU換成Noisy SoftPlus函數,提高了深度殘差網絡的表情識別精度,Noisy SoftPlus通過在SoftPlus中引入噪聲參數,同時對神經元的輸出響應特性進行刻畫,能夠更加準確地刻畫生物神經元的輸入特性。Softsign和Tanh一樣,是反對稱、去中心、可微分的函數,并返回—1和1之間的值,但是比Tanh更好地解決梯度消失的問題。Swish是一種自門控的激活函數,它通過將Sigmoid函數乘以輸入來門控函數輸出,具有平滑、非單調、無上界、有下界的特性。Mish以上無邊界避免了由于封頂而導致的飽和。Maxout是由Goodfellow等人[47]提出的一個可學習的分段線性函數,可以擬合任意的凸函數,它是在多個線性函數中選擇最大值作為輸出。Agostinelli提出APL函數[48],可以通過添加幾個鉸鏈形線性函數來實現凸函數或非凸函數。

圖9 其它激活函數
近年來,許多研究者對殘差單元中所用到的激活函數進行了修改,提升了網絡性能。Yildiz等人[49]通過在深度殘差網絡中引入LReLU函數對噪聲進行分解,可以克服ReLU死亡問題,并加速訓練。Yan等人[50]對單幅圖像去霧時在殘差塊中使用PReLU激活函數,緩解了梯度消失問題,并加快網絡收斂速度。Tariq等人[51]對ResNet-50網絡結構進行改進,在卷積塊中的不同位置采用ReLU,SELU和ELU激活函數,用來提高網絡的訓練過程。由此可見,激活函數對殘差神經網絡性能提升具有重要意義。
3.1.4 殘差單元整體結構
通過對殘差單元整體結構的改進,可以有效地解決退化問題,提高網絡性能。將殘差單元整體結構從多尺度殘差單元、多分支殘差單元、殘差單元重構、殘差單元結合其它方法4個方面總結,如圖10所示。

圖10 殘差單元整體結構
(1)多尺度殘差單元。通過多尺度卷積,使用不同尺寸的卷積核提取不同尺度的特征,最后將不同尺度的特征聚合。多尺度卷積可以提取全局的整體信息和局部的詳細信息。Gao等人[52]提出多尺度架構Res2Net,通過在一個殘差塊內構造分層的類殘差連接,以更細粒度級別提高了CNN的多尺度表征能力,增加了網絡的感受野。為了自適應提取和融合不同尺度的圖像特征,Qin等人[53]提出多尺度特征融合殘差塊(MSFFRB),基于該殘差塊提出多尺度特征融合殘差網絡,可以充分利用局部多尺度特征和層次特征來生成準確的超分辨率圖像。
(2)多分支殘差單元。將殘差單元分為多個分支,提高網絡結構的擬合能力。Xie等人[54]提出多分支體系結構ResNeXt,ResNeXt由具有相同拓撲結構的殘差塊堆疊而成,殘差塊利用分割-轉換-融合策略,并使用VGG和ResNet高度模塊化的設計,節省了計算開銷。Zhang等人[55]提出ResNeSt采用拆分思想,每個ResNeSt塊都沿通道維數將特征圖分為幾組,其中每組的特征表示是根據全局上下文信息選擇權重,通過其拆分表示的加權組合來確定的。
(3)殘差單元重構。通過改變Conv, BN和ReLU的位置或者增多、減少其個數實現殘差單元的重構,可以提高模型的泛化能力和網絡性能。He等人[56]在ResNetV2網絡中采用預激活的方式改進殘差單元,即將BN, ReLU轉移到卷積層之前,使得模型訓練更加簡單,泛化能力更強,加強模型的正則化。Han等人[57]提出深層金字塔殘差網絡,為了最大限度提高網絡的性能,在每個殘差單元模塊中刪除第1個ReLU函數,保留其它ReLU函數以確保非線性,并在最后一個卷積層之后添加BN層。
(4)殘差單元結合其它方法。Zhou等人[58]提出具有離散參數的殘差神經網絡用于白內障分類。通過在殘差單元中添加統一離散或者指數離散,能夠減少網絡存儲內存,并且可以防止小型訓練集的過擬合。Zhao等人[59]提出通道間共享閾值和通道間不同閾值的深度殘差收縮網絡,將軟閾值化作為非線性層嵌入到殘差結構之中,將不重要的特征置為零,以有效地消除與噪聲相關的特征。
原始殘差單元通過殘差連接實現恒等映射。加入捷徑的殘差網絡模型,在訓練過程中低層誤差可以通過捷徑快速地向上一層進行傳遞,保證了反向傳播過程中參數的更新,從而可以避免由于網絡加深而造成的梯度消失問題。本節從Add型殘差連接、Concat型殘差連接和拓撲結構3方面總結。
3.2.1 Add型殘差連接
Add型殘差連接是當輸入圖像和輸出圖像尺寸相同時進行元素級相加。如圖11(a)所示,若輸入與輸出圖像通道數相同,則可以直接使用原始殘差單元的恒等映射進行學習,若通道數不同,快捷連接上需要增加一個1×1卷積層和BN層,其作用是進行維度匹配,不參與網絡層數運算。Add型殘差連接主要模型有以下兩種:

圖11 殘差連接示意圖
(1)為了獲得具有更多層次和紋理特征的全景圖像,Liu等人[60]提出多焦點圖像融合算法,低頻系數融合使用ResNet-50獲得低頻系數圖像的空間信息特征,其中殘差塊的恒等映射部分由卷積層和歸一化層組成,目的是確保恒等映射的尺寸與通過殘差函數獲得的特征的尺寸一致。
(2)Arsalan等人[61]提出一種用于皮膚分割的基于外部殘差跳躍連接的深度卷積神經網絡OR-Skip-Net,編碼器通過外部殘差跳躍連接將空間邊緣信息提供給相應的解碼器塊,跳躍連接包含1×1卷積層和BN層,來源于編碼器的每一個ReLU激活層之后。
3.2.2 Concat型殘差連接
原始殘差連接方式通過元素級相加,Concat操作是在特征圖大小相同的情況下進行通道拼接。Concat型殘差連接如圖11(b)所示,通過將原來的“Add”變成“Concat”以增加特征圖的通道數。Concat型殘差連接主要模型有以下兩種:
(1)Zhang等人[12]提出一種用于移動設備上的網絡ShuffleNet,其中殘差模塊最后的合并操作由原來的“Add”變成了“Concat”以增加通道數。
(2)Jia等人[62]提出3D對抗金字塔形各向異性卷積深度神經網絡用于MR圖像中的前列腺分割,其中金字塔卷積塊是由不同大小的卷積并行構造的,以形成空間金字塔卷積結構,通過Concat操作可以融合不同區域的特征,減少不同圖像比例下的上下文信息的丟失。
3.2.3 拓撲結構
殘差連接拓撲結構改進是對原始殘差連接進行改進。基本殘差單元中的殘差連接通過跨越2個或3個卷積層進行連接,殘差連接拓撲結構改進包括殘差單元中卷積層完全連接和殘差單元之間添加跳躍連接,如圖12所示。

圖12 拓撲結構
(1)Alotaibi等人[63]提出一種用于高光譜圖像分類的深度ResNet和Inception混合模型,如圖12的左邊部分,該模型由兩個完全連接的級聯殘差塊組成,通過殘差連接使得殘差塊中的每個卷積層都接收之前所有卷積層的輸入,可以得到更好的分類性能。
(2)Liu等人[64]提出一種多尺度殘差網絡(Multi-Scale Residual Network, MSResNet),如圖12的右邊部分,該網絡在每個殘差單元到下一個殘差單元之間增加了一個跳躍連接,融合了不同殘差單元的輸出特征,既能兼容高層的語義特征,又能有效利用低層的判別特征,有助于準確獲取目標對象的位置信息。
原始殘差網絡結構仍然存在一些問題,難以在很深的網絡上進行收斂。為了對殘差神經網絡進行優化,對整個網絡結構進行改進,可以有效地減少過擬合,提高網絡學習能力。本文對網絡整體結構從并行殘差網絡、多尺度殘差網絡、隨機深度網絡、多路徑殘差網絡、寬殘差網絡、遞歸殘差網絡和殘差網絡中的殘差網絡7個方面進行總結,主要模型如圖13所示。

圖13 殘差神經網絡整體結構
(1)并行殘差網絡。通過幾個并行分支充分提取圖像特征,提高網絡精度,并減少網絡計算量。為了充分提取高分辨率圖像的特征,提高分類精度,Lu等人[65]提出一種基于3維通道和空間注意力的多尺度空間譜殘差網絡,3分支架構由3級獨立且并行的殘差塊組成,通過使用不同的3維卷積核從各自的殘差塊中連續學習光譜和空間特征。Zhang等人[66]提出空間殘差塊結合并行網絡用于高光譜圖像分類,采用具有相同結構和共享參數的并行分支提取光譜特征,以減少可訓練的參數并優化計算。
(2)多尺度殘差網絡。使用不同尺度卷積提取豐富的多尺度特征,有效解決了單尺度卷積核感受野有限的問題。Fu等人[67]提出多尺度殘差金字塔注意力網絡用于醫學圖像融合,使用不同尺度卷積提取金字塔中的特征,具有更好的特征提取和表達能力。Ma[68]提出多尺度殘差注意力網絡,用于在穿墻情況下區分靜止的人和動物,該網絡的特征提取部分由5個含有多尺度結構的細節塊堆疊而成,主干分支是并行3×3卷積和5×5卷積的多尺度學習結構,分別學習細尺度和粗尺度的特征。
(3)隨機深度網絡。針對深層網絡表達能力強但是更難訓練的問題,Huang等人[69]提出隨機深度網絡,通過在訓練過程中隨機丟棄一些殘差單元將深層網絡變成淺層網絡,可以顯著提高ResNet的泛化能力。
(4)多路徑殘差網絡。通過多條路徑提取特征,可以緩解梯度消失問題,提高網絡參數效率。Zhang等人[70]提出ScaleNet由堆疊的卷積-反卷積塊和多路徑殘差結構組成,多路徑殘差結構包括每個卷積-反卷積塊內的跳躍連接和每兩個相鄰卷積-反卷積塊之間的跳躍連接,以提高網絡的參數效率。為了改善CT圖像中的肺結節的分割性能,Liu等人[71]提出級聯雙通道殘差網絡(CDP-ResNet),基于殘差塊的雙路徑網絡由感受野較小的7×7的局部路徑和感受野較大的13×13的全局路徑組成,在局部路徑的第1個殘差塊之后添加1個殘差塊來融合兩條路徑提取的特征。
(5)寬殘差網絡。寬殘差網絡通過增加特征圖的通道數達到對網絡加寬的目的。Zagoruyko等人[72]提出一種基于擴展通道數學習機制的寬殘差網絡(WRNs),通過增加特征圖的通道數來增大網絡的寬度,進而有效地提高了網絡性能。Shi等人[73]提出基于固定跳躍連接的漸進式寬殘差網絡(progressive Wide Residual Network with a Fixed Skip Connection, FSCWRN)用于MR圖像重建,采用漸進式寬網絡代替更深層的網絡,實驗表明該算法的性能優于其它最新的重建算法。
(6)遞歸殘差網絡。該網絡是由共享權重的殘差單元組成的遞歸塊形成的,使用遞歸學習可以在增加網絡層數的基礎上減少網絡參數,使網絡性能更優。Tai等人[74]提出用于單幅圖像超分辨率的深度遞歸殘差網絡(Deep Recursive Residual Network, DRRN),使用遞歸學習以控制模型參數,同時增加網絡深度。Jin等人[75]提出雙流遞歸殘差網絡(Dual-Stream Recursive Residual Network,STRRN),將全局、局部和多路徑中間殘差學習與遞歸學習相結合,以在每個流上形成多路徑遞歸殘差網絡,不僅有助于梯度流動和低級特征傳輸,而且減少了參數數量。
(7)殘差網絡中的殘差網絡。由于通過簡單堆疊殘差塊來構建殘差網絡限制其優化能力,Zhang等人[76]提出殘差網絡中的殘差網絡(Residual Networks Of Residual Networks, ROR),ROR在原始殘差網絡上增加了層級的快捷連接,用優化殘差映射中的殘差映射代替優化原始殘差映射,提高了殘差網絡的學習能力。
殘差神經網絡由于其出色的性能在醫學圖像領域而廣泛應用,目前在良惡性腫瘤、肺癌、乳腺癌、皮膚疾病、心腦血管疾病等重大疾病的臨床輔助診斷方面取得良好效果。由于單個網絡的性能有限,越來越多的研究發現ResNet與其它網絡模型結合是一個重要的發展方向。在醫學圖像領域,從ResNet與DenseNet, U-Net, Inception結構、注意力機制結合的角度對醫學圖像分類識別、分割、融合、檢測、合成、去噪、超分辨率等方面進行綜述,期望為臨床醫生提供幫助,為醫療行業提供更大的便利。
相比ResNet,密集連接神經網絡(Dense Connection Neural Network, DenseNet)[77]提出一個密集連接機制:互連所有層,每個層都會與前面所有層在通道維度上拼接在一起,作為下一層的輸入,不僅可以實現特征重用,而且可以提升效率。ResNet和DenseNet結合主要是殘差連接和密集連接結合以及殘差塊和密集塊結合,可以提升模型的性能。目前兩者結合在醫學圖像處理領域中應用非常廣泛,取得了很多突破性進展。在醫學圖像領域,ResNet與DenseNet結合主要有WCRDGCNN、多路徑自適應融合網絡、FC-DPN, DualCheXNet和DLARDNet 5種模型。
(1)文獻[78]提出多通道多尺度交叉連接殘差密集分組卷積神經網絡(Wavelet based multi-channel and multi-scale Cross connected Residual-in-Dense Grouped Convolutional Neural Network,WCRDGCNN),用于醫學圖像的精確超分辨率(SR),該網絡通過使用殘差和密集跳躍連接將小波系數反向傳播到底層,解決了梯度消失問題。
(2)Ding等人[79]提出多路徑自適應融合網絡,在下采樣中將跳躍連接應用于密集塊,有效地傳播和保留低級視覺特征,提高了多模態腦腫瘤分割的性能。
(3)Shan等人[80]提出FC-DPN網絡用于皮膚病變自動分割,該網絡基于全卷積網絡(Fully Convolutional Network, FCN)和雙路徑網絡(Dual Path Network, DPN)構建,DPN結合了殘差路徑和密集連接路徑的優點,從而可以進行有效的特征重用和再利用。
(4)Chen等人[81]提出雙非對稱特征學習網絡DualCheXNet,用于多標簽胸部疾病分類,通過結合ResNet和DenseNet,從胸部圖像中捕獲更多的判別特征,提高胸部疾病分類性能。
(5)吳宣言等人[82]提出一種深層聚合殘差密集網絡DLA-RDNet用于超聲圖像左心室分割,在下采樣部分,結合ResNet與DenseNet的優勢,提出殘差密集網絡(Residual Dense Network, RDNet),充分利用所有卷積層的層次信息且實現較高的增長率。
醫學圖像分割是醫學圖像分析中的重要步驟。U-Net是由Ronneberger等人[83]于2015年提出的編碼器-解碼器結構的網絡,常用于解決醫學領域的圖像分割問題。它是一個由卷積、下采樣、上采樣和跳躍連接組成的對稱網絡,其中,收縮路徑進行特征提取,擴展路徑將提取到的特征圖恢復到原圖大小,收縮路徑和擴展路徑之間的跳躍連接使用拼接操作將特征在通道維度拼接在一起,使得全局特征和局部特征結合,有助于還原下采樣過程中的信息損失。近年來,許多研究人員通過結合殘差塊和U-Net,將ResNet的本質引入到醫學圖像分割領域,有助于提升分割精度。在醫學圖像領域,Res-Net與U-Net網絡結合主要有ResNet-34+U-Net,RRA-UNet, EED-Net和EAR-UNet 4種模型。
(1)Yu等人[84]使用改進的U-Net架構開發了一種用于光盤和杯形分割的魯棒分割方法,采用預先訓練的ResNet-34作為U-Net的編碼器部分,而解碼器部分則沿用原始U-Net結構,避免了過擬合,實現了魯棒性。
(2)為解決胰腺分割困難的問題,Lu等人[85]提出RRA-UNet網絡,在原始U-Net網絡的下采樣中添加環形殘差模塊,可以提取網絡深層的附加特征,有效地解決胰腺的邊界模糊問題。
(3)由于牙齒X射線圖像質量差,故進行準確的頜面分割比較困難,Kong等人[86]提出編-解碼器模型EED-Net,在編碼器中使用預激活殘差塊替換卷積層,以獲得有效的高分辨率特征,加快訓練速度,提高泛化能力。
(4)Pham等人[87]提出從耳鏡圖像中自動分割鼓膜的網絡EAR-UNet,其中解碼器是基于殘差塊構造的,編、解碼器之間的跳躍連接部分使用了卷積層和殘差塊,負責調整編碼器產生的特征,從而促進淺層和深層特征的融合。
為了在增加網絡深度和寬度的同時減少參數,Szegedy等人[88]在GoogleNet中提出Inception結構,通過在3×3卷積層和5×5卷積層前面以及最大池化層后面分別添加1×1卷積層來降低特征圖的通道維度以減少計算量。很多研究人員將ResNet和Inception結構結合來拓寬網絡,并提高ResNet的網絡性能。在醫學圖像領域,ResNet與Inception結構結合主要有DRINet, RIED-Net和Inception+殘差連接3種模型。
(1)Chen等人[89]提出DRINet用于醫學圖像分割,使用殘差Inception模塊聚合來自不同分支的特征圖,顯著加深和拓寬了網絡,提高了分割性能。
(2)Gao等人[90]提出一種用于醫學成像合成的殘差Inception編解碼網絡,其中殘差Inception塊由一條具有兩個3×3卷積層的路徑和一條具有1×1卷積層的殘差Inception捷徑組成,解決了輸入與輸出特征圖通道不同的問題。
(3)Zong等人[91]提出對眼底圖像進行硬性滲出物分割的網絡,該網絡以U-Net為骨干,收縮和擴展路徑中的每個單元都是由帶有Inception模塊的殘差單元構成的,不僅減少了參數數量,還通過引入更多的線性映射提高了網絡的表達能力。
注意力機制是通過網絡自主學習出的一組權重系數,并以“動態加權”的方式來強調所感興趣的區域,同時抑制不相關背景區域。目前主流的注意力機制包括通道注意力機制、空間注意力機制、通道和空間注意力機制、自注意力機制和注意門機制。Hu等人[92]提出了SENet,通過精確的建模卷積特征各個通道之間的關系來改善網絡模型的表達能力,SE模塊能夠讓網絡模型對特征進行校準,使網絡從全局信息出發來選擇性地放大有價值的特征通道并且抑制無用的特征通道。Woo等人[93]提出卷積塊注意力模塊(Convolutional Block Attention Module, CBAM)結合了通道注意力和空間注意力機制,通過學習的方式自動獲取每個通道和空間的重要程度,并利用重要程度來提升特征并抑制對當前任務不重要的特征。醫學圖像常常使用注意力機制使網絡關注感興趣區域,準確地定位病灶區域,有效地提高網絡性能。在醫學圖像領域,ResNet與注意力機制結合主要有CRAL框架、PARL塊、EAR-Unet, BVA Net和RHAM-MResNet-10 等5種模型。
(1)Guan等人[94]提出用于多標簽胸部X射線圖像分類的分類殘差注意力學習(Category-wise Residual Attention Learning, CRAL)框架,該框架使用類別注意,通過賦予相應的特征表示以較小的權重來抑制不相關類別,并增加相關類別的權重,可以有效地對胸部X射線圖像進行分類。
(2)Wang等人[95]為了在3D胸部CT圖像中快速篩查COVID-19,設計了優先注意力殘差學習(Prior-Attention Residual Learning, PARL)塊,來自病變區域檢測分支的分層注意力信息被轉移到COVID-19分類分支,以學習更多的判別表示。
(3) Cheng等人[96]提出用于醫學圖像分類和分割的殘差組注意力網絡(ResGANet),在該網絡中引入組注意力塊,它使不同特征圖組之間的通道注意力成為可能,同時通道考慮的其他特征圖組通過空間注意力模塊聚合了所有分組的空間信息,提高了CNN的特征表示能力。
(4)Xing等人[97]提出BI-RADS矢量注意力網絡用于超聲圖像中的乳腺腫塊分類,其中殘差注意力塊從殘差特征圖中計算出空間注意力掩碼,空間注意力掩碼作為空間特征過濾器,過濾掉不必要的空間特征。
(5)喬思波等人[98]提出RHAM-MResNet-10模型對腦部CT圖像進行分類,在殘差映射結構中加入殘差混合注意力模塊,精確捕捉了腦部組織在CT圖像中的位置和內容信息,極大降低噪聲的影響,提升模型的分類準確率。
殘差神經網絡在深度學習領域取得突破性的進展,因此,本文對殘差神經網絡的研究背景和意義進行概述,闡述了基本原理和網絡結構,并從殘差單元、殘差連接和網絡整體結構3個方面對殘差神經網絡進行總結。此外,從ResNet與DenseNet,U-Net, Inception結構和注意力機制結合4方面探討ResNet在醫學圖像領域中的廣泛應用,有助于醫生做出正確的醫學判斷和更好的患者預后,為臨床計算機輔助診斷提供參考。盡管殘差神經網絡在醫學圖像領域取得了突破性的進展,并且在未來將發揮實質性的作用,但是仍然面臨許多困難,存在以下亟待研究的問題:
(1)盡管深度學習模型性能在不斷地提高,但仍離不開大規模的高質量標注數據集的支持。大量醫學圖像數據缺乏有效的數據標注且數量有限,很多研究者嘗試利用稀疏標注或未標注數據進行弱監督學習,但是完成過程相對簡單且模型的泛化能力較弱。因此優質的數據源和好的數據標注非常重要,如何實現在標注數據集不完善的情況下進行弱監督學習,在醫學圖像未來的研究中具有重要意義。
(2)殘差神經網絡一直是醫學圖像領域的研究熱點,但其網絡模型的準確率和魯棒性有待提高。其中激活函數、歸一化算法、卷積層的設計值得探討,此外,殘差單元和殘差網絡的結構對網絡的學習能力和泛化能力影響很大。因此設計合理且泛化效果好的殘差神經網絡模型,將會是未來發展的趨勢。
(3)由于單個網絡模型性能有限,對殘差神經網絡與其他網絡模型進行混合改進,使得殘差神經網絡在醫學圖像分析任務中取得更高的準確率是最具挑戰性的問題。
(4)近年來“互聯網+”應用于醫療研究已經成為現代科技的熱點,人工智能在醫學影像和醫療智能決策中發揮著重要作用,互聯網醫療的快速發展促進了科研和臨床實踐的有效結合,使得醫療產業的發展通過互聯網技術的應用而煥發新生。