曹潤芝,韓 斌,劉嘎瓊
(江蘇科技大學(xué) 計(jì)算機(jī)學(xué)院,鎮(zhèn)江 212114)
世界衛(wèi)生組織公布肺炎是導(dǎo)致兒童死亡的主要原因之一[1],據(jù)估計(jì)每年160 萬5 歲以下兒童因患肺炎而死亡.肺炎病患的醫(yī)學(xué)影像需要具備專業(yè)知識(shí)的醫(yī)生進(jìn)行評估,但在實(shí)際診斷中醫(yī)生由于缺少經(jīng)驗(yàn)和視覺疲憊等主觀因素會(huì)造成誤診,因此準(zhǔn)確高效地通過肺部影像進(jìn)行輔助診斷對于肺炎的治療至關(guān)重要[2,3].面對醫(yī)療診斷過程決策難且不確定性高的問題,Chouhan等人[4]采用遷移學(xué)習(xí)建立肺炎檢測的深度學(xué)習(xí)框架,利用AlexNet、DenseNet121、Inception V3、GoogLeNet和ResNet18 網(wǎng)絡(luò)模型提取圖像特征,并使用集成學(xué)習(xí)方法將各網(wǎng)絡(luò)的輸出合并到一個(gè)預(yù)測向量中,使用多數(shù)表決權(quán)進(jìn)行最終預(yù)測.潘麗艷等人[5]使用深度學(xué)習(xí)技術(shù)對肺區(qū)域病毒或細(xì)菌的病原學(xué)類型進(jìn)行判斷,從而在臨床上規(guī)范兒童肺炎治療.Al-Antari 等人[6]提出一種基于YOLO 預(yù)測器的同步深度學(xué)習(xí)計(jì)算機(jī)輔助診斷系統(tǒng),能可靠地將新冠肺炎與其它呼吸系統(tǒng)疾病進(jìn)行區(qū)分.何新宇等人[7]提出基于深度卷積神經(jīng)網(wǎng)絡(luò)的肺炎圖像識(shí)別模型,采用GoogLeNet Incepion V3 網(wǎng)絡(luò)模型進(jìn)行特征提取,以及隨機(jī)森林分類器進(jìn)行分類預(yù)測,最終在識(shí)別準(zhǔn)確率和敏感度上實(shí)現(xiàn)明顯提高.
深度學(xué)習(xí)技術(shù)在圖像的分類[8]、檢測[9]等方面具有高精度的優(yōu)勢,能準(zhǔn)確地提取醫(yī)學(xué)圖像的特征從而輔助疾病診斷.然而在現(xiàn)實(shí)中仍然存在以下問題:(1)訓(xùn)練模型需要大量的優(yōu)質(zhì)數(shù)據(jù),而醫(yī)療數(shù)據(jù)涉及病人隱私,容易造成數(shù)據(jù)孤島現(xiàn)象.(2)傳統(tǒng)的深度學(xué)習(xí)過程將各方數(shù)據(jù)集匯總到一起進(jìn)行模型訓(xùn)練,對于單機(jī)的算力需求較高且效率較低.(3)經(jīng)典殘差網(wǎng)絡(luò)忽略了圖像的通道特征且對批量大小具有高依賴性.
Mao 等人[10]論述聯(lián)邦學(xué)習(xí)具有不共享本地?cái)?shù)據(jù)實(shí)現(xiàn)聯(lián)合訓(xùn)練的優(yōu)勢,能夠解決深度學(xué)習(xí)過程中的醫(yī)療數(shù)據(jù)隱私泄漏問題.利用聯(lián)邦學(xué)習(xí)對醫(yī)學(xué)圖像進(jìn)行分析,能為臨床醫(yī)生提供更好的輔助診斷工具[11].
針對以上問題,本文提出了一種由聯(lián)邦學(xué)習(xí)框架(federated learning,FL)、改進(jìn)殘差網(wǎng)絡(luò)(residual networkgroup normalization,ResNet-GN)和壓縮激勵(lì)網(wǎng)絡(luò)(squeezeand-excitation network,SE)融合形成的FL-SE-ResNet-GN方法,將殘差網(wǎng)絡(luò)的批量歸一化方式(batch normalization,BN)替換為組歸一化方式(group normalization,GN),嵌入壓縮激勵(lì)網(wǎng)絡(luò),在提取圖像深層特征的同時(shí)關(guān)注通道特征,最終融合聯(lián)邦學(xué)習(xí)框架進(jìn)一步提升肺炎輔助診斷的效果和保護(hù)患者數(shù)據(jù)隱私.
基于卷積神經(jīng)網(wǎng)絡(luò)的模型通過不斷地增加卷積層和池化層組合的數(shù)量從而學(xué)習(xí)圖像更深層的特征,例如LeNet[12]、AlexNet[13]、VGG[14]等模型.然而當(dāng)模型的層數(shù)不斷地增加,淺層網(wǎng)絡(luò)參數(shù)會(huì)逐漸趨于零,導(dǎo)致其無法更新,造成梯度消失現(xiàn)象.為了解決上述問題,2016年He 等人[15]提出了深度殘差網(wǎng)絡(luò)(residual network,ResNet)模型.其結(jié)構(gòu)如圖1所示,通過在兩個(gè)權(quán)重層外部使用跳躍連接實(shí)現(xiàn)恒等映射,從而構(gòu)成一個(gè)殘差塊.定義該殘差塊的輸入為x,模塊最終的整體輸出為H(x),則殘差模塊兩層權(quán)重層部分的殘差函數(shù)為F(x)=H(x)?x.其中跳躍連接不會(huì)引入新的參數(shù),一定程度上保證了訓(xùn)練的效率.相較于殘差模塊的整體輸出H(x),計(jì)算通過優(yōu)化轉(zhuǎn)換后的殘差函數(shù)F(x)更容易.

