張欣培,周堯,章毅
(四川大學 計算機學院, 四川 成都 610065)
產(chǎn)前超聲檢查是監(jiān)測胎兒在母體內(nèi)生長情況的重要步驟,在傳統(tǒng)產(chǎn)前超聲檢查的過程中,臨床醫(yī)生利用超聲設備獲得胎兒各個部位的二維超聲標準切面,并在此基礎上測量各種體征數(shù)據(jù),以評估胎兒在母體內(nèi)的發(fā)育情況,預測早產(chǎn)的風險。但產(chǎn)前超聲檢查用到的切面種類多、不同切面的主要結(jié)構(gòu)和復雜程度都不一樣,使用傳統(tǒng)方式手動獲取切面會面臨很多問題,如:1)標準切面的獲取難度大,對超聲醫(yī)生的臨床經(jīng)驗依賴度極高;2) 因不同超聲醫(yī)生專業(yè)水平的差異,獲取到的標準切面結(jié)果可能不同,切面圖像的規(guī)范性得不到保障;3) 臨床工作效率低,易使孕婦受檢時間過長,引起不良反應。近年來,隨著深度神經(jīng)網(wǎng)絡在醫(yī)學圖像分析領(lǐng)域的發(fā)展與應用,為解決傳統(tǒng)方法的弊端,研究人員逐漸將深度神經(jīng)網(wǎng)絡應用到胎兒超聲切面圖像的自動識別任務中,輔助醫(yī)生進行診斷。
Maraci等[1]采用動態(tài)紋理分析和支持向量機(SVM)算法[2]對產(chǎn)婦孕中期的超聲檢查視頻的每幀圖像進行標準切面識別。SVM算法是一種利用高維映射來解決機器學習中線性不可分問題的算法,但在數(shù)據(jù)量過大時,其魯棒性和準確率無法得到保證,所以SVM算法的性能是有限的。隨著大數(shù)據(jù)和深度神經(jīng)網(wǎng)絡的發(fā)展,各種深度神經(jīng)網(wǎng)絡方法被應用在胎兒超聲切面圖像識別任務中。Baumgartner等[3]首次提出了基于圖像級別標簽的弱監(jiān)督方法,使用卷積神經(jīng)網(wǎng)絡對胎兒標準切面圖像進行實時自動檢測,其F1評價指標達到了0.791 8,且在回溯幀檢索中的準確率達到了90.09%。Maraci等[4]使用條件隨機場模型從超聲檢查視頻的每一幀圖像對胎兒心臟切面進行檢測。條件隨機場模型[5]是一種判別式模型,在觀測序列的基礎上對目標序列進行建模,可以通過超聲視頻的每一幀及其前后幀所提供的序列化信息來檢測胎兒心臟切面,但此方法在訓練時的收斂速度極慢。Ryou等[6]提出了一種基于隨機森林的矢狀面胎兒全域定位方法,利用卷積神經(jīng)網(wǎng)絡對胎兒頭部、身體和非胎兒切面進行識別。Cheng等[7]用基于卷積神經(jīng)網(wǎng)絡的遷移學習模型對胎兒腹部二維超聲切面進行識別,分別使用兩個卷積神經(jīng)網(wǎng)絡CaffeNet[8]、VGGNet[9]進行對比實驗,基于CaffeNet的遷移學習模型達到了平均77.3%的準確率,基于VGGNet的遷移學習模型達到了77.9%的準確率。
近年來,越來越多的研究人員將深度神經(jīng)網(wǎng)絡應用于臨床輔診任務中。隨著計算機硬件設備的不斷發(fā)展,在圖形處理器(GPU)上訓練各種深度神經(jīng)網(wǎng)絡已不是一件難事。但龐大神經(jīng)網(wǎng)絡模型在訓練過程中的計算資源占用量是巨大的,不可避免地耗費大量時間開銷對輸入數(shù)據(jù)進行處理,極大限制了實際應用時的運行效率。同時,在目前的研究和應用中,多使用預訓練模型針對不同任務進行微調(diào),該方式極易造成參數(shù)冗余的問題,增加不必要的時間開銷,難以提高實時分析能力;且在實際部署時,深度神經(jīng)網(wǎng)絡模型占用大量內(nèi)存,對終端設備的計算資源需求高。
針對以上問題,本文提出改進的兩階段知識蒸餾方法,在保留分類性能的同時提升模型的實時分析能力。首先,根據(jù)胎兒超聲切面圖像的特征,調(diào)研和使用幾種主流分類模型進行實驗,綜合考量其計算資源占用量和分類性能,選擇Resnet8和Resnet101分別作為學生網(wǎng)絡和教師網(wǎng)絡。再者,通過第1階段,使用預訓練好的教師網(wǎng)絡的隱藏層信息初始化學生網(wǎng)絡的中間層,將Resnet101模型的隱藏層輸出作為Resnet8模型中間層訓練的標簽信息,使學生網(wǎng)絡的中間層獲得初始化的先驗權(quán)重;最后,通過第2階段進行知識蒸餾,將教師網(wǎng)絡的負樣本標簽蘊含的軟標簽信息“蒸餾”,作為此階段訓練的監(jiān)督信息。通過以上方法得到的學生網(wǎng)絡模型,在分類性能的各項指標上超過教師網(wǎng)絡模型,且其計算資源占用量大幅降低,模型被有效壓縮,加快了實際應用時的分析速度。
針對醫(yī)學超聲圖像分類任務的特點,分別選取 MobileNetV2、MobileNetV3small、Resnet8、VGG16、Resnet34和Resnet101模型。前3個模型屬于輕量級模型,適合從中選擇合適的學生網(wǎng)絡;后3個模型參數(shù)數(shù)量較多,適合作為教師網(wǎng)絡的選項,其參數(shù)量對比如表1所示。由表1可得,前3個模型與后3個模型相比,參數(shù)數(shù)量更少,具有更輕量級的特征?;诖?,設計對比實驗從前3個模型中選擇合適的學生網(wǎng)絡,從后3個模型中選擇合適的教師網(wǎng)絡。MobileNetV1是Andrew等[10]提出的一種神經(jīng)網(wǎng)絡結(jié)構(gòu),利用深度可分離卷積減少了參數(shù)數(shù)量,從而降低計算量,提高計算效率。這種神經(jīng)網(wǎng)絡模型適合部署到移動端或嵌入式系統(tǒng)中,但其不足之處在于該網(wǎng)絡是一種較簡單的單通道結(jié)構(gòu),在任務中的準確率等性能表現(xiàn)往往不能達到預期目標。隨著Res-Net和DenseNet等網(wǎng)絡的提出,研究人員驗證了卷積層輸出的復用對提升網(wǎng)絡性能的有效性,MobileNetV2[11]應運而生,引入具有線性瓶頸的逆殘差結(jié)構(gòu)模塊,一定程度改善了原有MobileN-etV1模型的不足。MobileNetV3[12]是該系列的最新版本,包含MobileNetV3Small和MobileNet-V3Large兩種模型,結(jié)合自動機器學習技術(shù)以及人工微調(diào)構(gòu)建了更輕量級的模型。本文所述的Resnet8模型是對Resnet18模型進行改造而形成的層數(shù)和參數(shù)數(shù)量更少的輕量級模型,由7層卷積層與1層全連接層構(gòu)成。由表1可知,在評價計算資源占用量指標的參數(shù)數(shù)量上,Resnet8模型比其他兩個輕量級模型具有一定優(yōu)勢。
表1 不同分類模型參數(shù)量對比Table 1 Parameter comparison of different models
近年來,隨著大數(shù)據(jù)和深度神經(jīng)網(wǎng)絡的不斷發(fā)展,在強大的GPU上訓練各種復雜的神經(jīng)網(wǎng)絡模型已不是一件難事。但在實際部署時,因用戶端終端設備的運算能力有限,使得復雜模型的部署變得困難;在實際應用方面,深度神經(jīng)網(wǎng)絡需要巨大的時間開銷對輸入數(shù)據(jù)進行處理,極大限制了實時分析能力?;诖耍芯咳藛T逐漸將目光放在模型壓縮領(lǐng)域的各項研究上來。知識蒸餾作為模型壓縮的一大分支,也不斷取得各項進展。Bucilua等[13]首次提出模型壓縮的概念,這種方法能將有效信息從深度神經(jīng)網(wǎng)絡模型轉(zhuǎn)移到訓練淺層模型,而不會顯著降低原有模型的精度。Romero等[14]提出FitNet,不僅利用教師網(wǎng)絡最后一層神經(jīng)元的輸出信息,還利用了其中間層信息,成功訓練了較原有教師網(wǎng)絡更深但更窄的學生網(wǎng)絡。Hinton等[15]正式將這種學習模式定義為“知識蒸餾”,并提出了帶溫度系數(shù)T的Softmax函數(shù)。通過此函數(shù)將教師網(wǎng)絡的負樣本信息輸出的概率分布“蒸餾”出來,以對學生網(wǎng)絡的訓練提供額外的監(jiān)督信息。他們在MNIST數(shù)據(jù)集上進行初步試驗,證明了帶溫度系數(shù)T的Softmax函數(shù)對深度神經(jīng)網(wǎng)絡模型精度提高的有效性;并分別在語音數(shù)據(jù)集和大型數(shù)據(jù)集JFT上進行對比實驗,證明了知識蒸餾對模型精度提高和模型壓縮的有效性。受課程學習(curriculum learning)的啟發(fā),Jin等[16]發(fā)現(xiàn)由學生網(wǎng)絡和教師網(wǎng)絡間的結(jié)構(gòu)差異而造成蒸餾失敗的問題,并針對此提出了路由約束提示學習方法。2019年P(guān)huong等[17]從理論上論述了知識蒸餾中學生網(wǎng)絡具有快速收斂的泛化邊界的原因,解釋了知識蒸餾的工作原理。2020年Ji等[18]分別從風險界、數(shù)據(jù)效率和不完美的老師3個角度進一步對廣義神經(jīng)網(wǎng)絡上的知識蒸餾方法進行了理論解釋。目前的知識蒸餾方法已擴展到師生學習[14]、相互學習[19]、輔助教學[20]、終身學習[21]和自主學習[22]等模式。通過知識蒸餾訓練后的學生網(wǎng)絡,能保留甚至超過教師網(wǎng)絡的性能,網(wǎng)絡結(jié)構(gòu)比教師網(wǎng)絡更簡單,減少了冗余參數(shù),能有效提高實時分析性能,緩解終端部署和實際應用的困難。
雖然現(xiàn)有知識蒸餾方法已經(jīng)取得了良好的效果,但也具有一定局限性。神經(jīng)網(wǎng)絡的隱藏層特征表達往往蘊含了豐富的有用信息,現(xiàn)有方法僅依托于神經(jīng)網(wǎng)絡最后一層神經(jīng)元輸出信息,提供的監(jiān)督信息是有限的。考慮到隱藏層特征表達和映射對深度神經(jīng)網(wǎng)絡模型的影響,在傳統(tǒng)知識蒸餾方法中融入隱藏層的特征表達,將在一定程度上為學生網(wǎng)絡提供更豐富的監(jiān)督信息。首先,在第1階段,通過對學生網(wǎng)絡預先進行訓練,使其學到教師網(wǎng)絡隱藏層豐富的特征表達,獲得優(yōu)于原始學生網(wǎng)絡中間層的權(quán)重信息;第2階段,對已學習到教師網(wǎng)絡隱藏層特征表達的學生網(wǎng)絡進行知識蒸餾。同時,考慮到在教師網(wǎng)絡訓練時會產(chǎn)生很多中間模型(anchor points[16]),應使用結(jié)構(gòu)相似的神經(jīng)網(wǎng)絡模型作為學生網(wǎng)絡,以便于學生網(wǎng)絡從其中間模型更好地進行特征學習,從而提升知識蒸餾的效率。基于此,本文使用師生學習模式,提出改進的兩階段知識蒸餾方法。
1.2.1 知識蒸餾方法
眾所周知,基于深度神經(jīng)網(wǎng)絡的分類任務都具有共同的特征:神經(jīng)網(wǎng)絡最后一層神經(jīng)元的輸出信息都會通過一個Softmax函數(shù),如式(1)所示,將輸出信息變成概率分布,才能與標簽信息求其極大似然值,此種經(jīng)過Softmax層直接輸出的信息被稱為硬標簽信息。
式中:qi是教師網(wǎng)絡輸出每一類的概率分布;zi是最后一層的神經(jīng)元的輸出信息。
但由于Softmax函數(shù)只輸出概率分布的獨熱編碼,會均一化所有負樣本標簽的信息,將負樣本標簽的概率都還原為0,弱化了負樣本標簽的概率信息對模型訓練的影響。對此,Hinton等[15]提出帶溫度系數(shù)T的Softmax函數(shù),如式(2)所示,此種經(jīng)過溫度系數(shù)T的輸出信息被稱為軟標簽信息。最后一層神經(jīng)元的輸出信息通過帶溫度系數(shù)T的Softmax函數(shù)后,能“蒸餾”出負樣本標簽的概率信息,為學生網(wǎng)絡的訓練提供更為豐富的“暗知識”,使學生網(wǎng)絡不只接受正樣本標簽的監(jiān)督訓練。
式中:qi是教師網(wǎng)絡輸出每一類的軟標簽;zi是最后一層的神經(jīng)元的輸出信息;T為溫度系數(shù)。根據(jù)不同的溫度蒸餾出的知識占比不同,需進行對比實驗選出最適合的溫度系數(shù)T。實驗數(shù)據(jù)圖片在不同溫度系數(shù)T下的預測概率如圖1所示。
圖1 不同溫度系數(shù)T下的概率分布Fig.1 Probability distribution with different parameter T
知識蒸餾方法基于軟標簽信息,在給定教師網(wǎng)絡的條件下,使用教師網(wǎng)絡最后一層神經(jīng)元的輸出信息經(jīng)過帶溫度系數(shù)T的Softmax函數(shù),將其預測的所有類別的概率分布“蒸餾”,作為知識蒸餾的監(jiān)督信息,指導學生網(wǎng)絡進行訓練。此方法為學生網(wǎng)絡的訓練提供了來自教師網(wǎng)絡的先驗知識,本質(zhì)上是在學生網(wǎng)絡的訓練中加入一種新的正則化機制。具體流程圖如圖2所示。
圖2 知識蒸餾網(wǎng)絡結(jié)構(gòu)Fig.2 Network structure of knowledge distillation
最終損失函數(shù)表達式為
式中:α為蒸餾強度;T為溫度系數(shù);φ為KL散度;為學生網(wǎng)絡經(jīng)過帶溫度系數(shù)T的Softmax層的權(quán)重矩陣;為教師網(wǎng)絡的權(quán)重矩陣; ψ 為交叉熵;Ws為學生網(wǎng)絡的硬標簽信息;Ylabel為輸入圖像的標簽信息。
1.2.2 改進的兩階段知識蒸餾方法
在第1階段,旨在提取教師網(wǎng)絡隱藏層的特征表達,將其作為此階段訓練的監(jiān)督信息,以此來指導學生網(wǎng)絡的中間層權(quán)重的初始化,使其學習到教師網(wǎng)絡的隱藏層特征表達。第1階段流程如圖3所示。
圖3 第1階段網(wǎng)絡結(jié)構(gòu)Fig.3 Network structure of the first stage
為獲得基于教師網(wǎng)絡隱藏層特征表達的學生網(wǎng)絡,Ws需凍結(jié)學生網(wǎng)絡的最后一層殘差連接層、池化層以及全連接層,僅訓練學生網(wǎng)絡的第一層至中間層h的權(quán)重矩陣。訓練集D={(x1,y1),(x2,y2),···,(xi,yi)}, 其 中 ,xi∈x? Rs×s×c即 通 道 數(shù) 為c的輸入大小為s×s的圖像數(shù)據(jù),yi∈(0,5)即輸入的圖像數(shù)據(jù)的標簽信息,在本文中代表屬于編號為0~5的6類標簽;即教師網(wǎng)絡隱藏層前g層的特征表達;即學生網(wǎng)絡中間前h層的特征表達。為解決教師網(wǎng)絡前g層輸出特征與學生網(wǎng)絡前h層輸出特征表達的維度不匹配問題,加入隨機初始化權(quán)重的卷積回歸層。最終通過最小化損失函數(shù)來優(yōu)化和卷積回歸層,其表達式為
式中:μ為教師網(wǎng)絡隱藏層函數(shù);υ為學生網(wǎng)絡中間層函數(shù);r為卷積回歸函數(shù)。為保證教師網(wǎng)絡隱藏層輸出特征和學生網(wǎng)絡卷積回歸層輸出特征維度一致,μ函數(shù)和r函數(shù)應具有相同的非線性性質(zhì)。
經(jīng)過第1階段訓練的學生網(wǎng)絡模型已經(jīng)具有基于教師網(wǎng)絡隱藏層特征表達的中間層權(quán)重信息,類比教師教授學生知識的環(huán)節(jié),相當于學生已經(jīng)在教師布置的預習任務中獲得了一定量的知識儲備,為接下來的教師教學打下基礎,即為第2階段的知識蒸餾訓練做鋪墊。在第2階段,使用知識蒸餾方法再次對學生網(wǎng)絡進行訓練,通過最小化損失函數(shù)去優(yōu)化學生網(wǎng)絡模型,不斷迭代,直至其損失函數(shù)值收斂。
1.2.3 學生網(wǎng)絡和教師網(wǎng)絡結(jié)構(gòu)
綜合各種分類模型在胎兒超聲切面數(shù)據(jù)集上的性能,考慮到分類性能與計算資源占用量之間的平衡,將Resnet8作為學生網(wǎng)絡模型,其層數(shù)淺、參數(shù)量少,具體參數(shù)如表2所示;將ResNet101作為教師網(wǎng)絡模型,其層數(shù)深、參數(shù)量大,具體參數(shù)如表3所示。二者都具有良好的分類性能,且二者具有相同的殘差結(jié)構(gòu),可以方便學生網(wǎng)絡學習教師網(wǎng)絡的特征表達。
表2 學生模型網(wǎng)絡參數(shù)Table 2 Network parameters of student module
表3 教師模型網(wǎng)絡參數(shù)Table 3 Network parameters of teacher module
本實驗在GPU深度神經(jīng)網(wǎng)絡集成計算平臺上進行,操作平臺為Ubuntu,使用的GPU為Nvidia GeForce RTX 3090Ti,顯存為 24 GB,使用的深度神經(jīng)網(wǎng)絡框架為PyTorch。
實驗采用的數(shù)據(jù)是胎兒超聲切面數(shù)據(jù)集,由BCNatal收集,涵蓋了來自兩個醫(yī)學中心共計12 400張?zhí)撼暻忻鎴D像,圖像格式為PNG,均做了匿名處理。此數(shù)據(jù)集包含了6類切面類型,各類型切面圖像概覽如圖4所示。胎兒超聲切面圖像作為產(chǎn)前檢查的重要依據(jù),均由專業(yè)的超聲科閱片醫(yī)師進行手動標注,每類切面的臨床意義其數(shù)據(jù)分布情況如表4所示,其中“其他類型”的存在可以提高模型對于不同類別在有干擾情況下的準確率。
圖4 胎兒超聲切面概覽Fig.4 Examples of fetal ultrasound section images
表4 數(shù)據(jù)集分布情況Table 4 Component distribution of datasets
本實驗將此數(shù)據(jù)集劃分為訓練集和測試集,其比例約為4∶1,具體分布情況如表5所示。為滿足不同分類模型對輸入圖像大小的限制,預先將圖像進行了拉伸縮放的預處理方式,將其調(diào)整為像素尺寸。同時,為了提高彩超圖像在基于ImageNet預訓練模型上的泛化能力,對原始超聲圖像進行歸一化等預處理。
表5 實驗數(shù)據(jù)集分布情況Table 5 Experimental component distribution of datasets
2.3.1 胎兒超聲切面分類實驗
針對本文所述的胎兒超聲切面分類任務的特點,使用不同深度神經(jīng)網(wǎng)絡分類模型進行實驗,并評估各種模型在胎兒超聲切面數(shù)據(jù)集上的準確率及其損失函數(shù)值。在MobileNetV2、MobileN-etV3Small、Resnet8、VGG16、Resnet34、Resnet101模型上進行分類實驗。此階段的學習率為1×10?6,并設置Warmup機制,首先使用較大的學習率進行訓練,然后逐漸逼近實驗設置的學習率;本實驗中的損失函數(shù)使用交叉熵函數(shù),優(yōu)化方法采用自適應梯度下降法(adam)算法,此方法較隨機梯度下降(SGD)算法能取得更優(yōu)的效果。
2.3.2 改進的兩階段知識蒸餾實驗
本方法對現(xiàn)有知識蒸餾方法進行改進,先進行第1階段訓練,將教師網(wǎng)絡隱藏層的輸出信息作為監(jiān)督信息,將其遷移到學生網(wǎng)絡的中間層,使學生網(wǎng)絡的中間層獲得教師網(wǎng)絡的隱藏層特征表達作為監(jiān)督信息訓練的初始權(quán)重。在第2階段,使用知識蒸餾方法對既得學生網(wǎng)絡模型進行二次訓練,整體訓練流程為
1) 將實驗所用數(shù)據(jù)集進行預處理和數(shù)據(jù)集劃分,分別用于訓練和測試;
2) 將訓練集輸入Resnet101模型,訓練教師網(wǎng)絡,使用測試集測試其分類性能,并保存性能最好的Resnet101模型作為教師網(wǎng)絡;
3) 固定教師網(wǎng)絡模型參數(shù),將其隱藏層的輸出信息作為學生網(wǎng)絡中間層知識遷移的監(jiān)督信息;
4) 凍結(jié)學生網(wǎng)絡的最后3層參數(shù),即全連接層、最后池化層、和最后一層殘差網(wǎng)絡層。為解決教師網(wǎng)絡中間層輸出特征和學生網(wǎng)絡中間層輸出特征維度不一致的問題,需在學生網(wǎng)絡中間層的最后添加一個卷積回歸層。
5) 在第1階段,將訓練集輸入學生網(wǎng)絡,使用步驟3)獲得的教師網(wǎng)絡隱藏層特征表達作為監(jiān)督信息,訓練學生網(wǎng)絡中間層Wpre和Wr。使用Lhint作為損失函數(shù),通過反向傳播算法不斷迭代優(yōu)化式(4),最小化其損失函數(shù)值,直到收斂。保存此階段訓練的學生網(wǎng)絡模型。
6) 用知識蒸餾方法對步驟5)獲得的學生網(wǎng)絡模型進行二次訓練。將學生網(wǎng)絡直接訓練的輸出作為硬標簽信息,結(jié)合教師網(wǎng)絡最后一層神經(jīng)元的輸出經(jīng)過帶溫度系數(shù)T的Softmax層后的軟標簽信息,將二者加權(quán)求和作為監(jiān)督信息,最小化LKD來優(yōu)化學生網(wǎng)絡的權(quán)重參數(shù)。通過反向傳播算法迭代式(3),最小化損失值,直到收斂。同時計算各種性能指標,保存性能最佳的學生網(wǎng)絡模型。
7) 用訓練好的學生網(wǎng)絡模型進行預測,測試其各項性能指標。
針對本任務,使用多個評價指標,即準確率(Acc)、宏精確率(MacroPre)、宏召回率(MacroRecall)、宏F1-score值(MacroF1)和前向傳播時的計算力(FLOPs)。Acc即預測正確的樣本類別占總樣本的比例,體現(xiàn)了模型的預測能力。精確率在二分類中即正確預測為該類別的占全部預測為該類別的比例,在多分類中,對每個標簽分別計算其精確率,再對其取算數(shù)平均(Macro),得到MacroPre;召回率在二分類中即正確預測為該類別的樣本數(shù)占全部實際為該樣本的比例,在多分類中,對每個標簽分別計算其召回率,再對其取算數(shù)平均,得到MacroRecall;F1值在二分類中,即對精確率和召回率的評估,在多分類中,對于每個標簽,分別計算其F1值,然后對其取算數(shù)平均,得到MacroF1。以上參數(shù)數(shù)值越大,分類模型的性能越好。FLOPs(fLoating point operations),即浮點運算數(shù),衡量模型復雜度,體現(xiàn)了模型的運算能力。
分別計算每一類的 Prei、Recalli、F1的公式為
對既得的每一類的Pre和Recall以及F1,再使用Macro算法。先分別求出每個類別對應的值,再對其求算數(shù)平均值:
Acc可計算為
式中:TPi、TNi、FPi、FNi分別代表第i類別的正陽性、正陰性、假陽性和假陰性。
卷積核 FLOPs 的計算為
式中:H、W和Cin分別是輸入特征圖的高度、寬度和通道數(shù);K是卷積核寬度 (假定卷積核長寬相等),Cout是輸出通道數(shù)。全連接層 FLOPs 的計算為
式中:I是輸入維數(shù);O是輸出維數(shù)。
在本文中,為了凸顯本方法的有效性,還關(guān)注各個模型的網(wǎng)絡深度、顯存占用量、GPU占用率、損失值、模型文件大小等性能指標。
使用不同的分類模型,在相同的訓練集和驗證集上進行對比訓練,從其計算資源占用情況、準確率和損失值來衡量其分類性能。其中損失值為交叉熵函數(shù)的輸出,體現(xiàn)了分類模型的預測值和真實值之間的概率分布情況,本實驗中選用損失值低于0.1的指標作為分類器取得了好的效果的基準,具體情況如表6所示。
表6 各神經(jīng)網(wǎng)絡模型性能對比Table 6 Experimental results with different neural network methods
由表6可知,在準確率性能的表現(xiàn)上,Resnet101模型較VGG16模型提升了2.98%個百分點,較Resnet34模型提升了4.35%,較Resnet8模型提升了5.28%,取得了最優(yōu)的準確率性能表現(xiàn)。在計算資源占用量方面,Resnet101模型的網(wǎng)絡深度是Resnet8模型的近12倍,相比其他兩個較大的模型也增加了近3~5倍,訓練時的顯存占用量和GPU占用率和FLOPs也是最高的。綜上所述,充分表明Resnet101模型具有最好的分類性能的同時,其計算資源占用量也最龐大,適合作為教師網(wǎng)絡進行后續(xù)實驗,以驗證知識蒸餾方法能否在保留其分類性能的情況下將模型壓縮,并達到提升實時性分析能力的目的。
在學生網(wǎng)絡的選擇方面,應考慮模型本身的參數(shù)數(shù)量和計算資源占用情況,盡量減少冗余參數(shù);同時,學生網(wǎng)絡本身的分類準確率也是重要指標之一,不能為了壓縮模型的大小,使得分類性能得不到保證。由表6可得,輕量級模型MobileNetV2、MobileNetV3Small和 Resnet8模型都具有較好的基本分類性能,但MobileNetSmall在準確率上的表現(xiàn)卻不如其他兩個模型。對比MobileNetV2和Resnet8的各項性能指標,雖然前者在準確率性能指標上超過后者1.05%,但其顯存占用量是后者的近8倍,在GPU占用率和FLOPs等性能上也處于劣勢。Resnet8模型有較好的分類性能,其在訓練時的計算資源占用量是更輕量級的,最終得到的模型文件大小較前兩者也是最小的?;诖耍疚木C合考慮準確率和計算資源占用量,同時假設與教師網(wǎng)絡模型具有相同殘差結(jié)構(gòu)的Resnet8模型,能更好地學習到以Resnet101網(wǎng)絡特征表達作為監(jiān)督信息的“知識”,選用Resnet8模型作為學生網(wǎng)絡,如表7所示。
表7 學生網(wǎng)絡和教師網(wǎng)絡計算資源占用Table 7 Occupation of computational resource of student and teacher models
綜上所述,Resnet101模型在胎兒超聲切面分類任務中具有最優(yōu)異的分類性能,較Resnet8模型具有5.28%的準確率指標提升。綜合各種分類模型在胎兒超聲切面數(shù)據(jù)集上的性能,考慮到分類性能與計算資源占用量之間的平衡,將Resnet8作為學生網(wǎng)絡,將ResNet101作為教師網(wǎng)絡,此二者都具有良好的分類性能,且具有相同的殘差結(jié)構(gòu),可以方便學生網(wǎng)絡學習教師網(wǎng)絡的隱藏層特征表達,提高泛化能力。學生網(wǎng)絡模型和教師網(wǎng)絡模型在訓練時的資源占用情況對比如表8。
表8 不同溫度系數(shù)T的性能對比Table 8 Experimental results with different parameter T
由表8可知,Resnet8模型較Resnet101模型的訓練參數(shù)量減少了近4 210萬,在訓練時的顯存占用和GPU使用率上也更具優(yōu)勢,模型文件大小也縮小近43倍,占用的計算資源不再冗余,F(xiàn)LOPs縮小了近198倍,提升了實際部署的可行性。
使用不同的溫度系數(shù)T進行對比實驗,選擇5、10、20、30、40作為實驗的溫度參數(shù)T,其分類可視化混淆矩陣如圖5所示。
圖5 不同溫度系數(shù)T的知識蒸餾分類混淆矩陣Fig.5 Confusion matrix of knowledge distillation classification with different parameter T
比較學生網(wǎng)絡在不同溫度系數(shù)T的訓練結(jié)果,選擇最合適的T作為整個實驗中的溫度系數(shù)T。由表9可得,當溫度系數(shù)T=5時,學生網(wǎng)絡在準確率、宏準確率、宏召回率、宏F1值等性能指標相比其他溫度系數(shù)T得到的模型是最具優(yōu)勢的。同時,在溫度系數(shù)T=5的情況下,通過現(xiàn)有知識蒸餾方法訓練的學生網(wǎng)絡模型與學生網(wǎng)絡單獨訓練時得到的模型的性能相比,各項性能都得到了提升,較原有學生網(wǎng)絡的準確率提升5.16%,并不斷逼近教師網(wǎng)絡模型的準確率,在宏精確率和宏F1值上都超過了教師網(wǎng)絡模型,漲幅分別為1.19%和0.07%,且其計算資源占用量遠小于原始教師網(wǎng)絡?;诖?,選擇T=5作為實驗中的溫度參數(shù)T。
表9 不同優(yōu)化方法的性能對比Table 9 Performance comparison of different models
3.3.1 第1階段有效性實驗
Resnet8模型與Resnet8+stage1模型相比,前者是Resnet8模型直接訓練得到的學生網(wǎng)絡模型;而后者是經(jīng)過改進的兩階段知識蒸餾方法第1階段的Resnet8模型,再直接訓練得到的學生網(wǎng)絡模型。由圖6可知,Resnet8+stage1模型在除“其他類型”切面圖像外的各個分類的成功樣本數(shù)較Resnet8模型增加3~20例不等。由表9可知,Resnet8+stage1模型較Resnet8模型在準確率上提升了1.53%,宏召回率提高3.92%,宏F1值提高2.2%,僅在宏精確率上降低0.07%。以上實驗結(jié)果充分表明了改進的兩階段知識蒸餾方法的第1階段訓練的必要性和有效性,具有相同殘差結(jié)構(gòu)的學生網(wǎng)絡在第1階段的訓練中,從教師網(wǎng)絡的隱藏層特征表達能學習到有用的權(quán)重信息。
圖6 混淆矩陣對比Fig.6 Confusion matrix with different methods
3.3.2 第2階段有效性實驗
Resnet8+stage1模型與Resnet8+Hint模型相比,前者是經(jīng)過改進的兩階段知識蒸餾方法第1階段的Resnet8模型,再直接訓練得到的學生網(wǎng)絡模型;后者是經(jīng)過改進的兩階段知識蒸餾方法的學生網(wǎng)絡模型。由圖7可知,Resnet8+Hint模型較Resnet8+stage1模型,在每個類別正確的分類樣本數(shù)的最大增幅達到了27.2%(腹部類切面圖像);由表9可知,Resnet8+Hint模型較Resnet8+stage1模型的各項指標性能有了大幅提升,準確率提升4.84%,宏精確率提升5.63%,宏召回率提升6.3%,宏F1值提升8.21%,以上實驗結(jié)果充分表明改進的兩階段知識蒸餾方法的第2階段訓練的有效性。
圖7 混淆矩陣對比Fig.7 Confusion matrix with different methods
Resnet8+KD模型與Resnet8+Hint模型相比,前者是經(jīng)過傳統(tǒng)知識蒸餾方法訓練得到的學生網(wǎng)絡模型,后者是經(jīng)過改進的兩階段知識蒸餾方法訓練得到的學生網(wǎng)絡模型。由圖8可知,Resnet8+Hint模型的主要提升在于“胎兒股骨”和“胎兒胸腔”切面的分類結(jié)果上,而Resnet8+KD模型在這兩類上的分類性能是次與前者的。由表9可知,Resnet8+Hint模型的準確率較Resnet8+KD模型提升1.21%,宏精確率提升了0.4%,宏召回率提升了1.83%,宏F1值提升了1.18%,以上各項性能指標的提升都充分證明了改進的兩階段知識蒸餾方法的有效性。
圖8 混淆矩陣對比Fig.8 Confusion matrix with different methods
經(jīng)過改進的兩階段知識蒸餾方法的學生網(wǎng)絡模型在各項分類指標都取得了大幅提升,較原有學生網(wǎng)絡模型,準確率提升6.37%,其他各項性能也得到了明顯提升。較傳統(tǒng)知識蒸餾方法訓練的學生網(wǎng)絡模型,準確率提升1.21%,且在準確率指標上超過教師網(wǎng)絡模型1.09%。實驗表明,在改進的兩階段知識蒸餾方法的第1階段,與教師網(wǎng)絡具有相同殘差結(jié)構(gòu)的學生網(wǎng)絡能以教師網(wǎng)絡的隱藏層特征表達作為監(jiān)督信息,獲得良好的中間層初始權(quán)重,為第2階段知識蒸餾打下了良好基礎。同時,使用層數(shù)淺、參數(shù)量較少的學生網(wǎng)絡,可以有效避免模型因?qū)訑?shù)過深、參數(shù)量過大產(chǎn)生的過擬合問題,提升了模型的泛化能力,在保留分類性能的同時成功將模型參數(shù)量進行壓縮。綜上所述,充分表明了改進的兩階段知識蒸餾方法在提升學生網(wǎng)絡模型各項性能的有效性。
針對醫(yī)學圖像的特點,考慮到深度神經(jīng)網(wǎng)絡模型在實際應用時的實時性能,本文提出了一種用于胎兒超聲切面識別的改進的兩階段知識蒸餾方法。利用兩種結(jié)構(gòu)相似,但計算量相差較大的殘差網(wǎng)絡,即Resnet8作為學生網(wǎng)絡,Resnet101作為教師網(wǎng)絡,通過現(xiàn)有知識蒸餾方法和改進的兩階段知識蒸餾方法在胎兒超聲切面數(shù)據(jù)集上進行實驗,分別達到97.38%和98.59%的準確率,后者在各項分類的性能指標上都取得了突破,由此可以得出改進的兩階段知識蒸餾方法優(yōu)于現(xiàn)有知識蒸餾方法的結(jié)論。通過對比實驗,表明改進的兩階段知識蒸餾方法的第1階段,在具有相同殘差結(jié)構(gòu)的學生網(wǎng)絡和教師網(wǎng)絡之間進行隱藏層特征遷移的必要性和有效性。通過改進的兩階段知識蒸餾方法得到的學生網(wǎng)絡模型Resnet8+Hint在準確率和各項性能上遠超原有學生網(wǎng)絡模型,在分類性能方面超過了教師網(wǎng)絡模型,在計算資源占用量方面,大幅降低了對計算資源的需求,同時加快了實際應用時的分析速度,表明本文所述的改進的兩階段知識蒸餾方法的有效性。