匡 健 洪敏杰 劉星辰 賈俊鋮
(蘇州大學計算機科學與技術學院 江蘇 蘇州 215000)
在已知的致死疾病中,肺部疾病占據了很大比重。其中又以肺癌最為突出,每年因肺癌死亡的人數約130萬[1]。在肺癌早期,肺部病變更多地以結節的形式展現出來,如果能在該階段及時發現并治療,將極大提高病患的生還率。計算機輔助診斷技術用以清晰展示患者的病灶,在輔助醫生確定病情上大有裨益。這其中最常見的屬電子計算機斷層掃描(Computed Tomography,CT)。醫生根據CT圖像,結合個人經驗做出相應診斷。隨著CT圖像的普及,影像科醫生需要開展繁重的閱片工作,因此在這一過程中也存在著漏診[2]、錯診的情況。為進一步減少醫生閱片的負擔,肺結節分類技術應運而生。對于大量的CT圖片,通過肺結節分類技術,即可初步對其進行良惡性診斷,在降低醫生工作量的同時,也大大提高了診斷率。
利用機器學習的分類算法近年來受到人們關注,其通過對所給的實驗數據進行學習,從而獲得一個趨近于客觀事實的結果。在進行學習之前,需要將圖片數據進行處理。一般地,將數據分成訓練集和測試集兩部分。訓練集用以學得模型,包括已經標記好類別的圖片,而測試集是為了驗證模型性能,包括那些未標記的CT圖片。機器學習任務通過對訓練集中的CT圖片輸入到模型進行訓練,獲得穩定的分類器,然后在訓練好的機器學習模型上,為未標記的圖片確定一個類別。因此,近年來在提升分類算法準確度上的研究也相繼展開。在此過程中,研究人員提出了一種借鑒人類視覺的注意力機制[3]。注意力機制通過在訓練過程中僅關注感興趣區域而抑制相關區域,從而有效提升模型的性能。
本文在卷積神經網絡的基礎上提出一種基于注意力機制的3D深度卷積神經網絡用于肺結節分類。實驗結果表明,基于注意力機制的肺結節分類方法有效提升了分類的準確性。
傳統的圖像分類先將若干圖像組成訓練集,每個圖像都分別被標記為不同類別中的一類。再使用該訓練集訓練一個分類器來學習每個類別的特征。最后通過預測一組新圖像的類標簽來評估分類器的性能。隨著神經網絡的興起和數據集的豐富,深度卷積神經網絡更多地被用在圖像分類中。現存的許多圖像分類算法大多通過在ImageNet數據集進行訓練以證明其有效性。肺結節分類較之傳統的圖像分類算法大體相似卻略有區別。
肺結節分類算法一般由醫生先給出肺部結節所在的位置,再將圖片輸入神經網絡以訓練。目前的肺結節分類主要集中在良惡性分類工作中,主要利用了神經網絡、支持向量機(Support Vector Machine,SVM)等相關機器學習方法提取圖像特征。胡強等[4]提出了一種基于遺傳算法和BP神經網絡的分類算法,對分類器進行了優化,實現了孤立性肺結節的良惡性分類。楊帆等[5]將卷積神經網絡[6](Convolutional Neural Networks,CNN)引入了篩查存在肺結節的CT圖像診斷,提出了一種基于CNN的分類算法。以上肺結節分類方法是基于2D圖像層面的。Zhu等[7]則在此基礎上使用雙通路網絡(Dual Path Network,DPN)進行了肺結節的檢測與分類,從而實現了完整的肺結節診斷系統。
注意力機制多用于自然語言處理、機器翻譯、計算機視覺等方面,能有效提升模型的性能。在分類中也卓有成效。傳統的神經網絡通常是在經過一系列的卷積、池化、激活函數,以及線性變換等操作后生成特征圖,其質量極大程度取決于模型的優劣,因此近年來許多研究人員致力于探索性能更優的卷積神經網絡模型。在此過程中,如ResNet[8]、DenseNet[9]等網絡被相繼提出,但是對于有效生成特征圖問題仍然有很大的改進空間。
由此引出的注意力機制實質上是借鑒了人類視覺認知中對于視野中的特定區域的關注行為。在計算機視覺任務中,注意力機制的核心即是給圖像加入權重,避免不相關因素對于最終結果的影響。
對于現有的模型,我們可以引入注意力以突出任務中關鍵的部分。目前,可以應用在計算機視覺任務中的注意力機制主要分為強注意力(Hard Attention)軟注意力(Soft Attention)。強注意力即通過數據標注的方式,在模型訓練過程中顯式地告訴模型感興趣區域的位置。強注意力更加關注點,也就是圖像中的每個點都有可能延伸出注意力,同時強注意力是一個隨機的預測過程,更強調動態變化,其訓練過程往往是通過增強學習(Reinforcement Learning)來完成的。軟注意力即更關注區域或者通道的注意力機制。軟注意力是確定性的注意力,學習完成后直接可以通過網絡生成。通過軟注意力可使網絡模型通過反向傳播這一過程主動地學習任務所需要關注的區域。在近年來的計算機視覺任務研究中,以這兩種注意力機制最為常見。Oktay等[10]提出了基于注意力機制的U-Net網絡模型,這使得肺部分割的精確率得到了有效的提升。Hu等[11]在ImageNet2018中首次提出了采用基于圖像通道的注意力機制的方法。
本文在借鑒Zhu等[7]的基礎上提出了一種基于注意力機制的神經網絡,將3D卷積神經網絡與注意力機制結合,隨后采用梯度提升樹算法[12](Gradient Boosting Machine,GBM),實現了完整的肺結節分類網絡的構建。
在傳統的機器學習任務中,通常將預處理之后的圖片輸入到網絡中進行訓練,以期得到較為滿意的結果,但是在本實驗中所得到的病患肺部數據實則是每隔一定層后所得到的一組圖片數據,此時若仍使用傳統2D數據進行訓練,勢必會存在肺部結節不夠清晰與全面,以至于提取的特征不明顯、最終訓練效果差等問題。為解決這些問題,可將原始的肺部CT圖像處理成3D CT圖像作為網絡輸入。然而由于受到GPU顯存的限制,無法將一個病患的完整3D圖像輸入網絡,因此對原始3D圖像進行裁剪,根據醫生提供的標注信息,最終得到了包含了肺結節的17×17×17大小的三維數組。
本文中所使用的網絡結構主體是ResNet網絡,主要由殘差網絡塊、池化層、全連接層和注意力機制模塊等組成,具體結構如圖1所示。