圖1 經(jīng)典殘差模塊
壓縮激勵(lì)網(wǎng)絡(luò)[16]結(jié)構(gòu)簡單,便于耦合到已有的深度學(xué)習(xí)網(wǎng)絡(luò)模型框架中.SE 模塊主要關(guān)注了通道之間的相關(guān)性,通過訓(xùn)練得到各個(gè)通道不同的權(quán)重信息,含有主要特征的通道分配更高的權(quán)重,從而提高模型的表達(dá)能力.SE 模塊由3 部分組成:壓縮(squeeze)、激勵(lì)(excitation)和重分配(reweight).定義SE 模塊的輸入為W×H×C的特征,其中,W表示寬,H表示高,C表示通道數(shù);使用縮放參數(shù)減少通道個(gè)數(shù)從而降低計(jì)算量.
首先SE 模塊利用全局池化對輸入特征進(jìn)行壓縮,將特征轉(zhuǎn)化為1×1×C的向量,使其獲得全局的感受野;
然后利用兩次全連接操作、ReLU 函數(shù)和縮放參數(shù)實(shí)現(xiàn)降維和升維操作.最后實(shí)現(xiàn)重分配,使用Sigmoid函數(shù)對激勵(lì)操作的輸出實(shí)現(xiàn)歸一化,從而得到對應(yīng)通道的歸一化權(quán)重,并將權(quán)重與輸入特征相乘,實(shí)現(xiàn)了輸入特征的重標(biāo)定,從而增強(qiáng)了有用特征的提取,提高特征提取的準(zhǔn)確度.
聯(lián)邦學(xué)習(xí)[10]是一種特殊的分布式機(jī)器學(xué)習(xí)框架,與傳統(tǒng)的機(jī)器學(xué)習(xí)的區(qū)別在于缺少了中心服務(wù)器匯總數(shù)據(jù)的過程.聯(lián)邦學(xué)習(xí)采用客戶端-服務(wù)器架構(gòu)如圖2所示,聯(lián)邦學(xué)習(xí)的組成部分為中心服務(wù)器和若干個(gè)客戶端,其每輪的訓(xùn)練過程是客戶端首先從中心服務(wù)器下載聯(lián)邦共享模型和參數(shù),利用本地的數(shù)據(jù)進(jìn)行迭代訓(xùn)練,最后將該輪訓(xùn)練得到的參數(shù)或模型上傳到中心服務(wù)器進(jìn)行聚合,實(shí)現(xiàn)聯(lián)邦共享模型和參數(shù)的更新.

