馬自萍,譚力刀,馬金林,陳 勇
1.北方民族大學(xué) 數(shù)學(xué)與信息科學(xué)學(xué)院,銀川 750021
2.北方民族大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,銀川 750021
3.寧夏醫(yī)科大學(xué)總醫(yī)院 放射介入科,銀川 750004
由于新冠病毒的傳播速度極快,對(duì)全人類的生命健康帶來(lái)了嚴(yán)重的危害。因此,快速精確地診斷出新冠肺炎對(duì)患者治療與切斷病毒傳播鏈具有重要意義。研究表明,新冠肺炎患者在患病期間幾乎都會(huì)出現(xiàn)肺部性狀的改變[1-2]。手動(dòng)標(biāo)記影像數(shù)據(jù)不僅對(duì)檢查人員的臨床經(jīng)驗(yàn)要求較高,而且費(fèi)力耗時(shí),而基于深度學(xué)習(xí)的智能影像診斷技術(shù)具有診斷速度快、靈敏度高的優(yōu)點(diǎn)[3]。
用于新冠肺炎診斷的經(jīng)典深度網(wǎng)絡(luò)主要有[4-9]:VGGNet、ResNet、DenseNet、InceptionNet、CapsNet 和EfficientNet 等網(wǎng)絡(luò)。VGGNet 使用小核卷積與小核池化來(lái)保證少量參數(shù)下獲取更多細(xì)節(jié)特征,一些學(xué)者將VGGNet 作為主干網(wǎng)絡(luò)用于新冠肺炎診斷取得了不錯(cuò)的效果[4]。ResNet 采用殘差連接的結(jié)構(gòu)將淺層特征與深層特征直接相連,有效地緩解了梯度消失、梯度彌散和網(wǎng)絡(luò)退化的問(wèn)題[5]。DenseNet中任意層之間都有直接的連接,利用所有層的特征來(lái)預(yù)測(cè)結(jié)果以提升網(wǎng)絡(luò)的魯棒性[6]。InceptionNet 采用多尺度的多分支卷積層來(lái)提取不同尺度的特征,使用1×1的卷積與全局平均池化來(lái)使網(wǎng)絡(luò)參數(shù)減少的同時(shí)提高運(yùn)算速度[7]。CapsNet通過(guò)將capsule嵌套在其他層中來(lái)減小網(wǎng)絡(luò)深度,每個(gè)capsule 可以檢測(cè)圖像中的一類特定實(shí)體,通過(guò)動(dòng)態(tài)路由機(jī)制向父層反饋檢測(cè)到的實(shí)體。基于CapsNet架構(gòu)的新冠肺炎診斷網(wǎng)絡(luò)由于其深度較淺,對(duì)設(shè)備算力要求不高[8]。EfficientNet由B0~B7共8個(gè)不同尺度的子網(wǎng)絡(luò)構(gòu)成,通過(guò)交替使用3×3與5×5的卷積層來(lái)提取特征,并使用組合縮放系數(shù)來(lái)同時(shí)調(diào)整網(wǎng)絡(luò)的寬度與深度,實(shí)現(xiàn)了較高的新冠肺炎診斷準(zhǔn)確度[9]。
由于常規(guī)病毒性肺炎與新冠肺炎的影像特征差別很小,基礎(chǔ)網(wǎng)絡(luò)往往難以準(zhǔn)確地進(jìn)行分類。因此,研究者提出了一些多模型結(jié)合的方法。Ozkaya等[10]提出了一種多模型深層特征融合和排列的新冠肺炎檢測(cè)方法(deep features fusion and ranking technique,DFFRT)。類似地,Rahimzadeh等[11]提出基于Xception[12]和ResNet的級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)。這類網(wǎng)絡(luò)雖然實(shí)現(xiàn)了精度的提升,但靈敏度不足。為此,Togacar 等[13]結(jié)合MobileNetV2[14]和SqueezeNet[15]構(gòu)造級(jí)聯(lián)網(wǎng)絡(luò),并且借助支持向量機(jī)(support vector machine,SVM)[16]對(duì)有效特征進(jìn)行組合,提升了模型的靈敏度。
多模型結(jié)合的方法雖然在一定程度上提升了模型的診斷性能,但是大多數(shù)新冠肺炎數(shù)據(jù)集的樣本數(shù)量十分有限,而常規(guī)架構(gòu)下的深度學(xué)習(xí)網(wǎng)絡(luò)會(huì)由于訓(xùn)練數(shù)據(jù)不足導(dǎo)致網(wǎng)絡(luò)泛化能力較弱,難以在小樣本數(shù)據(jù)集上取得良好的效果。因此,Zheng等提出了DeCoVNet[17]模型,該模型通過(guò)與弱監(jiān)督方法[18]結(jié)合,采用數(shù)據(jù)增強(qiáng)技術(shù)有效緩解了數(shù)據(jù)集過(guò)小帶來(lái)的過(guò)擬合問(wèn)題,但是該模型容易導(dǎo)致較高的假陰性率。為此,Narin 等[19]巧妙地使用結(jié)合遷移學(xué)習(xí)的二進(jìn)制Resnet模型(binary classification of transfer learning Resnet,BTLResnet)來(lái)解決數(shù)據(jù)量少和訓(xùn)練時(shí)間不足的問(wèn)題,改善了假陰性問(wèn)題。與BTLResnet模型不同,Wang 等[20]提出了基于DenseNet121 的新冠肺炎分類和預(yù)后分析方法,該方法使用雙步遷移策略來(lái)解決新冠肺炎數(shù)據(jù)集樣本數(shù)量不足的問(wèn)題,在數(shù)據(jù)集較小的情況下取得了較高的診斷準(zhǔn)確率。與此類似的是,Chowdhury等[21]提出基于EfficientNet的集成網(wǎng)絡(luò)(efficient COVID-19 detection network,ECOVNet)。該網(wǎng)絡(luò)使用在ImageNet 上預(yù)訓(xùn)練的權(quán)重進(jìn)行遷移,通過(guò)集成預(yù)測(cè)的方法來(lái)降低模型的泛化誤差,提高了在新冠肺炎X-ray圖像小數(shù)據(jù)集的診斷準(zhǔn)確率。
綜上所述,基于遷移學(xué)習(xí)的方法解決了數(shù)據(jù)集樣本不足的問(wèn)題,然而,簡(jiǎn)單的遷移學(xué)習(xí)技術(shù)對(duì)源域數(shù)據(jù)與目標(biāo)域數(shù)據(jù)的相似度要求較高,復(fù)雜的遷移學(xué)習(xí)技術(shù)在不同任務(wù)上需要使用不同的遷移策略,可移植性差。為此,He 等提出一種自監(jiān)督預(yù)訓(xùn)練框架(masked autoencoder,MAE)[22],通過(guò)在原圖像上隨機(jī)掩蓋一定比例的像素塊作為模型的輸入數(shù)據(jù),使用原圖像作為標(biāo)簽來(lái)訓(xùn)練模型。受此啟發(fā),本文構(gòu)建了MAE 策略下的ViT(vision transformer)模型以緩解復(fù)雜的遷移學(xué)習(xí)技術(shù)的可移植性差問(wèn)題。
目前,在許多視覺(jué)任務(wù)中ViT模型展現(xiàn)了其全局的優(yōu)越性,與卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)相比,性能有了顯著的提升[23]。但是,ViT 模型的多頭自注意力機(jī)制會(huì)對(duì)全局的特征表示進(jìn)行學(xué)習(xí),這導(dǎo)致其參數(shù)量顯著增加。為此,本文采用循環(huán)子結(jié)構(gòu)的方法對(duì)模型進(jìn)行輕量化,通過(guò)在單個(gè)子網(wǎng)絡(luò)上循環(huán)更新梯度來(lái)避免訓(xùn)練時(shí)產(chǎn)生過(guò)大的計(jì)算圖。對(duì)由多個(gè)結(jié)構(gòu)相同的編碼器塊構(gòu)成的ViT模型,該方法可明顯降低其參數(shù)量。
本文提出了循環(huán)子結(jié)構(gòu)輕量化策略,其網(wǎng)絡(luò)訓(xùn)練流程如圖1 所示。設(shè)一個(gè)神經(jīng)網(wǎng)絡(luò)A由結(jié)構(gòu)相同的子網(wǎng)絡(luò)A1,A2,…,An構(gòu)成,子網(wǎng)絡(luò)Ak的輸出為子網(wǎng)絡(luò)Ak+1的輸入,網(wǎng)絡(luò)A的總參數(shù)量為子網(wǎng)絡(luò)A1參數(shù)量的n倍。設(shè)神經(jīng)網(wǎng)絡(luò)B僅由子網(wǎng)絡(luò)B1構(gòu)成,B1與A1結(jié)構(gòu)相同,因此網(wǎng)絡(luò)B的總參數(shù)量為子網(wǎng)絡(luò)A1參數(shù)量。通過(guò)公式推導(dǎo)證明,在網(wǎng)絡(luò)A與網(wǎng)絡(luò)B有相同輸入、標(biāo)簽、網(wǎng)絡(luò)參數(shù)的情況下,將子網(wǎng)絡(luò)B1復(fù)用n次后,每一輪訓(xùn)練將會(huì)得到相同的結(jié)果。該策略對(duì)由多個(gè)具有相同結(jié)構(gòu)的子網(wǎng)絡(luò)構(gòu)成的復(fù)雜網(wǎng)絡(luò)具有輕量化效果。
圖1 網(wǎng)絡(luò)A 與網(wǎng)絡(luò)B 的訓(xùn)練流程Fig.1 Training process of network A and network B
理論證明如下:將神經(jīng)網(wǎng)絡(luò)表示為函數(shù)的形式,設(shè)子網(wǎng)絡(luò)A1為函數(shù)output=f1(input),子網(wǎng)絡(luò)A2為函數(shù)output=f2(input),子網(wǎng)絡(luò)Ak為函數(shù)output=fk(input),子網(wǎng)絡(luò)B1為函數(shù)output=g(input),其中input為網(wǎng)絡(luò)的輸入,output為網(wǎng)絡(luò)的輸出。設(shè)神經(jīng)網(wǎng)絡(luò)中采用sigmoid作為激活函數(shù),并將一個(gè)子網(wǎng)絡(luò)分為輸入層、隱含層與輸出層。由神經(jīng)網(wǎng)絡(luò)的定義可知,f1(input),f2(input),…,fn(input),g(input)的形式均可表示為:
其中,W為神經(jīng)網(wǎng)絡(luò)中輸出層與前一層各連接的權(quán)重,b為偏置項(xiàng),X為隱含層的輸出。由式(1)易知,表示神經(jīng)網(wǎng)絡(luò)的函數(shù)在定義域內(nèi)無(wú)窮次可導(dǎo)。因此,任意表示神經(jīng)網(wǎng)絡(luò)的函數(shù)均可利用泰勒公式將其表示為一個(gè)多項(xiàng)式函數(shù)。若將所有的子網(wǎng)絡(luò)函數(shù)均按泰勒公式展開(kāi)到固定的階數(shù),則函數(shù)f1(input),f2(input),…,fn(input),g(input)均可表示為同階的多項(xiàng)式函數(shù):
網(wǎng)絡(luò)A可表示為:
網(wǎng)絡(luò)B可表示為:
其中,函數(shù)g()復(fù)合了n次。設(shè)多項(xiàng)式函數(shù)g()的第m階為omxm,多項(xiàng)式函數(shù)fn()的第m階為pnmxm。
通過(guò)歸納假設(shè)法可以證明,當(dāng)n=1時(shí):
若令om=p1m,則式(3)與式(4)相等。當(dāng)n=k時(shí):
若令om(k-1)m+(k-1)=pkm p(k-1)m...p2m p1m,則式(3)與式(4)相等。當(dāng)n=k+1時(shí):
若令om km+k=p(k+1)m pkm...p2m p1m,則式(3)與式(4)相等,即可以通過(guò)將單個(gè)子網(wǎng)絡(luò)復(fù)用n次來(lái)達(dá)到與由n個(gè)子網(wǎng)絡(luò)構(gòu)成的復(fù)雜網(wǎng)絡(luò)相等的效果。
本文提出輕量化的SMViT(siamese masked vision transformer)網(wǎng)絡(luò)模型,其結(jié)構(gòu)如圖2所示。從圖2可以看出,輕量化SMViT 模型的編碼器通過(guò)將一個(gè)編碼器子塊循環(huán)使用來(lái)取得與原本由多個(gè)編碼器子塊堆疊構(gòu)成的編碼器相同的效果,有效減少了網(wǎng)絡(luò)參數(shù)量與訓(xùn)練模型所需顯存。在SMViT的預(yù)訓(xùn)練網(wǎng)絡(luò)中,編碼器負(fù)責(zé)提取高維特征表示,解碼器則通過(guò)與未掩碼圖像計(jì)算MSE(mean square error)損失來(lái)細(xì)粒度地還原圖像,從而有效地增強(qiáng)了模型的潛在特征表示能力。MSE損失公式為:
圖2 SMViT網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Structure of SMViT
最后,搭建一個(gè)孿生網(wǎng)絡(luò)頭用于新冠肺炎的診斷。
孿生網(wǎng)絡(luò)的核心思想是利用神經(jīng)網(wǎng)絡(luò)將兩個(gè)輸入樣本映射到新的空間中進(jìn)行表示,通過(guò)對(duì)兩個(gè)樣本在新空間的表示計(jì)算損失,來(lái)評(píng)價(jià)兩個(gè)輸入的相似度[24]。由于孿生網(wǎng)絡(luò)具有權(quán)值共享的特性,這樣可以保證兩個(gè)不同樣本的輸出在同一域內(nèi)[25]。近年來(lái),孿生網(wǎng)絡(luò)已成為各種視覺(jué)表示學(xué)習(xí)模型中的常見(jiàn)結(jié)構(gòu),它將最大化兩幅同一類別圖像之間的相似性,并最小化兩幅不同類別圖像之間的相似性。孿生神經(jīng)網(wǎng)絡(luò)可以將分類問(wèn)題轉(zhuǎn)化為模板匹配的問(wèn)題,進(jìn)而具備較強(qiáng)的小樣本學(xué)習(xí)能力,且不易被錯(cuò)誤樣本干擾[26]。
因此,在ViT的編碼器上添加一個(gè)由全連接層與MSE損失構(gòu)成的孿生網(wǎng)絡(luò)頭,其結(jié)構(gòu)如圖2所示。其中,編碼器與解碼器負(fù)責(zé)掩碼自監(jiān)督預(yù)訓(xùn)練,預(yù)訓(xùn)練完成后再訓(xùn)練由編碼器與孿生網(wǎng)絡(luò)頭組成的診斷網(wǎng)絡(luò),此時(shí),編碼器梯度將不再更新。由于肺部圖像中不同區(qū)域?qū)κ欠癖慌卸樾鹿诜窝椎呢暙I(xiàn)度不同,在孿生網(wǎng)絡(luò)頭中,全連接層將對(duì)輸入樣本的特征圖進(jìn)行加權(quán)。然后計(jì)算兩個(gè)樣本加權(quán)后的MSE損失來(lái)判定兩個(gè)樣本是否屬于同一類別。嵌入了孿生網(wǎng)絡(luò)頭后,輕量化的SMViT 能更好地分辨出新冠肺炎患者的肺部圖像,進(jìn)而在小樣本數(shù)據(jù)集上具備良好的泛化能力。
SMViT模型的訓(xùn)練流程圖如圖3所示,具體流程如下:
圖3 SMViT訓(xùn)練流程圖Fig.3 Flow chart of SMViT
(1)把所有樣本分為訓(xùn)練集與驗(yàn)證集后,將所有訓(xùn)練集中的數(shù)據(jù)輸入ViT 中進(jìn)行掩碼自監(jiān)督預(yù)訓(xùn)練。預(yù)訓(xùn)練完成后隨機(jī)從訓(xùn)練集中選取部分樣本作為對(duì)比庫(kù)。
(2)分別遍歷對(duì)比庫(kù)與訓(xùn)練集中剩余的所有樣本,每次從對(duì)比庫(kù)中選出一個(gè)樣本Di,從訓(xùn)練集中挑選出一個(gè)樣本Tj;將Di與Tj分別輸入編碼器中計(jì)算特征圖。
(3)然后將特征圖輸入孿生網(wǎng)絡(luò)頭計(jì)算差異,并根據(jù)樣本所屬類別構(gòu)建的標(biāo)簽進(jìn)行損失計(jì)算,最終使得同類樣本差異最小,異類樣本差異最大。
(4)利用模型進(jìn)行驗(yàn)證時(shí),首先分別遍歷驗(yàn)證集與對(duì)比庫(kù)中所有樣本,每次從驗(yàn)證集中選出一個(gè)樣本Vi,從對(duì)比庫(kù)中挑選出一個(gè)已知類別的樣本Di,計(jì)算Vi與Di的特征圖;其次輸入孿生網(wǎng)絡(luò)頭進(jìn)行判斷,若兩個(gè)樣本屬于同一類別,則該類別得分加1,反之,則不加分;最后計(jì)算所有類別的得分率,得分率最大者作為該輸入樣本的類別。
現(xiàn)有的新冠肺炎數(shù)據(jù)集有X-ray圖像與CT圖像兩類。本文使用的X-ray圖像數(shù)據(jù)集包括COVID-19 radiography database 數(shù)據(jù)集[27]與Pranavraikokte 數(shù)據(jù)集[28],CT 圖像數(shù)據(jù)集包括COVID19-CT 數(shù)據(jù)集[29]與SARS-CoV-2 CT-scan 數(shù)據(jù)集[30]。COVID-19 radiography database 數(shù)據(jù)集包含3 616 例新冠肺炎陽(yáng)性、6 012 例肺部陰影(非COVID 肺部感染)和10 192 例正常的X-ray 圖像。Pranavraikokte 數(shù)據(jù)集包含137例新冠肺炎陽(yáng)性病例、90 例正常和90 例病毒性肺炎病例的X-ray圖像。COVID19-CT數(shù)據(jù)集包含216名新冠肺炎患者的349 幅和397 幅正常的CT 圖像。SARS-CoV-2 CT-scan數(shù)據(jù)集包括1 262例COVID-19陽(yáng)性患者的CT 圖像和1 230 例COVID-19 陰性患者的CT圖像。本文實(shí)驗(yàn)中對(duì)所有數(shù)據(jù)集均按7∶3的比例劃分訓(xùn)練集與驗(yàn)證集。
由于數(shù)據(jù)集樣本內(nèi)部存在類別不均衡的問(wèn)題,為了對(duì)模型性能進(jìn)行更客觀的評(píng)價(jià),本文采用準(zhǔn)確率(accuracy,ACC)、特異度(specificity,SPE)、靈敏度(sensitivity,SEN)和F1分?jǐn)?shù)來(lái)評(píng)價(jià)模型性能。其中,SPE的計(jì)算公式為:
其中,TP、TN、FP、FN分別表示真正例、真反例、假正例、假反例。F1-Measure的計(jì)算公式為:
其中,P與R分別表示查準(zhǔn)率和查全率,其計(jì)算公式分別為:
本文的實(shí)驗(yàn)環(huán)境均基于Pytorch 框架,使用Titan V 12 GB 顯卡。初始學(xué)習(xí)率為0.000 3,batchsize 為32,epoch為100,使用Adam優(yōu)化策略。
本實(shí)驗(yàn)驗(yàn)證了SMViT 模型在新冠肺炎X-ray 圖像、CT 圖像數(shù)據(jù)集上的診斷性能,并給出了實(shí)驗(yàn)分析。測(cè)試集一共包含4個(gè)數(shù)據(jù)集,本文方法在各數(shù)據(jù)集上的“損失-輪次”與“準(zhǔn)確率-輪次”折線圖如圖4所示。從圖4可以看出,損失值隨輪次增加逐漸趨于穩(wěn)定,準(zhǔn)確率上升趨勢(shì)在訓(xùn)練后期仍然增長(zhǎng)平穩(wěn),表明本文方法具有較穩(wěn)定的收斂性能。
圖4 不同數(shù)據(jù)集下輪次對(duì)精度和損失的影響Fig.4 Effect of epoch on accuracy and loss under different datasets
在兩個(gè)X-ray 圖像數(shù)據(jù)集上比較了SMViT 與對(duì)比模型的診斷性能,實(shí)驗(yàn)結(jié)果如表1 所示??梢钥闯觯趦蓚€(gè)數(shù)據(jù)集上,對(duì)于ACC、SPE、SEN和F1 分?jǐn)?shù)而言,SMViT模型取得了最好的診斷性能,與對(duì)比模型相比,最多提高了7.0%、6.7%、7.3%和6.0%,與MFViT 相比,分別提高了0.9%~1.4%、0.8%~4.6%、0.4%~0.8%和0.8%~2.8%,表明SMViT 在X-ray 圖像上的診斷性能具有明顯的優(yōu)勢(shì)。此外,為了比較模型在推斷時(shí)的計(jì)算效率,在兩個(gè)X-ray圖像數(shù)據(jù)集上計(jì)算了單幅圖像的平均推斷耗時(shí)。SMViT的推斷耗時(shí)略高于MobileNetV2+SqueezeNet,但是明顯低于其他對(duì)比模型。因此,本文模型在推斷速度上仍然具有一定的優(yōu)勢(shì)。
表1 不同方法在X-ray圖像上的性能對(duì)比Table 1 Performance comparison of different methods on X-ray images
在兩個(gè)CT 圖像數(shù)據(jù)集上比較了SMViT 與對(duì)比模型的診斷性能,實(shí)驗(yàn)結(jié)果如表2 所示。可以看出,SMViT的ACC、SPE、SEN和F1分?jǐn)?shù)具有最高的取值,與最具競(jìng)爭(zhēng)力的Trans-CNN Net相比,分別提高了0.9%~2.1%、1.2%~2.1%、0.7%~2.0%和1.0%~2.1%,表明SMViT 在CT 圖像上的診斷性能具有明顯優(yōu)勢(shì)。從推斷耗時(shí)來(lái)看,SMViT的推斷耗時(shí)與DeCoVNet2D相當(dāng),略高于COVID-FACT,但低于其他對(duì)比模型。其原因是COVID-FACT也采用了輕量化策略。與其他非輕量化的模型相比,SMViT在CT圖像上的推斷速度仍然具有顯著的優(yōu)勢(shì)。
表2 不同方法在CT圖像上的性能對(duì)比Table 2 Performance comparison of different methods on CT images
為了驗(yàn)證孿生網(wǎng)絡(luò)與ViT結(jié)合的有效性,分別設(shè)計(jì)了四組消融實(shí)驗(yàn),在包含X-ray 圖像與CT 圖像的四個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表3所示。
表3 消融實(shí)驗(yàn)結(jié)果Table 3 Ablation experimental results
第一組實(shí)驗(yàn)驗(yàn)證孿生網(wǎng)絡(luò)架構(gòu)是否比全連接網(wǎng)絡(luò)架構(gòu)更有效。將ViT 與主流的用于分類的全連接網(wǎng)絡(luò)進(jìn)行組合(fully connected network-masked vision transformer,F(xiàn)CN-MViT),其訓(xùn)練流程與SMViT 保持一致。對(duì)比表3 中COVID19-CT 數(shù)據(jù)集與Pranavraikokte數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果可以看出,F(xiàn)CN-MViT的性能不如SMViT,對(duì)于相對(duì)復(fù)雜的CT圖像病例的診斷效果較差。這表明FCN-MViT 在小數(shù)據(jù)集上的分辨能力不足,而基于孿生網(wǎng)絡(luò)與ViT 結(jié)合的SMViT,在小數(shù)據(jù)集上表現(xiàn)出了優(yōu)越的性能。因此,采用孿生網(wǎng)絡(luò)架構(gòu)比采用全連接網(wǎng)絡(luò)架構(gòu)性能更好。
第二組實(shí)驗(yàn)檢驗(yàn)基于ViT 的自監(jiān)督預(yù)訓(xùn)練模型是否比基于卷積自編碼器的自監(jiān)督預(yù)訓(xùn)練模型更有效。使用圖像處理領(lǐng)域非常流行的卷積自編碼器來(lái)代替ViT 進(jìn)行掩碼自監(jiān)督預(yù)訓(xùn)練(siamese masked autoencoder,SMAE)。對(duì)比表3 中SMAE 與SMViT的實(shí)驗(yàn)結(jié)果,可以看出SMAE的性能明顯不如SMViT,這表明SMAE在圖像特征提取能力上略遜一籌。因此,雖然SMViT與SMAE模型均采用孿生網(wǎng)絡(luò)架構(gòu),但基于ViT 的自監(jiān)督預(yù)訓(xùn)練模型比基于卷積自編碼器的自監(jiān)督預(yù)訓(xùn)練模型更有效。
第三組實(shí)驗(yàn)驗(yàn)證卷積自編碼器與全連接網(wǎng)絡(luò)架構(gòu)是否會(huì)是更有效的結(jié)合方式:使用卷積自編碼器進(jìn)行掩碼自監(jiān)督預(yù)訓(xùn)練,采用全連接網(wǎng)絡(luò)架構(gòu)進(jìn)行分類(fully connected network-masked autoencoder,F(xiàn)CNMAE)。從表3 可以看出,F(xiàn)CN-MAE 不僅不能在小數(shù)據(jù)集上取得良好的結(jié)果,而且其總體性能遠(yuǎn)低于SMViT。這進(jìn)一步驗(yàn)證了采用孿生網(wǎng)絡(luò)架構(gòu)的模型在小數(shù)據(jù)集上能取得更好的效果,而采用卷積自編碼器與全連接網(wǎng)絡(luò)架構(gòu)相結(jié)合的架構(gòu)則會(huì)帶來(lái)更糟糕的結(jié)果。
第四組實(shí)驗(yàn)驗(yàn)證掩碼自監(jiān)督預(yù)訓(xùn)練策略能否比非掩碼自監(jiān)督預(yù)訓(xùn)練策略提取到更有效的特征表示,進(jìn)而提升診斷精度。實(shí)驗(yàn)中,使用與SMViT結(jié)構(gòu)完全相同的網(wǎng)絡(luò),采用非掩碼自監(jiān)督預(yù)訓(xùn)練策略(siamese vision transformer,SViT)。從表3 可以看出,在不同的數(shù)據(jù)集上SViT 的診斷準(zhǔn)確率比SMViT低1.3%~7.2%。這表明與非掩碼自監(jiān)督預(yù)訓(xùn)練策略相比,掩碼自監(jiān)督預(yù)訓(xùn)練策略能提取到更有效的特征表示。
綜上所述,采用非孿生網(wǎng)絡(luò)架構(gòu)的神經(jīng)網(wǎng)絡(luò)在小數(shù)據(jù)集上的性能不佳;采用卷積自編碼器進(jìn)行預(yù)訓(xùn)練會(huì)導(dǎo)致模型特征提取能力不足,與采用ViT進(jìn)行預(yù)訓(xùn)練的模型相比其性能略顯不足;采用卷積自編碼器與全連接網(wǎng)絡(luò)架構(gòu)的模型會(huì)帶來(lái)更糟糕的結(jié)果;而采用孿生網(wǎng)絡(luò)架構(gòu)的ViT模型能夠在數(shù)據(jù)集樣本不足的情況下取得最好的效果。因此,孿生網(wǎng)絡(luò)對(duì)ViT模型在新冠肺炎診斷中具有重要的提升效果,進(jìn)而驗(yàn)證了此種架構(gòu)的有效性。此外,與非掩碼自監(jiān)督預(yù)訓(xùn)練策略相比,掩碼自監(jiān)督預(yù)訓(xùn)練策略能提取到更有效的特征表示,對(duì)模型診斷性能的貢獻(xiàn)更高。
在1.1 節(jié)已經(jīng)證明由多個(gè)具有相同結(jié)構(gòu)的子網(wǎng)絡(luò)構(gòu)成的復(fù)合網(wǎng)絡(luò),可以通過(guò)在單個(gè)子網(wǎng)絡(luò)上循環(huán)更新梯度來(lái)取得完全相同的結(jié)果。但為了進(jìn)一步驗(yàn)證該方法的可行性,設(shè)計(jì)了一個(gè)采用全連接層構(gòu)建的具有多個(gè)相同結(jié)構(gòu)子網(wǎng)絡(luò)的復(fù)合網(wǎng)絡(luò),其結(jié)構(gòu)如圖5所示。
圖5 全連接構(gòu)建的復(fù)合網(wǎng)絡(luò)Fig.5 Composite network constructed by full connection
設(shè)定相同輸入、標(biāo)簽、初始參數(shù),在單個(gè)子網(wǎng)絡(luò)復(fù)用三次與三個(gè)子網(wǎng)絡(luò)使用一次的模式下,驗(yàn)證輸出與損失是否一致來(lái)判斷該策略的可行性,實(shí)驗(yàn)結(jié)果如圖6所示。從圖6可以看出,兩種模式下每個(gè)輪次的輸出與損失完全一致,這表明該策略是可行的。
圖6 單類網(wǎng)絡(luò)下兩種方法的損失與輸出結(jié)果曲線Fig.6 Loss and result curves of two methods under simple network
在保證相同輸入、標(biāo)簽、初始參數(shù)的情況下,仍然通過(guò)檢查單個(gè)子網(wǎng)絡(luò)復(fù)用三次與三個(gè)子網(wǎng)絡(luò)使用一次兩種模式下,每個(gè)輪次的輸出與損失是否一致來(lái)檢驗(yàn)該方法在復(fù)合網(wǎng)絡(luò)下的可行性,實(shí)驗(yàn)結(jié)果如圖7 所示。從圖7 可以看出,兩種模式下,每個(gè)輪次的輸出與損失仍然完全一致,這表明該方法在復(fù)合網(wǎng)絡(luò)下仍然可行。
圖7 多類網(wǎng)絡(luò)下兩種方法的損失與輸出結(jié)果曲線Fig.7 Loss and result curves of two methods under multiple networks
設(shè)計(jì)了一個(gè)由全連接層、卷積層共同構(gòu)建的具有多個(gè)相同結(jié)構(gòu)子網(wǎng)絡(luò)的復(fù)合網(wǎng)絡(luò),其結(jié)構(gòu)如圖8所示。從圖8可以看出,該復(fù)合網(wǎng)絡(luò)具有三個(gè)結(jié)構(gòu)完全相同的子網(wǎng)絡(luò),每個(gè)子網(wǎng)絡(luò)的數(shù)據(jù)由全連接層輸入,通過(guò)reshape改變張量形狀,再輸入卷積層,然后通過(guò)reshape 再次改變張量形狀后輸入到全連接層,最后將全連接層的輸出作為下一個(gè)子網(wǎng)絡(luò)的輸入。
圖8 多類網(wǎng)絡(luò)構(gòu)建的復(fù)合網(wǎng)絡(luò)Fig.8 Composite network constructed by multiple networks
由于ViT 的編碼器是由多個(gè)結(jié)構(gòu)相同編碼器塊組合而成,屬于由多個(gè)相同結(jié)構(gòu)的子網(wǎng)絡(luò)構(gòu)成的復(fù)雜網(wǎng)絡(luò),可以通過(guò)循環(huán)單個(gè)編碼器塊來(lái)達(dá)到與使用多個(gè)編碼器塊一樣的效果,并減小ViT的參數(shù)量。為了驗(yàn)證SMViT 的輕量化效果,在不同編碼器塊數(shù)量下進(jìn)行了對(duì)比。不同編碼器塊所占顯存與參數(shù)量如表4所示。在batchsize相同的情況下,循環(huán)單個(gè)編碼器塊的SMViT與擁有9個(gè)編碼器塊的ViT相比,所占顯存可減少74.07%,網(wǎng)絡(luò)參數(shù)量可減少88.88%。因此,基于循環(huán)子結(jié)構(gòu)的SMViT 能明顯減少其參數(shù)量與顯存占用。
表4 不同方法的資源使用量Table 4 Resource usage of different methods
本文提出了一種輕量化的孿生ViT模型SMViT,并應(yīng)用于新冠肺炎診斷。首先,使用非對(duì)稱的輕量級(jí)ViT 進(jìn)行掩碼自監(jiān)督預(yù)訓(xùn)練來(lái)使模型學(xué)到更有效的潛在特征表示;其次,在ViT 的基礎(chǔ)上添加孿生網(wǎng)絡(luò)架構(gòu)來(lái)搭建SMViT;最后,通過(guò)循環(huán)子結(jié)構(gòu)的方法對(duì)模型進(jìn)行輕量化。實(shí)驗(yàn)結(jié)果表明:在X-ray數(shù)據(jù)集上,本文模型的ACC、SPE、SEN與F1 分?jǐn)?shù),比最具競(jìng)爭(zhēng)力的ViT 架構(gòu)模型提高了1.42%、4.62%、0.40%和2.80%;在CT圖像數(shù)據(jù)集上,相應(yīng)指標(biāo)最大可提高2.16%、2.17%、2.05%和2.06%。在X-ray 圖像與CT圖像上的實(shí)驗(yàn)結(jié)果均表明SMViT的診斷性能明顯優(yōu)于對(duì)比模型,表現(xiàn)出了優(yōu)越的性能。此外,在數(shù)據(jù)集樣本量不足的情況下,SMViT 仍然具有良好的泛化能力。在基于循環(huán)子結(jié)構(gòu)的輕量化策略下,SMViT能明顯減少參數(shù)量與顯存占用。
由于SMViT 采用了孿生網(wǎng)絡(luò)架構(gòu),在解決多分類問(wèn)題時(shí)訓(xùn)練耗時(shí)較高,未來(lái)的研究將對(duì)此進(jìn)行優(yōu)化。另外,對(duì)不具有結(jié)構(gòu)相同子網(wǎng)絡(luò)的復(fù)合網(wǎng)絡(luò)如何進(jìn)行輕量化仍然有待進(jìn)一步研究。