杜 鵬,李 超,石劍平,姜 麟
(昆明理工大學理學院,云南 昆明 650500)
近期機器學習中監督學習的許多突破都是通過深度神經網絡的應用實現的,神經網絡的深度是獲得這些成功最重要的因素之一。在經典圖像分類數據集ImageNet上,2012年,Krizhevsky等人[1]使用深度卷積神經網絡—AlexNet將1 000分類的正確率提升至84%,AlexNet取得的突破是前所未有的。在接下來的幾年里,主流的網絡結構突破方向大致是加深網絡。Simonyan等人[2]在2014年使用更深層次的網絡架構將分類正確率提升至95%。然而簡單地增加網絡層數并不意味著能提高網絡的學習效果,訓練更深層次的網絡始終是一個巨大的難題。2015年,Srivastava等人[3]提出Highway Networks,借鑒解決循環神經網絡RNN(Recurrent Nerual Network)中的問題而被提出的長短期記憶LSTM(Long Short-Term Memory)結構,在深度神經網絡中使用門函數來控制信息在層與層之間的流動,形成一種捷徑連接方式,解決了梯度信息回流受阻,網絡訓練困難的問題。之后He等人[4]提出殘差網絡ResNet(Residual Nerual Network),利用殘差學習機制來解決深度神經網絡的可訓練問題,模型增加一個恒等映射,并通過捷徑連接,將殘差構件的輸出與輸入逐個相加。2017年,Lu等人[5]從微分方程數值解的角度出發,提出線性多步結構LM-architecture(Linear Multi-step architecture),以ResNet為基礎模型,構造效率更高的深度神經網絡模型LM-ResNet。
尋找合適的捷徑連接方式指導深度神經網絡的結構設計,并輔以對應的網絡權重初始化條件以及訓練參數設置,可以解決網絡的可訓練性問題以及模型的效率提升問題。本文將微分方程數值解法—阿當姆斯Adams法思想,遷移到網絡結構的設計中,提出一種基于阿當姆斯法的捷徑連接(shortcut connection)方式。對類殘差學習機制的網絡保留殘差學習機制,解決梯度消失問題,并將之前相鄰殘差構件的輸入與當前殘差構件的輸入進行加權求和,使得相鄰層之間對于特征的提取更緊密,在網絡訓練后期梯度值更新幅度較小時,能繼續完成對權值的更新,以達到更高的學習精度,使網絡變得更有效。特別地,本文以ResNet為基礎模型,對于不同的層數,在Cifar10數據集上進行驗證,并將基于Adams法的捷徑連接方式的ResNet模型Adams-ResNet與源模型ResNet、LM-ResNet進行對比,Adams-ResNet有更好的結果。
多層神經網絡的學習與微分動力系統數值解的研究很早就被聯系在了一起,將微分動力系統成熟的數值解法遷移到神經網絡的學習上是可行的[6]。
類殘差網絡模型通過組成一個序列來構造復雜的變換將輸入轉換到隱藏層:
ht+1=ht+f(ht,θt)
(1)
其中,ht∈RD為時刻t的輸出,D表示輸出的維度,t∈{0,1,…,T},T表示最終時刻,對應網絡輸出層,θt為時刻t的網絡層權重。這些迭代可以視為連續變換的歐拉離散形式[5,7,8]。
當層數足夠多步長足夠小,在此基礎上取極限情況,Chen等人[9]用神經網絡對應的常微分方程ODE(Original Differential Equation)來參數化連續動力系統中的隱藏單元:
(2)
從輸入層h0出發,可以定義hT的輸出。這與微分方程在時刻T的初值求解問題是一致的。
Lu等人[5]從理論上證明了一些類殘差學習機制的神經網絡與微分方程數值解法之間的聯系,例如2016年Larsson等人[10]提出的FractalNet,以及Zhang等人[11]提出的PolyNet,這些深度神經網絡都有關聯的ODE和與之對應的數值解形式,如表1所示。

Table 1 ODEs and corresponding numerical solutions associated residual-like network 表1 一些類殘差網絡關聯的ODE與數值解方法
對于類殘差網絡關聯ODE的初值求解問題,考慮形式如式(1)所示的阿當姆斯法:
(3)