圖2 基于聯(lián)邦學(xué)習(xí)的客戶端-服務(wù)器架構(gòu)
本文為了準(zhǔn)確地提取肺部圖像更深層次的特征同時(shí)保護(hù)醫(yī)療數(shù)據(jù)的隱私性.首先,在殘差網(wǎng)絡(luò)的基礎(chǔ)上引入壓縮激勵(lì)網(wǎng)絡(luò).然后,將殘差網(wǎng)絡(luò)中的批量歸一化方式轉(zhuǎn)換為組歸一化方式形成改進(jìn)后的深度神經(jīng)網(wǎng)絡(luò)模型(SE-ResNet-GN).最后,將改進(jìn)后的深度學(xué)習(xí)模型融合聯(lián)邦學(xué)習(xí)框架,運(yùn)用聯(lián)邦平均算法實(shí)現(xiàn)分布式模型訓(xùn)練以獲得最終的聯(lián)邦共享模型.
本文以經(jīng)典的ResNet-18 作為基礎(chǔ)網(wǎng)絡(luò),總共由17 個(gè)卷積層和1 個(gè)全連接層組成,第一個(gè)卷積層使用64個(gè)7×7的卷積核,剩下的卷積層使用 3×3卷積核.
首先在殘差塊內(nèi)部的輸出后嵌入激勵(lì)壓縮網(wǎng)絡(luò),本文中令縮放參數(shù)r為16,輸入特征依次經(jīng)過兩次全連接層進(jìn)行16 倍降維和升維操作,利用Sigmoid 激活函數(shù)獲得通道的歸一化權(quán)重并與通道特征相乘從而重標(biāo)定輸入的特征.
其次,殘差塊使用BN 方式實(shí)現(xiàn)歸一化,在學(xué)習(xí)過程中,BN 方式對一個(gè)批量的數(shù)據(jù)計(jì)算得到均值和方差并通過滑動(dòng)平均的方式獲得訓(xùn)練的全局均值和方差,因此BN 方式對批量大小(batch size)的依賴程度較高,當(dāng)數(shù)據(jù)批量較小時(shí)難以保證訓(xùn)練效果,而較大批量的數(shù)據(jù)對于計(jì)算機(jī)的算力要求較高.因此本文使用組歸一化[17]方式替換經(jīng)典殘差塊內(nèi)部的BN.改進(jìn)后的網(wǎng)絡(luò)如圖3所示.GN 通過對通道進(jìn)行分組操作,將卷積層的輸出特征圖的通道分為G組,G為16,圖3中表示為64//G,并計(jì)算每組的均值和方差,因此使用GN方式性能穩(wěn)定,對批數(shù)量的魯棒性更強(qiáng).

圖3 融合SE 塊的改進(jìn)殘差網(wǎng)絡(luò)
定義歸一化運(yùn)算的輸入的特征圖x為[N,C,H,W],其中N表征批量數(shù),C表征通道數(shù),H、W表征高度和寬度,y與 β為學(xué)習(xí)的映射參數(shù),BN 保留輸入通道C的維度,其歸一化公式如下所示:

GN 進(jìn)行歸一化首先將輸入x的通道劃分為G組,則每組包含C/G個(gè)通道數(shù),然后計(jì)算組內(nèi)元素的均值和方差,公式如下所示:

基于聯(lián)邦學(xué)習(xí)的肺炎輔助診斷中對于病人數(shù)據(jù)的數(shù)量和質(zhì)量要求較高,對于單一的醫(yī)院或者醫(yī)療機(jī)構(gòu)而言本地的數(shù)據(jù)集數(shù)量較少而且類型單一,難以達(dá)到深度學(xué)習(xí)的要求.與此同時(shí),醫(yī)療數(shù)據(jù)因涉及大量病人的隱私,形成大量的數(shù)據(jù)孤島.本文聯(lián)邦學(xué)習(xí)采用客戶端-服務(wù)器架構(gòu),將單個(gè)醫(yī)院或者醫(yī)療機(jī)構(gòu)作為一個(gè)客戶端以及擁有足夠算力的可信第三方作為中心服務(wù)器,提供FL-SE-ResNet-GN 框架足夠的算力支持并進(jìn)行數(shù)據(jù)傳輸,能夠讓客戶端在不暴露本地的數(shù)據(jù)的情況下進(jìn)行深度學(xué)習(xí)的模型訓(xùn)練,各個(gè)客戶端將本地訓(xùn)練的參數(shù)上傳到中心服務(wù)器應(yīng)用聯(lián)邦平均算法進(jìn)行聚合.聯(lián)邦平均算法步驟如算法1 所示.

