張亦栩 于立新 郝 強(qiáng)
為了解決乳腺X線圖像識別工作量大以及評估結(jié)果不一致等問題,基于深度學(xué)習(xí)的輔助診斷系統(tǒng)正被逐漸應(yīng)用于乳腺X線影像判讀中。由于可用于訓(xùn)練的圖像樣本數(shù)量較少,而且病變面積相對于整個圖像來說很小,這給傳統(tǒng)基于深度學(xué)習(xí)的分類模型帶來挑戰(zhàn)。一些研究[1-2]利用病灶的分割數(shù)據(jù)或是位置數(shù)據(jù)來提升模型的分類準(zhǔn)確率。這些標(biāo)注數(shù)據(jù)需要專家的先驗知識,獲取難度較大,因此在實際應(yīng)用中受到各種限制。另有一部分研究[3-4]在不使用這些病灶數(shù)據(jù)的情況下,利用多示例學(xué)習(xí)、對比學(xué)習(xí)和多尺度學(xué)習(xí)等方法,提高了模型在分類上準(zhǔn)確性。這些研究只進(jìn)行了乳腺癌的良惡性分類。其中的良惡性判斷,不是依靠真實活檢的結(jié)果,而是將乳腺影像報告和數(shù)據(jù)系統(tǒng)(BI-RADS)中的少數(shù)級別歸為良性,其余等級歸為惡性。
為了更加貼合實際的臨床應(yīng)用場景,已經(jīng)有研究根 據(jù)BI-RADS 中 的 等 級 進(jìn) 行 分 類。Domingues 等[5]提出了2 種新的數(shù)據(jù)預(yù)處理技術(shù)來提高分類器的準(zhǔn)確率。Oliveira 等[6]提出了一種輕量級的深度學(xué)習(xí)管道以提升模型的分類性能。Kang 等[7]提出了一種用于BI-RADS 評分的主導(dǎo)模糊全連接層以提高分類精度。但是這些方法只關(guān)注于模型的分類效果,沒有對模型預(yù)測結(jié)果的可解釋性進(jìn)行更多的研究。與其他自然圖像分類任務(wù)不同,醫(yī)療健康應(yīng)用不僅需要得出正確的判別結(jié)果,更需要給出讓醫(yī)生和患者信服的診斷依據(jù)。
多示例學(xué)習(xí)的預(yù)測結(jié)果具有較優(yōu)的可解釋性,且多示例學(xué)習(xí)在微小目標(biāo)的分類任務(wù)中具有魯棒性[3],因此本文將其應(yīng)用到我們的研究中。由于多示例學(xué)習(xí)通常應(yīng)用于二元分類,無法直接應(yīng)用于類別獨立的多分類任務(wù)。本文通過重新設(shè)計模型的標(biāo)簽以及模型的損失函數(shù)和輸出判斷方法,讓模型可以在每個子任務(wù)上應(yīng)用多示例學(xué)習(xí),從而使模型具有對圖像中每一小塊區(qū)域進(jìn)行多分類的能力,達(dá)到提升可解釋性的效果。
多示例問題出現(xiàn)在訓(xùn)練示例標(biāo)簽不明確的任務(wù)中。假設(shè)將一張圖片等分成m個區(qū)域,每一張圖片被認(rèn)為是一個示例包,每一個區(qū)域認(rèn)作為是一個示例。傳統(tǒng)的多示例學(xué)習(xí)被定義為:如果包中至少存在一個正標(biāo)簽的示例,則包被賦予正標(biāo)簽;不含有正標(biāo)簽示例的包,則被賦予負(fù)標(biāo)簽。包內(nèi)的每個示例都經(jīng)過一個共享參數(shù)的神經(jīng)網(wǎng)絡(luò)來獲得偽標(biāo)簽,之后通過池化對示例進(jìn)行聚合得到最終的標(biāo)簽結(jié)果。
在模型訓(xùn)練過程中,模型的激活函數(shù)會輸出每一個示例為正的概率R。對于是負(fù)樣本的包而言,包中所有示例的R應(yīng)都期望趨近于0。而對于是正樣本的包而言,包中至少有一個示例的R能接近于1。為了滿足以上兩個要求,模型只需要找出所有示例中最大的R,并將其作為包是正樣本的概率,即可進(jìn)行損失計算。假設(shè)θ代表網(wǎng)絡(luò)的權(quán)重,B代表包,包為正樣本的概率可以被定義為:
多示例學(xué)習(xí)模型通過學(xué)習(xí)每個區(qū)域的特征進(jìn)而構(gòu)造整張圖片的表征,整張圖片的分類結(jié)果與每個區(qū)域的分類結(jié)果具有直接的映射關(guān)系。模型可以直觀地顯示出與最終分類結(jié)果相關(guān)的區(qū)域,這讓多示例學(xué)習(xí)的預(yù)測結(jié)果具有了較優(yōu)的可解釋性。
從定義和公式中可以看到,傳統(tǒng)多示例學(xué)習(xí)只能應(yīng)用于二元分類。而BI-RADS 分類任務(wù)需要對乳腺X 線圖像進(jìn)行多個類別的分類,因此必須對模型的架構(gòu)和訓(xùn)練過程進(jìn)行調(diào)整,其需要滿足以下約束:
(1)示例池化的過程中,示例與示例之間、示例與包之間在語義上不能有沖突。
(2)池化的方法能夠有效地配合損失函數(shù)對模型進(jìn)行評估。
傳統(tǒng)多示例學(xué)習(xí)池化方法只能應(yīng)用于二元分類。本文提出將類別獨立的多分類問題分解成多個二元子任務(wù),使模型可以在每個子任務(wù)中進(jìn)行示例的池化,以實現(xiàn)多示例學(xué)習(xí)。該方法的實質(zhì)就是將一個多分類任務(wù)轉(zhuǎn)變成了一個多標(biāo)簽分類任務(wù)。然而,一張乳腺圖像只可能有一個等級,但是多標(biāo)簽分類模型允許有多個類別同時存在,兩者造成了矛盾。為了解決這個問題,本文根據(jù)BI-RADS 等級有序的特點,設(shè)計了網(wǎng)絡(luò)的訓(xùn)練標(biāo)簽、損失函數(shù)和輸出判斷方法,以保證最后輸出的唯一性。模型分類的流程如圖1所示。
2.1 多標(biāo)簽網(wǎng)絡(luò)模型
BI-RADS 分類任務(wù)被分成了4個子任務(wù)。模型會分別判斷該張乳腺圖片是否屬于BI-RADS 的第二類,第三類,第四類或是第五類。如果都不是則默認(rèn)為第一類(即正常)。在這幾個判斷當(dāng)中,只有第一類與其他4 個分類互斥,其余四個分類允許同時存在。雖然池化過程被分為了4 個二元子任務(wù),但是4 個子任務(wù)的特征提取網(wǎng)絡(luò)是共享的,區(qū)別在于輸出時分別計算概率。
模型使用卷積神經(jīng)網(wǎng)絡(luò)DenseNet[11]作為特征提取的主干網(wǎng)絡(luò)。模型的最后會輸出一個維度為4 的特征。經(jīng)過激活函數(shù)Sigmoid 層后,分別輸出4 個類別的概率。模型的架構(gòu)如圖2所示。
圖1 基于多標(biāo)簽分類的多示例學(xué)習(xí)方法分類過程
圖2 多標(biāo)簽分類模型原理
圖3 示例分類結(jié)果(腫塊)
圖4 示例分類結(jié)果(鈣化)
2.2 面向BI-RADS的標(biāo)簽設(shè)計
傳統(tǒng)的多分類任務(wù)使用one-hot標(biāo)簽,這種標(biāo)簽不允許多個類別同時存在,因此無法應(yīng)用于多標(biāo)簽?zāi)P彤?dāng)中?;诰W(wǎng)絡(luò)的輸出本文設(shè)計了兩種形式的非互斥標(biāo)簽。第一種是基于有序編碼的標(biāo)簽。BI-RARDS的類別是有序的,即等級越高,患癌的概率越大。根據(jù)此可以利用有序編碼對4個編碼位的標(biāo)簽進(jìn)行重新設(shè)計,其編碼方法如表1所示;第二種是基于權(quán)重的標(biāo)簽,其編碼方式如表1所示,其中“-”表示不計算該編碼位損失。在高等級BI-RADS類別計算損失時,低位編碼位的權(quán)重會被賦予0,即損失函數(shù)不會去計算低位編碼位的損失,同時高位編碼位的權(quán)重會相應(yīng)加大。
表1 標(biāo)簽編碼設(shè)計
2.3 示例池化方法
模型使用最大池化方法對示例進(jìn)行池化。定義數(shù)據(jù)集中某一個示例包為Bi,包中的某一個示例為BiXj。每一個示例在經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)后都會得到一個四維特征BiXjF={BiXj f1,BiXj f2,BiXj f3,BiXj f4},通過激活函數(shù)Sigmoid 后, 得到一個四維輸出BiXjR={BiXjr1,BiXjr2,BiXjr3,BiXjr4},BiXjrk代表示例屬于BI-RADS(k+1)級的概率。
包 最 終 的 輸 出 定 義 為BiR={Bir1,Bir2,Bir3,Bir4}。分別在4 個類別中對示例進(jìn)行排序,并找出4 個類別中的最大值,作為包在該類別上的概率,其定義如下:
示例在每個子任務(wù)上單獨池化,子任務(wù)之間互不干涉。同一個示例,在不同的子任務(wù)上排序可能是不同的,因此包的4 個輸出也不一定來自同一個示例。整體池化過程如圖1所示。
2.4 損失函數(shù)設(shè)計
通過池化得到包的輸出之后,即可進(jìn)行損失計算。模型采用二元交叉熵?fù)p失作為損失函數(shù),其通過計算輸出層與標(biāo)簽之間的Sigmoid 交叉熵來作為誤差的衡量標(biāo)準(zhǔn),每一個輸出維度的損失定義如下:
損失函數(shù)中加入了Focalloss[8]以擺脫數(shù)據(jù)不平衡對模型的影響,F(xiàn)ocalloss的定義如下:
其中CE 代表交叉熵?fù)p失函數(shù),γ 為可調(diào)參數(shù)。代入公式(7),最終損失函數(shù)可以被定義為:
在2.2 節(jié)中提出了基于權(quán)重的標(biāo)簽編碼,該權(quán)重是在損失函數(shù)中實現(xiàn)。權(quán)重定義為w,其損失函數(shù)可以定義如下:
w的值取決于2.2 中的權(quán)重標(biāo)簽,如果該編碼位不需要計算損失,則w= 0,如果該編碼位需要計算損失,則:
其中c代表總共需要計算損失的編碼位數(shù)量。
2.5 模型輸出判斷方法
在多分類方法中,通過選取輸出中概率最大者作為該圖片的類別。在本文中,模型的訓(xùn)練過程采取了特殊的樣本標(biāo)簽,因此需要重新設(shè)計模型的輸出判斷方法以保證分類輸出時的唯一性。由于BI-RADS 等級是有序的,當(dāng)一張乳腺圖片中有多種不同等級的病灶時,取較高的等級作為該張乳腺圖片的等級。
從上文可得,模型池化后的輸出為一個維度為4的向量,它的每一維分別代表包屬于BI-RADS 2 類、BI-RADS 3 類、BI-RADS 4 類、BI-RADS 5 類 的 概率。模型會從最后一維起(代表BI-RADS 5 類),從高位至底位開始判斷,如果該位的數(shù)值大于等于所設(shè)閾值,則將包判斷為當(dāng)前位所代表的類別。如果當(dāng)前位數(shù)值小于所設(shè)閾值,則跳轉(zhuǎn)至前一位繼續(xù)進(jìn)行判斷,重復(fù)以上流程。如果四維向量的每一維數(shù)值都小于所設(shè)閾值,則該包屬于BI-RADS 1類。
實驗在公開數(shù)據(jù)集INbreast[9]上進(jìn)行,該數(shù)據(jù)集是目前畫質(zhì)清晰且數(shù)據(jù)量較多的數(shù)據(jù)集,它擁有所有BI-RADS 等級所對應(yīng)的全尺寸乳腺X 線圖片數(shù)據(jù)。隨機(jī)選取原有數(shù)據(jù)集的75%作為訓(xùn)練集,25%作為測試集。對于深度學(xué)習(xí)而言,數(shù)據(jù)量較少容易使模型產(chǎn)生過擬合,因此許多實驗都采用了數(shù)據(jù)增強(qiáng)的方法來提升模型的泛化能力。我們采用與Oliveira 等[6]同樣的數(shù)據(jù)增強(qiáng)方法。訓(xùn)練集采用了旋轉(zhuǎn),鏡像翻轉(zhuǎn),切變等數(shù)據(jù)增強(qiáng)方法,圖片從原有的307 張增加到7 368 張。測試集不進(jìn)行數(shù)據(jù)增強(qiáng)。訓(xùn)練集中每幅圖像都按步驟進(jìn)行增強(qiáng),數(shù)量如表2 所示。其中旋轉(zhuǎn)采用3種(90°、180°和270°)旋轉(zhuǎn)角度。訓(xùn)練集內(nèi)采用五重交叉驗證對模型進(jìn)行參數(shù)調(diào)整。因為數(shù)據(jù)集中4a、4b、4c的占比較少,這3個類別可用于測試的數(shù)據(jù)可能只有1 至2 張,無法有效證明模型在這些類別上的優(yōu)劣,因此我們選擇與以往的研究一樣,將4a、4b、4c 統(tǒng)一歸為一類進(jìn)行模型對比實驗。此外,由于BIRADS 的第6 類是通過活檢進(jìn)行判斷的,因此將BIRADS的第6類歸在第5類中。
為最大限度地使每張圖片信息得以提取,預(yù)處理階段利用了OTSU 算法將乳房區(qū)域提取出來,并裁減掉無用背景。在裁剪之后,每張圖片被壓縮至672×672 像素。為了保證示例內(nèi)能夠完整覆蓋整個病灶,使用了一個224×224 的滑動窗口提取示例,滑動時的步長被設(shè)置為112像素。在提取之后,就能得到25個示例,示例之間會有重復(fù)區(qū)域。
模型使用Pytorch 框架實現(xiàn)。實驗運行環(huán)境如下:Intel Xeon E5-2678 v3@ 2.50Ghz 處 理 器,32GB 內(nèi) 存和NVIDIA GeForce GTX 3090 圖形單元。實驗使用Adam 算法優(yōu)化參數(shù),初始學(xué)習(xí)率設(shè)置在0.001,訓(xùn)練批量大小設(shè)置為5(125 個示例)。為了保證公平性,文中所提到的算法的網(wǎng)絡(luò)層數(shù)和各項超參數(shù)的設(shè)置也盡可能相同。
表2 數(shù)據(jù)增強(qiáng)
實驗中選取準(zhǔn)確率(ACC),平均絕對誤差(MAE),最大準(zhǔn)確率(MaxAcc),和宏平均絕對誤差(MAEmacro)作為分類的評價指標(biāo)。
其中最大準(zhǔn)確率(MaxAcc) 是由Domingues等[5]提出,其定義為:
針對BI-RADS 分類任務(wù),本文提出了宏平均絕對誤差(MAEmacro)。在不平衡數(shù)據(jù)中,模型會更容易得到數(shù)據(jù)量大的類別,而MAE 是在所有樣本上取均值,因此難以體現(xiàn)模型在少數(shù)類上的表現(xiàn)。MAEmacro會在每一個類別中單獨計算一次MAE,并在最后計算所有類的均值,其定義如下:
其中,nk代表每一個類的數(shù)量,yki表示屬于k類的第i個真實值,?ki表示對應(yīng)于yki的預(yù)測值。
表3 總結(jié)了多種模型在INbreast 數(shù)據(jù)集上的實驗表現(xiàn)。其中ResNet和DenseNet是卷積神經(jīng)網(wǎng)絡(luò),它們是主流的自然圖像分類模型。Vision Transformer是利用Transformer結(jié)構(gòu)進(jìn)行圖像分類的模型,該模型在大型的分類數(shù)據(jù)集中有突出的表現(xiàn)。第四種是一種基于門控注意力機(jī)制的多示例學(xué)習(xí)模型。該模型通過神經(jīng)網(wǎng)絡(luò)對多個示例的特征表示進(jìn)行融合,并利用融合后的特征表示去訓(xùn)練分類器以預(yù)測最終的標(biāo)簽,無需預(yù)定義的池化方法。因此可以通過修改最后的分類器將其應(yīng)用于多分類任務(wù)。最后幾種模型是本文提出的方法,其中OC 代表有序標(biāo)簽,WC 代表權(quán)重標(biāo)簽,RN代表基于ResNet網(wǎng)絡(luò),DN代表基于DenseNet網(wǎng)絡(luò)。
表3 不同算法分類結(jié)果
本文選取了以往在INbreast 上,面向乳腺X 線影像分類的相關(guān)模型和研究,并羅列在了表4 中。其中ACC(binary)代表的是良惡性分類上的準(zhǔn)確率。需要注意的是,列出的其他研究中,測試集和訓(xùn)練集在數(shù)量上的劃分略有不同,因此模型的相關(guān)數(shù)據(jù)指標(biāo)會存在差異。
表4 INbreast數(shù)據(jù)集上的往期研究
從以上兩表中可以看到,比起主流的圖像分類模型,多示例學(xué)習(xí)可以在該任務(wù)上獲得較優(yōu)的性能。在使用相同特征提取網(wǎng)絡(luò)的情況下,MIML-WC-RN 相比于ResNet 在平均絕對誤差上降低了15.38%,MIML-WC-DN 相比于DenseNet 在平均絕對誤差上降低了24.48%,可見多示例學(xué)習(xí)可以較大地降低模型誤差,提升模型的準(zhǔn)確率。得益于神經(jīng)網(wǎng)絡(luò)的權(quán)重分配,基于注意力機(jī)制的多示例學(xué)習(xí)模型[10]也能在該任務(wù)上獲得較高的準(zhǔn)確率,但是模型在MAE 以及MAEmacro兩項指標(biāo)上仍然較高,說明模型在一些等級上的判斷會有較高的誤差。
多示例模型通過對示例進(jìn)行分類來反映預(yù)測結(jié)果的可解釋性。每一個示例區(qū)域分類的準(zhǔn)確性越高,意味整個乳腺X線圖像的分類結(jié)果越具有理論依據(jù)。由于沒有示例級別的BI-RADS 標(biāo)簽,無法對示例分類的準(zhǔn)確度進(jìn)行分析,但是可以通過病灶的位置數(shù)據(jù)與示例分類的結(jié)果進(jìn)行比較。如果一個示例區(qū)域內(nèi)有病灶,則將該示例區(qū)域視為異常區(qū)域。如果模型判斷該異常示例的BI-RADS等級大于1類,則視為正確,反之則視為錯誤。實驗中選取準(zhǔn)確率(ACC)、真陽性率(TPR)、特異度(TNR)和精確率(PPV)作為示例分類的評價指標(biāo)。本文對文中提到的3 個多示例學(xué)習(xí)模型分別進(jìn)行了實驗,結(jié)果如表5所示。
在表5 中可以看到,基于注意力機(jī)制的多示例學(xué)習(xí)[10]幾乎不具備對示例進(jìn)行分類的能力。而基于有序標(biāo)簽的多示例學(xué)習(xí)方法在示例分類準(zhǔn)確率和真陽性率上有較好的表現(xiàn),在訓(xùn)練集和驗證集上都有更強(qiáng)的病灶檢出能力。
表5 不同算法示例分類結(jié)果
在本文中,我們主要討論了如何將多實例學(xué)習(xí)應(yīng)用于乳腺X 線圖像的BI-RADS 多分類任務(wù),以提高模型在預(yù)測結(jié)果中的可解釋性。傳統(tǒng)多示例學(xué)習(xí)池化方法只能應(yīng)用于二元分類?;贐I-RADS 類別有序的特性,我們將互斥的多分類問題解耦為多個二元子任務(wù),以便模型可以在每個子任務(wù)中實現(xiàn)示例的池化,達(dá)到多示例學(xué)習(xí)的效果。為了解決模型輸出不唯一的問題,提出了兩種標(biāo)簽形式:有序編碼和權(quán)重編碼,并提出與之對應(yīng)的損失函數(shù)和輸出判斷方法。
由于乳腺腫塊通常僅占整個乳腺X線圖像的2%,而微小鈣化的面積則會更小,因此普通的圖像分類模型難以關(guān)注到微小的病灶。從表3 和4 中可以看到,傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)在樣本數(shù)量少的情況下能夠維持一定的準(zhǔn)確率,而基于Transformer 的模型會陷入嚴(yán)重的過擬合,導(dǎo)致模型在驗證集上的準(zhǔn)確率較低。基于多示例學(xué)習(xí)的方法會把模型的特征提取范圍限制在一個示例區(qū)域之內(nèi),特征提取網(wǎng)絡(luò)無法得知示例區(qū)域以外的信息。由于模型只能關(guān)注于較小的特征,而不是整個乳房的特征,因此模型比較容易學(xué)習(xí)到病灶和正常組織之間的區(qū)別。除此之外,微小的鈣化可能在圖片壓縮的過程中遭到丟失。傳統(tǒng)的深度學(xué)習(xí)分類模型適應(yīng)于224×224 分辨率,雖然可以使用更大的分辨率但是模型難以關(guān)注到微小物體。我們的方法把圖片分成了多個224×224 的小塊,并利用多示例學(xué)習(xí)對圖片進(jìn)行分類,模型可以在更高的分辨率上進(jìn)行有效分類,這也讓我們的模型獲得了比較好的表現(xiàn)。雖然672×672 像素比起之前的研究已經(jīng)是最高的分辨率,但是受制于實驗環(huán)境可能仍然會有一些極小的鈣化點在壓縮中遭到了丟失,這讓模型在鈣化的分類上受到了一些限制。
Ilse 等提出的基于注意力機(jī)制的多示例學(xué)習(xí)模型雖然在分類準(zhǔn)確率上獲得了較優(yōu)的表現(xiàn),但是其模型幾乎不具備展示病灶區(qū)域的能力。由于該模型使用神經(jīng)網(wǎng)絡(luò)對示例特征進(jìn)行池化,因此包的特征和示例的特征可能差異較大。在包特征上訓(xùn)練的分類器應(yīng)用于示例分類時效果較差,模型幾乎將所有的示例都?xì)w為了異常示例。因此在該方法上利用示例分類來對模型進(jìn)行解釋不可行。本文提出的多示例學(xué)習(xí)方法在示例類別和包的類別關(guān)系上有明確的映射關(guān)系,因此對于分類結(jié)果有更佳的可解釋性。
所提出的深度學(xué)習(xí)模型可以展示出每一個可能存在的病變區(qū)域,其展示結(jié)果如圖3-圖4所示。其中圖圖3 為腫塊的分類結(jié)果,圖4 位鈣化的分類結(jié)果。示例與示例之間有重復(fù)區(qū)域,取等級較高者進(jìn)行顯示。一個示例在圖中占四個方格,示例的BI-RADS 等級從黃到紅遞增進(jìn)行顯示。根據(jù)以下兩圖可以看到,在沒有病灶輪廓數(shù)據(jù)或是位置數(shù)據(jù)對模型進(jìn)行訓(xùn)練的情況下,所提出的模型也能找到病灶所在的位置,并且可以進(jìn)行基于BI-RADS的多分類。
總而言之,在乳腺X 線圖像BI-RADS 分類任務(wù)中,本文提出的深度學(xué)習(xí)模型比起以往的深度學(xué)習(xí)分類模型具有較優(yōu)的準(zhǔn)確率。并且,模型在沒有病灶輪廓數(shù)據(jù)或是位置數(shù)據(jù)進(jìn)行訓(xùn)練的情況下,能夠展示出病灶的所在位置和其各自的BI-RADS 等級。這讓模型的分類結(jié)果具有較好的可解釋性,可以為醫(yī)師的后續(xù)診斷提供幫助。