hn+2=hn+1+knfn+(1-kn)fn+1
(4)
其中,kn∈R為對應隱藏層中的可訓練參數。特別地當取m=1時,即為微分數值解法中的歐拉法。基于此,本文在類殘差網絡的殘差單元之間構造了Adams法的捷徑連接。這種捷徑連接方式依賴于源模型的殘差單元結構,因此本文更關注比源模型更優的結果。圖1所示為采用了不同捷徑連接方式的ResNet與Adams-ResNet結構。

Figure 1 Structures of ResNet and Adams-ResNet using different shortcut connection圖1 不同捷徑連接方式的ResNet與Adams-ResNet結構

Figure 2 Examples of 10 types of image in Cifar10圖2 Cifar10中10類圖像示例
Cifar10數據集有10個分類,共60 000幅彩色圖像,圖像像素大小為32×32,每類圖像6 000幅,其中5 000幅為訓練集,剩余1 000幅為驗證集。原數據集中50 000幅訓練圖像被隨機劃分為5個批次,每個批次10 000幅,本文實際訓練時每重新訓練一次都會將50 000幅圖像混合再重新隨機打亂,避免每次訓練時同批次的圖像皆為某幾類圖像,造成網絡后期權值更新出現振蕩。圖2所示為Cifar10中10類圖像中隨機抽取的10幅圖像。
本文直接在50 000幅圖像的訓練集上進行實驗,并使用10 000幅圖像的驗證集進行評估。同樣地,本文關注的是深度神經網絡可訓練性本身,并不是獲取在該數據集上最優的結果。因此,本文使用與He等人[4]相同的簡單殘差構件單元來驗證實驗,即使用一個2層的卷積網絡構成一個殘差構件單元,整個網絡結構以一個單層的3×3卷積層開始,緊隨著3個不同通道數的殘差構件、全局平均池化層和1個全連接層分類層。每個殘差構件的殘差單元有一個可訓練參數kn,并且在模型訓練時令其初始值服從[1,1.1]上的均勻分布。其余的權重初始值和批歸一化處理BN(Batch Normalization)層初始參數,本文分別采用與文獻[12,13]中相同的參數設置,并且同樣舍棄了隨機失活dropout層,權重衰減率和沖量分別設置為0.000 1與0.9。在Cifar10上訓練時,使用隨機梯度下降SGD(Stochastic Gradient Descent)優化器訓練240次,批次大小為128。為了使網絡在前期快速收斂,實驗中前40次訓練采用0.01的學習率進行熱身,41~160次的訓練學習率采用0.1,161~180次訓練期間學習率降為0.01,余下的每次訓練選取衰減率0.01更新學習率直至訓練結束。
本文對Cifar10數據集中的圖像做了簡單的數據增強[14]。在訓練時對每幅圖像進行零填充,將像素大小擴充到36×36,再隨機裁剪出一幅32×32的圖像進行隨機水平翻轉,并利用圖像3個通道像素值的均值與方差對其進行歸一化處理。這種預處理操作,在每一次訓練時都是隨機的,避免模型在每次訓練時同批次都為相同的輸入圖像,這樣可以增強模型的泛化能力。在驗證時,本文使用原始的圖像直接進行相同的歸一化之后作為網絡輸入。
如圖3和圖4所示,模型在學習過程中目標函數損失處于比較平穩的下降過程,合理的沖量和學習率適配網絡結構也使得模型在后期微調參數時避免出現振蕩,模型隨著訓練次數的增加學習能力增強,這也一定程度上說明了模型的可訓練性。

Figure 3 Loss changes of Adams-ResNet56 during training圖3 Adams-ResNet56在訓練過程中的損失變化

Figure 4 Loss changes of each layer of the network during fine-tuning in later training圖4 各層網絡在訓練后期微調時損失變化
本文比較了20,32,44和56層的Adams- ResNet、ResNet[4]和LM-ResNet[5]在Cifar10上的性能,比較結果如表2所示,其中Params表示參數量。縱向比較,采用微分方程數值解法思想設計的LM-ResNet與Adams-ResNet在每一種層數的網絡結構上都是優于源模型的。第2節中建立了類殘差學習機制的網絡與微分方程的關聯,在理論上微分方程數值解法——Adams法在這種類殘差學習機制的網絡上應是收斂的,本節在后面將通過對網絡層中殘差單元的kn值與式(5)中Adams法的相容性條件進行比較,進一步分析其收斂性。橫向比較LM-ResNet與Adams-ResNet在Cifar10上的性能表現,Adams-ResNet在沒有增加參數的前提下達到了更高的識別正確率。尤其在20層與32層的網絡結構性能表現上,Adams-ResNet的識別正確率相比ResNet分別提升了1.2%和0.66%,而LM-ResNet的識別正確率相比ResNet僅提升了0.42%和0.33%,基于Adams法的捷徑連接方式在網絡后期具有更高的學習精度。