算法1.聯(lián)邦平均算法輸入:參與運(yùn)算的客戶端比例:;客戶端:;學(xué)習(xí)率:;本地訓(xùn)練批數(shù)量B:;本地迭代次數(shù):E;服務(wù)端擬合輪數(shù):.輸出:全局權(quán)重.C(0~1) client j(1≤j≤J) η b∈Bt∈T Step 1.初始化t=1 w0 Step 2.從 到T m←max(C·J,1)1) S t← m 2) 數(shù)量為的客戶端子集client j∈S ti∈E 3) 并行進(jìn)行本地訓(xùn)練,同時(shí)本地訓(xùn)練輪數(shù).client j ωi,j,t=ωi?1,j,t?η??j,t(ωi?1,j,t;b)i∈E 4) 利用本地?cái)?shù)據(jù)對下載的模型參數(shù)進(jìn)行本地E 輪迭代更新:,client j ω j,t ωt+1←J∑j=1 5)獲得各的本地參數(shù),利用本地客戶端的數(shù)據(jù)量占所有參與訓(xùn)練的客戶端的總數(shù)據(jù)量的比值得到聚合模型:nj n ω j,t
在聯(lián)邦學(xué)習(xí)過程中,各個(gè)客戶端在本地進(jìn)行獨(dú)立的模型訓(xùn)練,其采用的批處理數(shù)量與各自計(jì)算機(jī)算力相關(guān),同時(shí)使用小批量數(shù)據(jù)在BN 中誤差較大,從而影響聚合的聯(lián)邦共享模型的準(zhǔn)確度.因此,為了減少對批處理數(shù)量的依賴.本文使用聯(lián)邦學(xué)習(xí)框架與改進(jìn)的SEResNet-GN 網(wǎng)絡(luò)模型相結(jié)合實(shí)現(xiàn)分布式訓(xùn)練,當(dāng)聯(lián)邦聚合的次數(shù)達(dá)到限制或者訓(xùn)練模型收斂后將會(huì)結(jié)束訓(xùn)練.具體的實(shí)現(xiàn)過程如圖4所示.圖中使用clienti和clientj表示不同的客戶端.

圖4 FL-SE-ResNet-GN 模型的訓(xùn)練流程
改進(jìn)的深度神經(jīng)網(wǎng)絡(luò)模型融合聯(lián)邦學(xué)習(xí)框架后的訓(xùn)練算法如算法2 所示.

算法2.FL-SE-ResNet-GN輸入:本地?cái)?shù)據(jù)集,服務(wù)端擬合總輪數(shù)Smax.w0{Data1,Data2,···,Datan}初始化:模型網(wǎng)絡(luò)結(jié)構(gòu),權(quán)重.輸出:收斂的FL-SE-ResNet-GN 模型.Step 1.客戶端從中心服務(wù)器下載初始的FL-SE-ResNet-GN 模型和初始參數(shù).

?
本文實(shí)驗(yàn)的環(huán)境為Windows 10 操作系統(tǒng),Intel(R)CPU E5-1620 v3@3.5 GHz 3.5 GHz 處理器,8 GB NVIDIA Quadro M4000 顯卡,32 GB 內(nèi)存,500 GB 硬盤,計(jì)算機(jī)語言為Python,實(shí)驗(yàn)框架基于PyTorch 實(shí)現(xiàn).
本實(shí)驗(yàn)所使用的數(shù)據(jù)集是來自2018年美國加州大學(xué)圣迭戈分校公開的Chest X-Ray Images 圖像數(shù)據(jù)集[18].該數(shù)據(jù)集由兩類圖像組成,分別是正常(normal)和患肺炎(pneumonia).訓(xùn)練集和測試集的數(shù)量如表1所示.

表1 數(shù)據(jù)集分布
本次實(shí)驗(yàn)所使用的評估指標(biāo)分別為準(zhǔn)確率(Accuracy,ACC),召回率(Recall),精確率(Precision,P),F1 分?jǐn)?shù)(F1).以上指標(biāo)的計(jì)算公式如下.