圖1 3D神經網絡結構
對于輸入網絡的CT圖片采用常用的批處理方案,將每個批次大小(Batch_size)設置為16,由于輸入的是灰度圖,初始通道數為1。于是每個批次送入網絡的是一個16×1×17×17×17的數組,在卷積、歸一化、通過激活函數和最大池化層后,在通道數增加至64的同時,也減小了圖片的尺寸。將改變后的圖片數據輸入殘差網絡卷積塊中,每個殘差塊[13]包含若干卷積操作以提取特征并減小尺寸。在經歷過一系列殘差塊后,再次進行平均池化操作,使得圖片尺寸降為1×1×1,最終通過拼接和線性變換得到了16×2的張量。
注意力機制可用于為特征賦予一個權重來提升效率,因此在本文中提出一種可訓練的注意力機制模塊,并將其整合到上述的卷積神經網絡中。注意力因子(即權重)對不相關的特征具有抑制作用,而突出圖像分類任務中感興趣的區域,具有對特征映射重新采樣的作用。本文對現有的網絡所得到的特征相繼使用通道注意力機制運算以及空間注意力機制運算,注意力機制模塊在ResNet網絡中的使用如圖2所示。

圖2 注意力機制模塊在ResNet殘差塊中的結構
在通道注意力機制運算中,采用擠壓和激勵網絡[11](Squeeze and Excitation Networks,SENet)對輸入特征映射的空間維度的方法,結合了自適應均值池化和自適應最大池化來增強特征映射的表達能力。較之于普通池化技術只能通過調整池化步長得到期望的池化結果,自適應池化因其固定大小輸出的池化技術而更為有效。
在本文的每個ResNet塊中加入通道注意力機制,首先對輸入特征分別進行均值池化和最大池化操作(若設置池化輸出為1,則形如64×17×17×17的輸入在自適應池化后將會被擠壓成64×1×1×1的輸出),隨后對兩種池化后的輸出分別使用一個共享參數的自編碼結構的多隱層神經網絡進行激勵操作,得到兩中間結果,將這兩個中間結果相加,最后通過Sigmoid函數求得注意力因子。
類似于通道注意力機制,空間注意力機制即是對圖像空間層面添加一個注意力因子。該因子的計算仍是先根據特征映射的最大池化和均值池化結果得到,此處的池化操作有別于前者,是在通道層面進行的池化操作,會將形如64×17×17×17的特征映射在通道參數設為1的情況下生成1×17×17×17的空間注意力因子。
對應到本文中,是將經過通道注意力后的特征映射先后進行最大池化和均值池化操作,隨后將兩結果在通道層面上進行拼接操作,將拼接后的結果通過卷積層實現降維,得到單通道的空間特征映射。最后仍然使用Sigmoid函數求得最終的空間注意力因子。
依次對原始卷積結果的特征映射進行通道注意力和空間注意力操作,將會得到新的特征映射。通過有監督的反向傳播訓練過程,有效抑制3D圖像中不相關區域,突出感興趣區域,從而使得分類網絡的性能有進一步的提升。
梯度提升決策樹算法[12]利用一種可迭代的決策樹算法,將所有樹的結論累加以求得最終答案。
提升樹模型的實質是多個決策樹的累加和,其數學模型如式(1)所示。
(1)
式中:T(x;Θm)表示決策樹;Θm是決策樹的參數;M表示決策樹的個數。針對樣本K={(x1,y1),(x2,y2),…,(xN,yN)},提升樹模型的訓練就是選擇決策樹的參數Θ={Θ1,Θ2,…,ΘM}以最小化損失函數∑L(yi,fM(xi))。
提升樹模型亦可表示為一個迭代過程,如式(2)所示。
fm(x)=fm-1(x)+T(x;Θm)m=1,2,…,M
(2)
因此,提升樹的訓練亦可按照迭代的過程來完成,在m次迭代中,生成一個新的決策樹T(x;Θm)。
綜上,提升樹算法的過程大致如下:初始化f0(x)=0,對每一個樣本(xi,yi),計算其殘差rm,i=yi-fm-1(xi),i=1,2,…,N;利用{(xi,rm,i)}i=1,2,…,N訓練一個決策樹,得到T(x;Θm),之后不斷更新式(2),最終得到如式(1)所示的提升樹。
然而提升樹在一些情況下不便求出殘差,梯度提升樹便是用損失函數的負梯度方向值來近似擬合殘差。在本文實驗中,由3D神經網絡得出的特征將會輸入梯度提升決策樹作進一步訓練。由于肺結節分類實驗在本質上屬于二分類問題,因此GBM的損失函數如式(3)所示。
L(y,f(x))=log(1+exp(-yf(x)))
(3)
實驗中將惡性結節標注為1、良性結節標注為0,計算通過3D神經網絡生成的特征與目標標注之間的差異,最終訓練出提升決策樹,得到一個較為準確的分類器。
本文采用的數據集是LUNA16數據集,該數據集來源于LIDC-IDRI數據集,其中有888幅已脫敏的病人肺部圖像。其中肺結節是將直徑在3 mm以上的樣本篩選出來,再將相近的結節融合所得,每個結節的標注信息由LIDC-IDRI數據集提供,在三位以上專家共同標注與評估下,得到了較為準確的良惡性分類,標注數據如表1所示。

