閆 李,張志鵬,王孔源,陳培培,杜 易,喬百豪
(中原工學(xué)院 電子信息學(xué)院,河南 鄭州 450007)
2020年,由嚴重急性呼吸綜合征2型冠狀病毒(SARS-COV-2,又稱為COVID-19)引起的非典型人傳人肺炎疫情在全球范圍內(nèi)蔓延,COVID-19的流行在全球范圍內(nèi)造成了巨大的影響。兩年多時間,病毒不斷變異和進化,截止2022年底全球確診病歷達到6億3千萬例,死亡病例達到658萬例[1]。
計算機斷層掃描(Computed Tomography,CT)是一種實用性強、靈敏度高的醫(yī)學(xué)成像方式,在早期被廣泛應(yīng)用于臨床COVID-19肺炎的診斷,也包括對普通肺炎等肺部疾病的有效診斷,是一種重要的臨床篩查工具。它可以通過對COVID-19肺部損害的特征模式(即磨玻璃樣不透明和固結(jié))的檢測來判斷是否感染COVID-19。雖然COVID-19的CT影像表現(xiàn)具有一定的特異性,但是也存在一些與其他肺部疾病相似的影像表現(xiàn),這種相似的情況可能會導(dǎo)致誤診[2]。
近年來,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks,CNN)在計算視覺任務(wù)中得到了廣泛的應(yīng)用和研究,在各種實際場景應(yīng)用中都有所建樹,特別在醫(yī)學(xué)圖像分類識別領(lǐng)域受到了研究者的廣泛關(guān)注和研究[3-5]。Li等[3]以RestNet50作為主干網(wǎng)絡(luò)來檢測COVID-19 CT,準確率達到了95.18%。Zhang等[4]提出了由共享特征提取器、異常檢測模塊和置信度預(yù)測模塊組成的基于置信度感知的異常檢測(CAAD)模型,用于區(qū)分COVID-19、非病毒性肺炎和健康對照的這一類基于COVID-19 CT分類的異常檢測問題。Owais等[5]提出了一個基于聚集的輕量級網(wǎng)絡(luò)(DAL-Net)來有效地識別COVID-19 CT。DAL-Net具有低延遲和低內(nèi)存消耗,在COVID-19-CT-Seg和MosMed兩個數(shù)據(jù)集上都有較高的準確率。這些研究證明了深度卷積神經(jīng)網(wǎng)絡(luò)在COVID-19 CT診斷檢測中的發(fā)展?jié)摿Α?/p>
然而,在針對特定的任務(wù)時,設(shè)計一個具有高性能的網(wǎng)絡(luò)相對困難,通常需要豐富的專業(yè)知識,在面對新問題時通常難以獲取。因此,神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(Neural Architecture Search,NAS)技術(shù)作為一種能夠在特定數(shù)據(jù)集中自動搜索出高性能網(wǎng)絡(luò)架構(gòu)的方法,已成為深度學(xué)習(xí)領(lǐng)域的一個熱門研究領(lǐng)域。NAS在進行網(wǎng)絡(luò)設(shè)計時,通過探索龐大的潛在架構(gòu)空間來為給定任務(wù)尋找最佳神經(jīng)網(wǎng)絡(luò)架構(gòu),不需要大量的先驗知識,同時能夠避免高額的試錯成本。近年來,Liu 等[6]提出了一種基于參數(shù)共享的高效NAS(Efficient Neural Architecture Search,ENAS)方法。通過ENAS將子網(wǎng)的可能架構(gòu)聚合在一起,定義為一個超網(wǎng),所有的子網(wǎng)可以共享一組權(quán)重。ENAS在CIFAR-10數(shù)據(jù)集上只需要0.45個GPU天就能搜索得到最佳架構(gòu),展現(xiàn)了其高效性。由于NAS的搜索空間通常是離散的,不能使用連續(xù)函數(shù)進行表示,大多數(shù)現(xiàn)有方法使用強化學(xué)習(xí)或進化算法來尋找最佳架構(gòu)。因而,基于梯度的NAS將離散的搜索空間松弛為連續(xù)的搜索空間,然后使用梯度優(yōu)化算法對參數(shù)架構(gòu)和超網(wǎng)權(quán)值進行聯(lián)合優(yōu)化,其中最具代表性的模型是DARTS[7]。它將NAS問題建模為一個雙級優(yōu)化問題。通過使用梯度下降法,在訓(xùn)練集和驗證集之間交替進行優(yōu)化,來搜索最佳網(wǎng)絡(luò)結(jié)構(gòu)。DARTS的計算瓶頸在于在搭建超網(wǎng)時需要過大的GPU內(nèi)存,因為整個超網(wǎng)需要在GPU內(nèi)存中顯式實例化和具體化。因此,DARTS的搜索空間受到GPU的限制,不能有過多的節(jié)點或者操作算子。
但是,基于梯度的NAS方法容易陷入局部最優(yōu),因為無論是局部最優(yōu)解還是全局最優(yōu)解,其梯度都為0,即操作的共適應(yīng)問題。而進化計算是一種基于種群的無梯度優(yōu)化算法,在神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索中被廣泛使用。與傳統(tǒng)的梯度下降方法不同,進化計算不需要連續(xù)性、導(dǎo)數(shù)存在和單峰等假設(shè),就能夠從離散的、多極值的、含噪聲的高維問題中以很大的概率找到全局最優(yōu)解。進化計算的基本思路是通過對個體的遺傳變異、交配和選擇等操作,優(yōu)化種群的適應(yīng)度值,從而不斷進化出更加優(yōu)異的候選個體。Genetic CNN[8]是使用進化算法優(yōu)化CNN架構(gòu)的早期研究之一。該算法使用基于固定長度的二進制編碼方法表示神經(jīng)網(wǎng)絡(luò)中的算子節(jié)點之間的連接,使用以準確率為單目標的遺傳算法在基于全局的搜索空間中搜索架構(gòu)。但在實際應(yīng)用場景部署神經(jīng)網(wǎng)絡(luò)時,常常會考慮多方面的因素,例如移動端設(shè)備對于網(wǎng)絡(luò)模型的內(nèi)存占用、參數(shù)大小、延遲等有一定的限制。面對這種問題,需要在搜索高性能的網(wǎng)絡(luò)模型的同時,考慮優(yōu)化模型參數(shù)[9-10]、推理時間[10-11]、浮點運算量(Floating Point Operations,FLOPs)[9-10,12]、CPU和GPU延時[9]等。
為解決COVID-19 CT圖像分類問題,本文提出了一種基于多目標進化算法的神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索框架(Multi-objective Evolutionary based NAS,MOEvoNAS),以分類準確率、召回率以及網(wǎng)絡(luò)復(fù)雜度為優(yōu)化目標,設(shè)計出輕量化、高性能的CNN,用于COVID-19計算機斷層掃描圖像的分類和識別。首先,采用了One-shot NAS模型,減少了搜索時間的消耗,同時通過采用改進的操作算子減少了網(wǎng)絡(luò)架構(gòu)中的參數(shù)量和內(nèi)存使用。此外,考慮到COVID-19 CT診斷的特殊性,在評估網(wǎng)絡(luò)模型的性能指標時加入召回率,更全面地評價模型的性能,避免遺漏陽性的COVID-19病例而引發(fā)的不利影響。MOEvoNAS采用NSGA-II優(yōu)化了分類準確率、召回率和架構(gòu)參數(shù)量3個目標,在無需預(yù)處理的條件下,搜索得到低參數(shù)和高性能的網(wǎng)絡(luò)架構(gòu)。
本文采用兩種基于改進的MBConv卷積(MBConv_k3_t1,MBConv_k3_t3H)、兩種類型的池化(平均池化和最大池化)、跳躍連接和空操作來構(gòu)建搜索空間所需要的操作。改進的MBConv卷積操作,減少了網(wǎng)絡(luò)中的參數(shù)數(shù)量,降低了網(wǎng)絡(luò)的訓(xùn)練和推理時間,減少內(nèi)存使用。MOEvoNAS采用的操作空間O如表1所示。同時,基于NASNet[13]所采用的搜索空間,本文提出了不在區(qū)分細胞的類型,采用殘差連接將這兩個不同的細胞堆疊來創(chuàng)建架構(gòu),如圖1所示。
圖1 網(wǎng)絡(luò)架構(gòu)連接示意圖
表1 MOEvoNAS采用的操作空間O
細胞是由N個節(jié)點的有序序列組成的有向無環(huán)圖(Directed acyclic graph,DAG)。每一個中間節(jié)點 都根據(jù)其前向節(jié)點計算,如公式(1):
(1)
其中:x(i)作為潛在的輸入(例如卷積網(wǎng)絡(luò)中的特征映射),op(·)代表某種應(yīng)用在邊i到j(luò)上的操作。操作空間O中有一組候選的操作(MBConv_k3_t1,MBConv_k3_t3H,最大池化,平均池化,跳躍連接,zero),其中每個操作op(·)都將應(yīng)用在x(i)上,zero代表兩個節(jié)點之間缺少連接。通過上述這種形式,將架構(gòu)搜索的任務(wù)簡化為學(xué)習(xí)一組連續(xù)的向量a(i,j)。為了使搜索空間連續(xù),將特定操作的分類選擇放寬為所有可能操作的softmax,公式(2)表示為:
(2)
圖2 在超網(wǎng)中選擇架構(gòu)A的圖示
(3)
為了創(chuàng)建一個貼合COVID-19 CT任務(wù)的EA算法,本文提出了以正確率、召回率、參數(shù)量作為3個目標值,個體的多樣性作為約束的多目標進化算法。正確率(Accuracy)和召回率(Recall)可以通過公式(1-4)計算,這兩個指標主要考慮的是模型在任務(wù)上的性能表現(xiàn)。由于COVID-19的CT在前期流行期間的圖像樣本較少,因此在實際應(yīng)用中數(shù)據(jù)集大多是不平均的,單純使用準確率評估方法對一個神經(jīng)網(wǎng)絡(luò)進行評估的缺點尤為顯著。對于二分類問題,樣本分為陽性(Positive)和陰性(Negative)這兩個類別。根據(jù)預(yù)測結(jié)果制作混淆矩陣(confusion matrix),預(yù)測結(jié)果分為如下4種:陽性樣本預(yù)測為陽(True Positive,TP)、陰性樣本預(yù)測為陰(True Negative,TN)、陽性樣本預(yù)測為陰(False Negative,FN)、陰性樣本預(yù)測為陽(False Positive,FP)。在二分類模型中,正確率和召回率的定義如下:
(4)
當(dāng)遇到預(yù)測結(jié)果為FN的成本代價很高,希望盡量避免遺漏任何陽性案例時,需要關(guān)注召回率。因此,在醫(yī)療診斷等實際應(yīng)用中,召回率是一項重要的指標。本文考慮到COVID-19 CT的應(yīng)用特殊性,在多目標進化算法的目標優(yōu)化中,加入了重復(fù)率,來避免遺漏任何陽性的COVID-19病例帶來的負面影響。考慮在移動端部署,本文同時引入了參數(shù)量這一優(yōu)化目標,旨在搜索到低參數(shù)、高性能的網(wǎng)絡(luò)架構(gòu)。
MOEvoNAS作為具有3個目標的多目標優(yōu)化問題:①最大化架構(gòu)準確率;②最大化架構(gòu)召回率;③最小化架構(gòu)的參數(shù)量。為了更好地平衡多目標之間的關(guān)系,使用NSGA-II作為搜索策略,其中適應(yīng)度值需要在超網(wǎng)上評估得到。總體框架圖如圖3所示。MOEvoNAS首先初始化種群,具有隨機權(quán)重的超網(wǎng)和空存檔的檔案。訓(xùn)練時,在訓(xùn)練集Dtrn上以訓(xùn)練批次大小循環(huán)將種群中每個單獨的架構(gòu)A拷貝到超網(wǎng)中。然后利用超網(wǎng)在驗證集Dvld上計算種群中每個個體架構(gòu)的Facc、Frecall。然后更新存檔,將架構(gòu)存入當(dāng)前存檔中。最后使用NSGA-II生成下一代種群。整個過程運行到終止條件G代。最終返回非支配解集,即可能的神經(jīng)網(wǎng)絡(luò)架構(gòu)解決方案的集合。
圖3 MOEvoNAS流程示意圖
實驗將采用3個COVID-CT數(shù)據(jù)集進行研究。第一個數(shù)據(jù)集是小型的COVID-CT數(shù)據(jù)集[14],其中包含來自216名COVID-19患者的349張CT圖像以及3個生物醫(yī)學(xué)CT掃描數(shù)據(jù)集的459張非COVID-19患者的CT圖像。為了進一步驗證所提出的MOEvoNAS算法的性能,我們還使用了包含17104個胸部CT切片的COVIDx1-CT[15]數(shù)據(jù)集,其中包括3種不同類型的胸部CT圖像:非COVID-19感染引起的普通肺炎、新型冠狀病毒肺炎和正常對照切片。
COVID-CT和COVIDx1-CT均使用K折交叉驗證法劃分數(shù)據(jù)集。COVID-CT數(shù)據(jù)集被劃分為訓(xùn)練集(40%)、驗證集(20%)和測試集(40%),COVIDx1-CT數(shù)據(jù)集被劃分為訓(xùn)練集(80%)、驗證集(10%)和測試集(10%)。本文還選取了COVIDx-CT 2A數(shù)據(jù)集[16],該數(shù)據(jù)集包含來自3 745名患者的194 922張CT圖像,以進一步驗證算法在大型新冠肺炎數(shù)據(jù)集上的性能,其中包括3種不同類型的胸部CT圖像:SARS-CoV-2病毒感染的肺炎(NCP)、普通肺炎、正常對照切片。3種數(shù)據(jù)集的詳細分布情況請參見表2。圖4從COVID-CT、數(shù)據(jù)集中隨機抽樣了CT圖像示例,其中可以看到COVID-CT存在低質(zhì)量且有標注的數(shù)據(jù)。
圖4 COVID-CT數(shù)據(jù)集圖像示例
圖5 MOEvoNAS-1和MOEvoNAS-2的細胞示例
表2 COVID -CT、COVIDx -CT、COVIDx-CT 2A數(shù)據(jù)集分布情況
所提出的MOEvoNAS算法是基于PyTorch實現(xiàn)的,實驗都是在GTX 3080Ti GPU上進行的?;鶞示W(wǎng)絡(luò)及預(yù)訓(xùn)練權(quán)重均由Torchvision庫提供。在MOEvoNAS算法中,細胞的每個輸入節(jié)點x(j)將兩個輸入映射到一個輸出。每個細胞由7個節(jié)點,前兩個節(jié)點作為輸入節(jié)點,最后一個節(jié)點作為輸出節(jié)點,共有14條邊。搜索空間中共有5個操作,因此每個架構(gòu)由兩個14×5的矩陣表示,每個矩陣代表兩個不同的細胞。因此,架構(gòu)a由大小為14×5×2=140的向量表示。與文獻[17]的搜索空間相比,需要搜索的架構(gòu)參數(shù)更少,優(yōu)化的難度降低。
通常來說,訓(xùn)練超網(wǎng)所需要的GPU內(nèi)存很大,很難在單GPU上完成搭載模型。由于MOEvoNAS在搜索空間已經(jīng)限制了操作的類型,所以只需要構(gòu)建一個迷你超網(wǎng)作為代理模型。迷你超網(wǎng)的初始通道數(shù)設(shè)置為12,層數(shù)為2,只有兩個細胞進行堆疊,其他超參數(shù)設(shè)置均與訓(xùn)練階段相同。即批次大小為12,權(quán)重衰減λ=3×10-4,初始學(xué)習(xí)率ηmax=0.025(學(xué)習(xí)率衰減策略均使用余弦退火),動量ρ=0.9。對于NSGA-II的實現(xiàn),MOEvoNAS使用了二元錦標賽選擇父本個體,交叉概率為0.7的模擬二進制交叉(η=15),變異概率為0.1的多項式變異(η=20)。關(guān)于實驗中所涉及的超參數(shù)設(shè)置如表3所示。
表3 超參數(shù)設(shè)置
為了驗證所提出的MOEvoNAS算法的有效性,我們設(shè)計了在不同骨干網(wǎng)絡(luò)為基準的隨機初始化網(wǎng)絡(luò)上的實驗,并在ImageNet上進行預(yù)訓(xùn)練?;鶞示W(wǎng)絡(luò)包含VGG16[18]、ResNet-18[19]、ResNet-50[19]、DenseNet-121[20]、DenseNet-16[20]、Mobilenetv2[21]、EfficientNet-b0[22]、EfficientNet-b1[22]。為了公平評價MOEvoNAS和基準網(wǎng)絡(luò)在COVID-CT數(shù)據(jù)集上的性能,均采用隨機初始化權(quán)重,重新進行訓(xùn)練。表4中,RAND代表隨機初始化訓(xùn)練的不同神經(jīng)網(wǎng)絡(luò)在COVID-CT上的性能表現(xiàn)??梢钥闯鯩OEvoNAS搜索得到的網(wǎng)絡(luò)在正確率和召回率上在所有競爭對手中性能都達到了最優(yōu)(Acc 84.94%,Recall 83.21%),同時參數(shù)量也在所有競爭對手中最低(0.18M)。這說明,如果沒有專業(yè)的領(lǐng)域知識設(shè)計,通過在短時間內(nèi)遷移其他任務(wù)中具有出色性能的模型來完美適配特定的目標任務(wù)是比較困難的。但是,通過MOEvoNAS可以在短時間內(nèi),無需任何預(yù)處理或者手動參數(shù)設(shè)置,自動找到適合當(dāng)前復(fù)雜任務(wù)的網(wǎng)絡(luò)架構(gòu)。
表4 隨機初始化網(wǎng)絡(luò)(RAND.)和ImageNet預(yù)訓(xùn)練網(wǎng)絡(luò)(PRET.)的性能比較
在深度學(xué)習(xí)中,很多訓(xùn)練的技巧可以提高分類的性能。對數(shù)據(jù)集的預(yù)處理,數(shù)據(jù)增強或者采用ImageNet的預(yù)訓(xùn)練模型等,可以有助于許多研究在各種分類基準上獲得最先進的結(jié)果。于是,在隨機初始化驗證所有網(wǎng)絡(luò)模型之后,我們進一步研究了在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練后在COVID-CT數(shù)據(jù)集的分類準確率和召回率。在某些情況下,預(yù)訓(xùn)練策略可以提高網(wǎng)絡(luò)的性能,例如Resnet18在隨機初始化中準確率為80.6%,通過預(yù)訓(xùn)練的遷移學(xué)習(xí),Resnet18的準確率提高了2.68%。相比之下,預(yù)訓(xùn)練策略對于MOEvoNAS的影響很小,原因是MOEvoNAS已經(jīng)為特定任務(wù)找到了一個很好的解決方案。層數(shù)減少的架構(gòu)減少了結(jié)構(gòu)的冗余,避免了大型網(wǎng)絡(luò)的過擬合。在沒有任何預(yù)處理操作的情況下,MOEvoNAS-1仍然具有最優(yōu)的分類正確率。
為了進一步驗證在COVID-19上的分類性能,將在更復(fù)雜的COVIDx-CT上進行搜索,并將以搜索得到的網(wǎng)絡(luò)直接遷移到COVIDx-CT 2A,驗證其可遷移性和泛化能力。在COVIDx-CT搜索時,超參數(shù)的設(shè)置與COVID-CT完全相同,搜索得到的網(wǎng)絡(luò)架構(gòu)在訓(xùn)練階段同樣保持和表4上的訓(xùn)練設(shè)置。由表5可以看出,在COVIDx-CT搜索得到神經(jīng)網(wǎng)絡(luò)模型MOEvoNAS-2在參數(shù)上遠小于其他基準網(wǎng)絡(luò)(0.24M),在正確率和召回率上也比MobileNetV2高(98.31%,97.21%),(97.60%,96.70%)。為了探索在大數(shù)據(jù)樣本下的MOEvoNAS-2遷移性能以及對COVID-19 CT圖像的檢測有效性,使用COVIDx-CT 2A測試集對經(jīng)過訓(xùn)練的網(wǎng)絡(luò)進行了定量評估,如表6。可以看出,所有的基準網(wǎng)絡(luò)架構(gòu)都實現(xiàn)了較高的測試精度,并且在COVIDx-CT 2A訓(xùn)練集上訓(xùn)練的MobileNetV2和EfficientNet-B0架構(gòu)獲得了最佳的正確率(99%)。在體系架構(gòu)和計算復(fù)雜度方面,MOEvoNAS-2的參數(shù)(0.24 M)和FLOPs(0.88 G)都是最少的,正確率達到了(98.3%)。相比之下,在資源有限的移動端部署平臺,MOEvoNAS具有高效率和低參數(shù)的優(yōu)點。
表5 隨機初始化網(wǎng)絡(luò)(RAND.)在COVIDx-CT性能比較
表6 MOEvoNAS-2遷移在COVIDx-CT 2A性能比較
本文提出了一種基于多目標進化算法的神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索框架(MOEvoNAS),以分類準確率、召回率以及網(wǎng)絡(luò)復(fù)雜度為優(yōu)化目標,設(shè)計出輕量化、高性能的CNN,用于COVID-19計算機斷層掃描圖像的分類和識別。實驗結(jié)果表明,相比于其他對比網(wǎng)絡(luò),所提出的MOEvoNAS在小型COVID-CT數(shù)據(jù)集以及更復(fù)雜的大型COVIDx-CT和COVIDx-CT 2A數(shù)據(jù)集上均表現(xiàn)出較好的性能。未來,在醫(yī)療圖像分類領(lǐng)域,由于臨床拍攝的角度、圖像的擾動等因素的影響,圖像數(shù)據(jù)往往存在一定的噪聲或者非線性的變化,因此搜索高魯邦性的神經(jīng)網(wǎng)絡(luò)架構(gòu)有重要的意義。在面對數(shù)據(jù)分布不平均、馬賽克等低質(zhì)量數(shù)據(jù)集時,高魯棒性網(wǎng)絡(luò)也能保證較優(yōu)的性能。