其中,TP表示正常樣本被正確分類的數(shù)量,TN表示肺炎樣本被正確分類的數(shù)量,FP表示肺炎樣本被分類為正常樣本數(shù)量,FN表示正常樣本中被分類為肺炎樣本的數(shù)量.
本節(jié)使用Chest X-Ray Images 圖像[18]作為數(shù)據(jù)集進(jìn)行實(shí)驗(yàn).首先,為了驗(yàn)證批量歸一化和組歸一化方式受批處理數(shù)量參數(shù)的影響,在不同的批處理數(shù)量下將SE-ResNet-GN 模型與嵌入SE的原始?xì)埐罹W(wǎng)絡(luò)(以下簡稱SE-ResNet-BN) 進(jìn)行比較,并分析模型的準(zhǔn)確率、召回率、精準(zhǔn)率和F1 等指標(biāo).然后,運(yùn)用聯(lián)邦學(xué)習(xí)框架與改進(jìn)SE-ResNet-GN 模型相融合,并與經(jīng)典的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行對比.最后,將本文改進(jìn)的方法與其它研究者已有的研究成果進(jìn)行對比.
3.4.1 Batch size 對融合BN和GN 網(wǎng)絡(luò)的影響
本節(jié)將改進(jìn)后的SE-ResNet-GN 與原始網(wǎng)絡(luò)對比,批數(shù)量分別設(shè)定為4、8、16和32,其訓(xùn)練結(jié)果如表2.

表2 Batch size 大小對SE-ResNet-BN和SE-ResNet-GN的指標(biāo)影響
從表2可知,batch size為4–32 之間,SE-ResNet-BN模型的準(zhǔn)確率最大差值為11.5 個(gè)百分點(diǎn),準(zhǔn)確率最小差值為2 個(gè)百分點(diǎn).在上述batch size 下的SE-ResNet-GN模型的準(zhǔn)確率變化較為平穩(wěn),上述batch size 下準(zhǔn)確率差值最大為3 個(gè)百分點(diǎn),差值最小為0.2 個(gè)百分點(diǎn).當(dāng)batch size為32 時(shí),SE-ResNet-GN的準(zhǔn)確率、召回率、F1 分?jǐn)?shù)分別比SE-ResNet-BN 高1.1 個(gè)百分點(diǎn)、5.8 個(gè)百分點(diǎn)、1.8 個(gè)百分點(diǎn).以上結(jié)果表明,整體上,SE-ResNet-GN 模型不僅具有較好的評價(jià)指標(biāo)效果而且受batch size的影響較少.
3.4.2 本文方法與經(jīng)典深度神經(jīng)網(wǎng)絡(luò)模型對比
本節(jié)實(shí)驗(yàn)假定有3 個(gè)客戶端進(jìn)行20 輪聯(lián)邦擬合過程,客戶端本地進(jìn)行10 輪迭代訓(xùn)練.實(shí)驗(yàn)數(shù)據(jù)集將根據(jù)客戶端的數(shù)量等量劃分成為各自本地的數(shù)據(jù).本節(jié)實(shí)驗(yàn)選用AlexNet[13]、VGG[14]、ResNet[15]三種模型以及相關(guān)改進(jìn)SE-ResNet-BN 模型與本文方法在相同的實(shí)驗(yàn)環(huán)境和數(shù)據(jù)集下進(jìn)行對比實(shí)驗(yàn),其結(jié)果如表3.

表3 本文方法與經(jīng)典深度神經(jīng)網(wǎng)絡(luò)模型性能對比
由表3可知,SE-ResNet-BN 模型的指標(biāo)優(yōu)于ResNet,表明引入SE 模塊實(shí)現(xiàn)注意力機(jī)制能夠提升圖像分類的性能.經(jīng)典深度神經(jīng)網(wǎng)絡(luò)模型中準(zhǔn)確率最高的SEResNet-BN 模型的準(zhǔn)確率比本文方法低1.2 個(gè)百分點(diǎn).本文方法的各項(xiàng)評價(jià)指標(biāo)與AlexNet、ResNet、SEResNet-BN 相比具有明顯提升.本文方法利用改進(jìn)殘差網(wǎng)絡(luò)能提取更深層次的圖像特征,嵌入壓縮激勵(lì)模塊關(guān)注通道特征,并進(jìn)行特征重標(biāo)定增強(qiáng)有效特征的提取,能夠提高聯(lián)邦共享模型的準(zhǔn)確性,同時(shí)本文方法具有本地?cái)?shù)據(jù)不對外共享的優(yōu)勢,能夠有效保護(hù)醫(yī)療數(shù)據(jù)的隱私,從而打破醫(yī)療數(shù)據(jù)孤島現(xiàn)象.因此與上述經(jīng)典方法相比,在診斷準(zhǔn)確率和數(shù)據(jù)隱私保護(hù)方面具有優(yōu)勢.本節(jié)實(shí)驗(yàn)將聯(lián)邦學(xué)習(xí)訓(xùn)練的迭代擬合過程與傳統(tǒng)方法迭代過程對比,實(shí)驗(yàn)準(zhǔn)確率和損失值變化如圖5和圖6所示,整體上訓(xùn)練過程中的準(zhǔn)確率和損失值變化結(jié)果均優(yōu)于其它網(wǎng)絡(luò).