表1 良惡性分類標注表
本文的實驗基于Intel i5-8400處理器,兩張NVIDIA GeForce 1070Ti顯卡(8 GB顯存),32 GB內存,操作系統為Ubuntu16.04。實驗中的網絡模型采用Pytorch深度學習框架實現。在實驗中,根據標注信息,將肺結節圖片數據集整合成3D數據,最終得到了17×17×17的三維數組。由于受到GPU顯存的限制,將訓練參數的批次大小設置成16,隨后采用隨機梯度下降算法,在700個Epoch中反復訓練。在訓練過程中初始學習率為0.1,在第300到第500個Epoch中將學習率調整為0.01,第500個后的學習率調整為0.001,權重衰減值設置為0.000 5,動量值設置為0.9。
為防止數據過擬合以及增強模型的泛化能力,在數據預處理階段對CT圖像進行了隨機變換操作,例如左右翻轉、隨機裁剪等變換。
本文的實驗評估采用了ROC(Receiver Operating Characteristic)曲線和準確率(Accuracy)作為評判模型的指標。
ROC曲線的橫軸是假陽性率(False Positive Rate,FPR),縱軸為真陽性率(True Positive Rate,TPR)。在醫學領域中,真陽性率一般又稱為敏感度(Sensitivity),其計算公式如式(4)所示。
(4)
式中:TP表示真陽性;FN表示假陰性。
ROC曲線在正負樣本的分布發生變化時形狀基本保持不變,因此該評估指標能降低不同測試集帶來的干擾,更加客觀地衡量模型本身的性能,適用于分類問題。
AUC(Area under the Curve of ROC)常被用來評價一個二分類模型的訓練效果,即ROC曲線下方的面積,表示預測的正例排在負例前面的概率。
肺結節分類模型的ROC曲線如圖3所示,其中實線為使用ResNet網絡和梯度提升樹算法(GBM)的運行結果,虛線為在原有基礎上添加Attention機制的運行結果。可以看出,添加Attention機制的網絡,其AUC值比未添加Attention的網絡的AUC大,因此可以證明添加了Attention機制的網絡比原網絡效果更好。

圖3 模型的ROC曲線
對于給定的數據集,準確率是分類器正確分類的樣本數與總樣本數之比,也常作為分類問題的度量標準。如表2所示,在實驗中分別記錄了僅使用ResNet模型、結合ResNet與GBM后的模型準確率,再將其與添加了Attention機制后的模型進行對比。最終發現ResNet網絡結合GBM的模型在添加Attention機制后相較于使用Multi-scale CNN[14]和Deep 3D DPN[7]的模型有較大的提升,由此可見Attention機制可以有效地提升肺結節分類的準確性。

表2 LUNA16 數據集上各模型準確率
本文提出一種基于注意力機制的肺結節分類方法,采用了3D卷積神經網絡和梯度提升樹算法,結合了空間和通道注意力機制,在LUNA16公開數據集上驗證了本文方法的有效性。實驗證明了使用注意力機制的方法準確率達到了91.30%,超過了僅使用的ResNet的方法和ResNet+GBM的方法。
在未來的工作中,我們將繼續提升肺結節分類的準確性,并進一步探索肺結節類型的多分類問題。