易樂,張蕾
(四川大學計算機學院,成都610065)
肺癌是我國乃至全球癌癥相關死亡的主要原因,在2018年全球就有210萬新增肺癌的確診病例和180萬新增肺癌的死亡病例[1]。早期發(fā)現(xiàn)惡性肺結節(jié)是至關重要的,它能夠顯著提升肺癌患者的五年生存率[2]。肺癌在多個層面中都具有極大的時間和空間異質性,包括基因、蛋白質、細胞、微環(huán)境、組織、器官等層面[3]。計算機斷層掃描(CT)圖像能夠以非侵入的方式捕獲腫瘤的異質性,因此,已經成為臨床實踐中篩查肺癌的常規(guī)手段。計算機輔助診斷(CAD)系統(tǒng)利用胸部CT圖像,自動地檢測出惡性的肺結節(jié),極大減輕了臨床醫(yī)生的工作負擔并加快了肺癌早期篩查流程。
近幾年,肺癌的CAD系統(tǒng)取得了極大的發(fā)展[4-12],其取得的突破與深度卷積神經網絡(DCNN)在醫(yī)學圖像分析任務上的應用息息相關。然而,小樣本問題始終阻礙著DCNN在肺結節(jié)的良惡性分類任務上的性能。這個問題的出現(xiàn)主要是因為帶有標注的數(shù)據獲取存在很大的壁壘。
很多工作都致力于推進肺結節(jié)良惡性分類的任務[4-6,8,11,12]。如何從只有少量樣本的肺結節(jié)數(shù)據集中,有效提取腫瘤異質性的表達,是這些研究的共同課題。這些方法包括了多視圖[5,6,10]/尺度[7,8]、半監(jiān)督學習[6]、遷移學習[5,12]等。然而,很少有研究涉及肺結節(jié)在影像中呈現(xiàn)出的形態(tài)學特征。臨床上,這些特征在一定程度上反映了肺結節(jié)的異質性,能夠輔助肺結節(jié)的性質的判斷[13,14]。例如,惡性肺結節(jié)通常具有毛刺征、分葉征的形態(tài)學表現(xiàn)。
為了解決此任務中的小樣本問題,我們提出多任務的肺結節(jié)分類殘差網絡(MTLNC-Net)。其將肺結節(jié)影響特征作為DCNN訓練的輔助監(jiān)督信號,使得即使在少量訓練數(shù)據的情況下,網絡依然能夠很好地提取肺結節(jié)異質性表達,最終提升良惡性分類的性能。具體地,我們采用三維殘差網絡(3D-ResNet)[15]和帶權交叉熵損失函數(shù)(W-CEL)[16]。更重要的是,應用了多任務學習中參數(shù)共享的模式,從而為特征提取網絡引入輔助監(jiān)督信號的正則化影響。
我們采用了LIDC-IDRI數(shù)據集[17]來驗證我們提出的方法。實驗結果表明,MTLC-Net有效解決了肺結節(jié)良惡性分類任務中的小樣本問題。并且,對比于目前僅用一個骨干網絡的肺結節(jié)良惡性分類工作,本方法取得了目前最好的結果。
LIDC-IDRI數(shù)據集[17]包含了1018個胸部CT掃描,其中包含2667個肺結節(jié)病灶。每個放射科醫(yī)生獨立地勾畫出這些肺結節(jié)的感興趣區(qū)域,并為它們的九個影像特征分配一個5-6個數(shù)值的程度評級。這些特征包括:難分辨度(subtlety)、內部結構(internal structure)、鈣化(calcification)、球度(sphericity)、邊緣(margin)、毛刺(spiculation)、分葉(lobulation)、質地(texture)、和惡性(malignancy),本文分別用Sub、Int、Cal、Sph、Mar、Spi、Lob、Tex、Mal表示以上的特征。由于這些肺結節(jié)有至少一個至多四個放射科醫(yī)生標注,因此需要合并同一個肺結節(jié)有多個標注的情況。我們用了一個Python包,即pylidc(1)https://github.com/pylidc/pylidc,來查詢并合并肺結節(jié)。最終,我們獲得了2651個肺結節(jié)。另外,我們用多個標注結果的中位數(shù)來作為金標準。
表1給出了LIDC-IDRI數(shù)據集中每個評級的結節(jié)數(shù)量,其中,特征Int只有16個結節(jié)的評級不為1,因此,我們在本研究中排除了Int特征。另外,根據此前的研究[5,6,8,10,18],將Mal評級的3作為不確定,評級1-2作為良性,評級4-5作為。最終,一共納入1393個肺結節(jié)。此外,我們將Cal特征的1-5的評級作為肺結節(jié)具有鈣化特征(Cal=1,其他特征類似),將Spi和Lob的3-5的評級作為具有毛刺或者分葉征,將Tex和Sph的1-3的評級分別表示具有磨玻璃成分和肺結節(jié)呈現(xiàn)為線形或橢圓形,將Mar和Sub的1-2的評級作為肺結節(jié)呈現(xiàn)邊緣不清晰和難分辨的特征。表2給了良性肺結節(jié)和惡性肺結節(jié)在每個特征上分別的數(shù)量。
表1 LIDC-IDRI數(shù)據集特征標簽以及合并后每個評級的結節(jié)個數(shù)(N/A:無)
表2 不同性質肺結節(jié)的數(shù)量以及每種肺結節(jié)影像特征為正樣本的數(shù)量
本研究中,我們將所有肺結節(jié)裁剪為32×48×48大小的圖片。另外,我們在訓練階段使用了數(shù)據增廣的方法,降低模型過擬合風險[4,8-10]。
圖1給出了MTLNC-Net的整體的架構:包含一個3D-ResNet[15]骨干網絡和W-CEL[16]函數(shù)。采用3D-ResNet的原因有以下兩個方面。第一,ResNet能夠靈活改變網絡的深度,從而方便選擇此數(shù)據集上最優(yōu)的網絡大??;第二,不同于擴展2D-DCNN來提取肺結節(jié)的空間特征[5,6,10],三維的網絡可以最大保留肺結節(jié)的空間異質性。
圖1 MTLNC-Net的結構框架
表3給出了3D-ResNet的具體結構,其中每個AL(Assembled Layer)層是由殘差塊堆積而成了,在每個AL層的開始都會增加特征圖的通道數(shù)量并對特征圖進行降采樣。AL層的每個殘差塊都設計了一個快捷連接,它使得這個塊能夠學到輸入輸出之間的殘差,從而逼近一個恒等映射。通過殘差塊的堆積,ResNet能夠靈活改變網絡大小,并且也不會使得網絡的正確率隨著深度增加而出現(xiàn)顯著的下降。本研究中,我們在3D-ResNet的輸出層設置了8個神經元,其代表一個良惡性分類主任務和七個影像特征分類輔助任務。
表3 殘差網絡結構(Conv:卷積層,MP:最大池化,AL:殘差塊堆積層,GAP:全局平均池化,F(xiàn)C:全連接層)
另外,我們采用帶權交叉熵損失函數(shù)[16]作為損失函數(shù)。它廣泛應用于多標簽分類,來緩解類別不平衡問題。假設p=F(x)(p∈(0,1)8,x∈RD)為輸出的肺結節(jié)具有某種特征的概率,y∈{0,1}8為標簽,其中y的每一位yl表示肺結節(jié)具有或者不具有此特征。W-CEL定義如下:
(1)
(2)
(3)
其中,|Pl|和|Nl|分別表示在一批數(shù)據中,第l個標簽的正樣本和負樣本的數(shù)量。另外,ε用來防止沒有正樣本的情況,我們默認設置它為0.1。
不同于以往的肺結節(jié)良惡性分類的研究,我們關注利用肺結節(jié)的影像特征作為良惡性分類網絡的輔助監(jiān)督信號,從而解決此任務上的小樣本問題。具體地,3D-ResNet同時輸出良惡性的概率和每個特征的概率,輸入到W-CEL中計算總體損失,再反向傳播到網絡中。由于肺結節(jié)的每個任務都共享同一個特征表達,并在訓練過程中根據所有任務進行優(yōu)化。相較于只輸出良惡性的分類網絡來說,多任務網絡提取到的異質性表達更具一般性、具有特定噪聲模式更少的,每個特征都能夠在這組特征表達的特征空間中以某種方式區(qū)分。最終,網絡能夠提取更具泛化性的表達,即使僅有少量訓練數(shù)據,DCNN對肺結節(jié)異質性特征提取依然有很好表現(xiàn),從而很好地應對此任務上的小樣本問題。
為了評估模型在肺結節(jié)良惡性分類任務上的性能,本文采用了正確率(Accuracy)、敏感性(Recall)、精確度(Precision)、特異性(Specificity)、F1值,以及受試者曲線下面積(AUC)。由于此數(shù)據集正負樣本存在著不平衡的問題,因此,我們主要將AUC作為對比不同方法的主要參考指標。
我們在一臺有四塊Tesla K40(12GB)顯卡的服務器上進行了實驗,其系統(tǒng)版本為Ubuntu(16.04),CUDA版本號為9。所有模型和實驗代碼都使用PyTorch 1.0和Python 3.6實現(xiàn)。所有實驗都在LIDC-IDRI數(shù)據集上進行五次獨立的十折交叉驗證。我們使用已經在Kinetics數(shù)據集上收斂的3D-ResNet模型的參數(shù)進行初始化,并在LIDC-IDRI數(shù)據集上微調160個周期。驗證集上取得最好的良惡性分類AUC結果被保存下來。優(yōu)化器采用SGD,其初始學習率為0.001,并且會在每40個周期后減小10倍,每個批量的大小為32。另外,我們用0.5作為分類的閾值。所有結果都乘以了100,并用均值和標準差來呈現(xiàn)。
在本節(jié)中,我們將只進行良惡性分類(SingleTask,ST)和使用輔助監(jiān)督信號進行良惡性分類(MultiTask,MT)的情況進行對比,以驗證提出方法的有效性。另外,我們改變3D-ResNet的深度,以探索深度變化對于ST和MT性能的影響。實驗結果如表4所示。
表4 不同網絡深度和不同訓練損失函數(shù)情況下肺結節(jié)良惡性分類的性能(ST:單任務,只進行肺結節(jié)良惡性分類的任務;ML:多任務,肺結節(jié)良惡性分類與肺結節(jié)影像特征分類)
首先,在3D-ResNet-18的情況下,ST-WCEL整體表現(xiàn)更優(yōu),即,除了Recall以外,其他指標都取得最好的結果;在3D-ResNet-34的情況下,兩種方法整體表現(xiàn)接近。但是,MT-WCEL的F1和AUC更優(yōu),在不平衡數(shù)據集的條件下,這兩個指標能夠更好得衡量模型的性能;而在3D-ResNet-50和3D-ResNet-101的情況下,MT-WCEL在所有指標上都能超過ST-WCEL。另外,從深度變化的角度來看,ST-WCEL和MT-WCEL的性能首先會提升,一定程度后性能會降低,兩者最優(yōu)的結果大致都在3D-ResNet-50取得,但過于深的模型表現(xiàn)也總體優(yōu)于較淺的模型,如3D-ResNet-101優(yōu)于3D-ResNet-18與3D-ResNet-34。第三,在同樣的分類閾值條件下,MT-WCEL相較于ST-WCEL的結果標準差更小,這表明MT-WCEL方法效果更加穩(wěn)定。
總的來說,在此小數(shù)據集上,通過在肺結節(jié)良惡性分類網絡中引入影像特征分類的監(jiān)督信號,良惡性分類任務能夠取得較大提升。同時,這種方法也能充分利用3D-ResNet-50與3D-ResNet-101這樣非常深的網絡的強大的特征表達能力,提取的肺結節(jié)異質性表達更具一般性,并且網絡學習更加穩(wěn)定,大模型在單任務、小數(shù)據集上的過擬合風險顯著降低。
在本節(jié)中,我們探索在訓練樣本數(shù)量不斷減少時,ST-WCEL和MT-WCEL兩種方法效果的變化。具體地,我們使用3D-ResNet-50作為骨干網絡,固定使用20%的數(shù)據作為測試集,然后每次減少整體10%的數(shù)據來訓練網絡。每個實驗獨立重復5次。結果如圖2所示。
圖2 訓練數(shù)據集數(shù)量改變對網絡的分類性能的影響。左圖為F1的變化,右圖為AUC的變化。其中豎線表示標準差。
隨著訓練數(shù)據量的變化,MT-WCEL整體性能都優(yōu)于ST-WCEL。另外,根據AUC的變化,MT-WCEL的效果從采樣為8/8訓練數(shù)據到采樣3/8訓練數(shù)據時下降相對于ST-WCEL更緩慢,這表明輔助監(jiān)督信號有助于網絡對主要分類任務的判別,此方法能夠有效地彌補訓練數(shù)據量不足的缺陷。另外,在訓練數(shù)據量減少到一定量時,MT-WCEL性能會急劇下降,其原因可能是訓練數(shù)據中肺結節(jié)具有影像特征的正樣本數(shù)量減少,致使W-CEL損失函數(shù)對于某種特征的權重過大,從而影響網絡整體的分類效果。
在本節(jié)中,我與目前研究報告的單模型得到的結果[5,8,11,18]對比。只對比單模型的結果的原因是,我們提出的方法也可以采用模型集成方法來提升整體分類結果。因此,在將來的工作中,我們也會進一步利用本研究中的方法,結合模型集成,在肺結節(jié)良惡性分類任務上取得更好的效果。表5給出了從這些研究中找到的單模型結果,并給出了良惡性肺結節(jié)數(shù)量。
表5 與目前研究中單DCNN模型結果的對比(N/A:結果未給出)
本研究提出的方法可以在單模型的情況下,在F1和AUC兩個指標上可以大幅超過其他研究里的結果。但是分類的準確率較低,在此后的研究中也會關注提升整體的分類準確率。另外,我們使用的結節(jié)數(shù)量也少于最近結果較好的兩個研究[5,8],因此,我們之后會重新處理數(shù)據集,以取得數(shù)量接近的數(shù)據集。
本文提出基于深度卷積神經網絡的輔助監(jiān)督信號的肺結節(jié)良惡性行分類方法。具體地,我們使用了三維的殘差網絡作為特征提取的骨干網絡,它能夠使得我們更好地選擇網絡的大小。更重要的是,我們將肺結節(jié)的在CT影像中的形態(tài)學特征作為輔助分類任務,與良惡性分類的主要任務一起訓練。這種多任務的監(jiān)督學習方式,使得僅有少量的訓練數(shù)據時,肺結節(jié)良惡性分類任務依然也能取得更好結果,從而有效地解決該任務上的小樣本問題。
我們將結果與目前研究中報告的單模型取得的結果進行對比,提出的多任務方法在此條件下是最優(yōu)的。將來,我們會結合本研究中的方法,探索多個骨干網絡集成的方式,更好地提取肺結節(jié)的異質性表達,從而在此任務上超過目前研究報告的最好結果。