圖5 迭代次數(shù)和準(zhǔn)確率關(guān)系

圖6 迭代次數(shù)和損失值關(guān)系
3.4.3 與其它方法的對比
通過對Chest X-Ray Images 圖像數(shù)據(jù)集進(jìn)行訓(xùn)練,文獻(xiàn)[18]使用遷移學(xué)習(xí)方法建立了一種基于深度學(xué)習(xí)框架的診斷工具.文獻(xiàn)[19]提出一種結(jié)合殘差思想和膨脹卷積[20]的肺炎圖像分類方法[19],通過殘差網(wǎng)絡(luò)結(jié)構(gòu)克服模型深度增加引起訓(xùn)練過程中的過擬合和退化問題,并利用膨脹卷積避免肺炎圖像分類過程中的損失.文獻(xiàn)[21]利用AlexNet和InceptionV3 網(wǎng)絡(luò)模型并結(jié)合知識(shí)蒸餾方法提高對肺炎CT 圖像的分類性能,提出了AlexNet_S 方法.本文方法與上述3 種方法的實(shí)驗(yàn)結(jié)果對比如表4所示.實(shí)驗(yàn)結(jié)果表明,本文方法的準(zhǔn)確率和召回率最優(yōu).在精度指標(biāo)上本文方法比文獻(xiàn)[19]方法提升4.2 個(gè)百分點(diǎn),但低于遷移學(xué)習(xí)[18]和AlexNet_S[21]的方法的精度指標(biāo).整體上本文方法在準(zhǔn)確率、精度、召回率方面性能較好,同時(shí)融合聯(lián)邦學(xué)習(xí)框架,在醫(yī)療數(shù)據(jù)隱私安全性方面具有較大優(yōu)勢,這在現(xiàn)實(shí)應(yīng)用中具有重要的實(shí)際意義.

表4 本文方法與其它方法對比
為了提高醫(yī)生疾病診斷的效率和準(zhǔn)確性,本文融合聯(lián)邦學(xué)習(xí)架構(gòu)和改進(jìn)后的SE-ResNet-GN 模型,利用聯(lián)邦學(xué)習(xí)過程中數(shù)據(jù)保存在本地且不對外共享的優(yōu)勢,保證了醫(yī)療數(shù)據(jù)的隱私性并具有打破數(shù)據(jù)孤島的優(yōu)勢.為了提取更深層次的特征同時(shí)避免梯度消失,本文以殘差網(wǎng)絡(luò)作為基礎(chǔ)模型,在聯(lián)邦學(xué)習(xí)過程中,各個(gè)客戶端在本地進(jìn)行獨(dú)立訓(xùn)練,為了避免批處理數(shù)量對于聯(lián)邦共享模型的影響,本文將傳統(tǒng)的批量歸一化方式轉(zhuǎn)換為組歸一化方式,對輸入特征的通道進(jìn)行分組運(yùn)算,提高了模型的穩(wěn)定性,同時(shí)引入激勵(lì)壓縮網(wǎng)絡(luò)關(guān)注通道間的相關(guān)性.經(jīng)過與其它的深度神經(jīng)網(wǎng)絡(luò)以及融合聯(lián)邦學(xué)習(xí)框架后的模型對比實(shí)驗(yàn)后發(fā)現(xiàn)本文提出的模型具有更好的準(zhǔn)確率與安全性.