Table 2 Performance comparison of Adams-ResNet with ResNet and LM-ResNet on Cifar10表 2 Adams-ResNet與ResNet、LM-ResNet在Cifar10上的性能對比
圖5所示為Adams-ResNet在Cifar10上訓練后期識別正確率的變化情況。在第160次訓練之后使用較小的學習率對網絡的可學習參數進行微調,Adams-ResNet表現出了良好的穩定性,在學習后期取得了優于源網絡的學習精度。本文提出的捷徑連接方式提升了類殘差學習機制神經網絡在深度上的可訓練性。

Figure 5 Error changes of in later training of Adams-ResNet on Cifar10 圖5 Adams-ResNet在Cifar10上訓練后期錯誤率變化
對于深度神經網絡,受到實際應用中算力的影響,模型的復雜度也是一個重要的考慮因素。這就要求在深度神經網絡的結構設計中,不僅要追求模型的學習精度,也要考慮模型的大小及其計算量,以得到更有效的深度神經網絡模型。表3和圖6所示為基于Adams法的捷徑連接方式應用到ResNet上時,模型的性能表現與參數量的關系,表3中Ratio-to-Adams-ResNet表示在基本相同的正確率下改進前后的模型參數量的比值。Adams-ResNet在Cifar10數據集上在達到更高的識別正確率的前提下,參數量更少。取得最高識別正確率的Adams-ResNet56僅使用了源模型一半的參數量,將模型的深度由110層降至56層,且未降低模型的學習精度,有效地壓縮了模型,避免模型出現參數冗余。基于Adams法的捷徑連接方式能使類殘差學習機制深度神經網絡變得更有效。

Table 3 Parameters of Adams-ResNetand its performance on Cifar10表3 Adams-ResNet參數量及在Cifar10上的性能表現

Figure 6 Performance of models on Cifar10圖6 模型在Cifar10上性能表現
圖7所示為在Adams-ResNet中隱藏層中殘差單元的可訓練參數kn值,橫坐標為類殘差單元的索引值。從折線的變化趨勢來看,不同層數的Adams-ResNet的隱藏層中kn的總體變化情況是基本一致的。這是由于示例網絡在對數據集進行從基礎紋理特征到抽象特征提取的過程中,類似特征出現在了各網絡不同的階段,而Adams法在學習過程中對這些特征比較敏感,這種敏感并不會隨著網絡層數的減少而丟失,這造成了Adams法應用在層數較少的深度神經網絡上時,有效性提高得更明顯;從kn的取值來看,除去臨近輸出層的少數隱藏層,絕大多數的值都分布在[-1,0]。在文獻[15]中證明了二步的顯式阿當姆斯法與式(2)中的微分方程是相容的,則滿足:
(5)
此時,β0=-0.5.這與Adams-ResNet中的取值區間是一致的。這同樣也是雖然本文僅在ResNet上驗證,但認為基于Adams法的捷徑連接方式推廣到其它類殘差網絡上仍能有效地壓縮模型,抑制深度神經網絡在訓練后期出現的振蕩現象,提升網絡的可訓練性的原因。
本文針對深度神經網絡現在廣泛存在并仍待解決的可訓練性問題,尋找一種合適的捷徑連接方式來設計類殘差學習機制神經網絡,從微分方程數值解法—Adams法本身具有的性質出發,構造殘差單元之間的捷徑連接方式,使得源模型在訓練后期具備更強的學習能力的同時,壓縮模型的規模,這對于今后設計更有效的深度神經網絡有一定的啟發性。本文以經典的ResNet為例設計了Adams-ResNet,尋找了與所提基于阿當姆斯捷徑連接方式適配的實驗參數設置,在Cifar10上表現出了比源模型更優的性能。然而該種捷徑連接方式依賴于源模型的結構來構造更有效的深度神經網絡,更關注對源模型大小的壓縮,提高模型的效率,如果想要獲得在各類圖像識別任務上最先進的結果,仍需尋找合適的源模型結構,這同樣也是如今深度神經網絡結構設計的一大難題。