李語(yǔ)心,趙艷娜,謝榮理,劉浚嘉,付 莊,王 堯,張 俊,費(fèi) 健
(1.上海交通大學(xué)機(jī)械系統(tǒng)與振動(dòng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,上海 200240;2.上海市瑞金康復(fù)醫(yī)院,上海 200023;3.上海交通大學(xué)醫(yī)學(xué)院附屬瑞金醫(yī)院,上海 200025)
甲狀腺結(jié)節(jié)是甲狀腺內(nèi)部的一種離散性病變,它與其周?chē)募谞钕俳M織有著放射性差異。根據(jù)甲狀腺癌影響報(bào)告與數(shù)據(jù)系統(tǒng)(TI-RADS),對(duì)于甲狀腺癌惡性程度,雖有多種分級(jí)標(biāo)準(zhǔn),但基本遵循五級(jí)分級(jí):呈現(xiàn)從一級(jí)到五級(jí)逐步遞增。自2002年起,甲狀腺疾病發(fā)生率便持續(xù)走高。因此,有必要對(duì)大數(shù)據(jù)處理或數(shù)據(jù)兼容的機(jī)器學(xué)習(xí)算法進(jìn)行研究。
針對(duì)甲狀腺結(jié)節(jié)良惡性分類(lèi)問(wèn)題,LIU等[1]通過(guò)HOG, SIFT, LBP和VGG網(wǎng)絡(luò)[2]進(jìn)行特征提取,因其關(guān)鍵區(qū)域由人工標(biāo)定,使得數(shù)據(jù)量非常有限,也不符合一般意義上進(jìn)行醫(yī)學(xué)圖像處理的圖像情況。葉晨等[3]利用VGG16和CNNf兩種卷積神經(jīng)網(wǎng)絡(luò)對(duì)于甲狀腺結(jié)節(jié)進(jìn)行檢測(cè),達(dá)到了91.6%的正確率,然而該研究使用數(shù)據(jù)集為CT圖像,并不是在甲狀腺檢察中更廣泛使用的超聲圖像。
生成對(duì)抗網(wǎng)絡(luò)于2014年由Ian Goodfellow及其團(tuán)隊(duì)[4]提出。生成對(duì)抗網(wǎng)絡(luò)由生成器(G)和判別器(D)共同構(gòu)成。其理念是通過(guò)判別器輔助生成器訓(xùn)練,使得生成器能夠較好地?cái)M合實(shí)際樣本的分布。在實(shí)際實(shí)現(xiàn)過(guò)程中,判別器判斷樣本屬于生成樣本還是實(shí)際樣本,生成器則以迷惑判別器為訓(xùn)練目標(biāo),二者依次訓(xùn)練,迭代更新,以極小極大博弈為整體目標(biāo)函數(shù),尋找其納什均衡點(diǎn)。
本文以DICOM格式的甲狀腺結(jié)節(jié)數(shù)據(jù)集為原數(shù)據(jù),面向甲狀腺結(jié)節(jié)良惡分類(lèi),從結(jié)節(jié)的實(shí)性/囊性、回聲、鈣化、邊界、邊緣、形態(tài)情況等6個(gè)角度進(jìn)行結(jié)節(jié)惡性特征的考量;針對(duì)目前甲狀腺結(jié)節(jié)DICOM文件良惡性分類(lèi)GAN的相關(guān)算法均將重點(diǎn)放在圖片生成,而沒(méi)有利用生成器優(yōu)化判別器的分類(lèi)效果、幫助解決數(shù)據(jù)樣本類(lèi)別偏差大以及樣本數(shù)量有限的問(wèn)題,由此,基于生成對(duì)抗網(wǎng)絡(luò)(GAN)設(shè)計(jì)建立了條件限制殘差生成對(duì)抗網(wǎng)絡(luò)(cRes-GAN)算法;并與Hog[5]+隨機(jī)森林[6]、ResNet18[7],Res18GAN和ACGAN[8]等其他4種算法進(jìn)行對(duì)比分析,以驗(yàn)證所設(shè)計(jì)新算法的優(yōu)越性。
針對(duì)甲狀腺結(jié)節(jié)分類(lèi)問(wèn)題,本文提出了端到端的模型cRes-GAN算法。利用cRes-GAN進(jìn)行良惡性判斷的數(shù)據(jù)流,如圖1所示。
圖1 cRes-GAN數(shù)據(jù)流
首先,將生成的高斯噪聲和標(biāo)簽輸入生成器,得到生成圖片。然后,將生成的圖片與真實(shí)圖片共同輸入判別器,由判別器判斷輸入的圖片是真實(shí)圖片還是生成圖片,并且判斷輸入的圖片所對(duì)應(yīng)的良惡性標(biāo)簽。
具體模型結(jié)構(gòu)如圖2所示。首先,對(duì)良惡性標(biāo)簽c′生成對(duì)應(yīng)的編碼矩陣,矩陣大小為2×100,作為其向量表現(xiàn)形式。通過(guò)高斯分布,生成長(zhǎng)度為100維噪聲向量,將標(biāo)簽向量與噪聲向量進(jìn)行向量相乘作為G的輸入。
圖2 cRes-GAN模型示意
cRes-GAN的生成器由3個(gè)卷積模塊、8個(gè)殘差模塊、反卷積層和卷積層構(gòu)成。為了能夠在除去數(shù)據(jù)噪聲的同時(shí)保留每個(gè)樣本中獨(dú)特的細(xì)節(jié),除了最后的卷積層,在每一次卷積操作之后都使用了實(shí)例標(biāo)準(zhǔn)化。在卷積模塊中,為了幫助收斂,使用LeakyReLU作為激活函數(shù),在輸出前使用tanh代替LeakyReLU作為激活函數(shù)。
LeakyReLU(x)=max{0,x}+0.2×min{0,x}
(1)
(2)
(3)
cRes-GAN的判別器D由1個(gè)卷積層、1個(gè)最大池化層、6個(gè)殘差模塊、1個(gè)平均池化層和2個(gè)并聯(lián)的全連接層串聯(lián)而成。每一個(gè)殘差模塊中包含2個(gè)卷積層。為了使得D能夠?qū)τ谝粋€(gè)批次中所有的圖像分布特點(diǎn)有一個(gè)均衡的了解,在每一個(gè)卷積層后進(jìn)行了批標(biāo)準(zhǔn)化操作,并使用ReLU作為激活函數(shù)。為了除去數(shù)據(jù)噪聲,并且減少參數(shù)數(shù)量,避免過(guò)擬合,在全連接層之前添加平均池化層。
D中的2個(gè)全連接層分別對(duì)應(yīng)真實(shí)圖片/生成圖片的判斷任務(wù)(adv層)和良性結(jié)節(jié)/惡性結(jié)節(jié)的判斷任務(wù)(aux層)。adv層輸出1個(gè)值作為對(duì)于當(dāng)前輸入圖像為真實(shí)圖片的概率。針對(duì)該分類(lèi)任務(wù)的概率表示,使用Sigmoid作為激活函數(shù)。aux層輸出1個(gè)二維數(shù)組,數(shù)組的每個(gè)值分別表示判斷輸入圖像為該標(biāo)簽的概率。根據(jù)先驗(yàn)知識(shí),需要保證該二維數(shù)組的和為全概率,因此針對(duì)該分類(lèi)問(wèn)題,使用SoftMax作為激活函數(shù)。
D的輸入圖片首先經(jīng)過(guò)1個(gè)核大小為7×7,通道數(shù)量為64的卷積層,繼而經(jīng)批標(biāo)準(zhǔn)化處理后輸入殘差網(wǎng)絡(luò)結(jié)構(gòu)。殘差網(wǎng)絡(luò)結(jié)構(gòu)由5個(gè)殘差網(wǎng)絡(luò)模塊組成,每個(gè)模塊的卷積核大小都為3×3,其通道數(shù)分別為64,64,128,128,256,512。2個(gè)全連接層的輸入層由不同通道數(shù)的殘差模塊每個(gè)模塊的輸出特征拼接而成,共960維。
Adv層經(jīng)由Sigmoid 激活函數(shù),輸出1個(gè)值,當(dāng)該值大于0.5則判斷為真實(shí)圖片,反之則認(rèn)為是生成圖片。
Aux層經(jīng)由SoftMax激活函數(shù),輸出1個(gè)二維向量,向量中,較大的值所對(duì)應(yīng)的列即為標(biāo)簽類(lèi)別。其中1代表惡性,0代表良性。對(duì)于真實(shí)圖片,其自帶良惡性標(biāo)簽;對(duì)于生成圖片,其良惡性標(biāo)簽即為輸入生成器的標(biāo)簽。
判別器的誤差函數(shù)由LD,1+LD,2兩部分組成。
LD=LD,1+LD,2
(4)
LD,1=E[‖S預(yù)測(cè)-S‖]
(5)
LD,2=-E[logP(C預(yù)測(cè)=c|Xreal)]-
E[logP(C預(yù)測(cè)=c′|G(z,c′)]
(6)
S預(yù)測(cè)為判別器所預(yù)測(cè)的樣本來(lái)源;S為樣本的實(shí)際來(lái)源;C預(yù)測(cè)為差別器所預(yù)測(cè)的樣本良惡性標(biāo)簽;c為樣本的實(shí)際良惡性標(biāo)簽;Xreal為真實(shí)圖像;c′為生成樣本時(shí)使用的良惡性標(biāo)簽;G(z,c′)為生成樣本。
第1部分使用EM距離,見(jiàn)式(5),輸入樣本具有真/偽標(biāo)簽S,通過(guò)判別器D獲得對(duì)于真?zhèn)螛?biāo)簽的預(yù)測(cè)S預(yù)測(cè),該部分誤差函數(shù)希望S與S預(yù)測(cè)盡可能接近。第2部分使用交叉熵式(7)對(duì)于樣本良惡性進(jìn)行判斷,式(7)中P為預(yù)測(cè)結(jié)果C預(yù)測(cè)的對(duì)應(yīng)概率,即當(dāng)輸入圖像標(biāo)簽c為良性結(jié)節(jié)(或惡性結(jié)節(jié))時(shí),所判斷的結(jié)節(jié)的標(biāo)簽C預(yù)測(cè)是否與c一致。對(duì)于生成的圖像,由于生成器生成的圖像與指定的標(biāo)簽類(lèi)型有關(guān),因此生成的樣本亦與1個(gè)唯一的標(biāo)簽c′對(duì)應(yīng),見(jiàn)式(6)。
L=-C預(yù)測(cè)logP+(1-C預(yù)測(cè))log(1-P)
(7)
生成器誤差函數(shù)由3個(gè)部分組成:第1部分LG,1對(duì)應(yīng)生成器于標(biāo)簽層面混淆判別器對(duì)于真?zhèn)螛颖九袆e的能力;第2部分LG,2要求生成器于像素層面生成更接近真實(shí)樣本的圖片;第3部分LG,3在于幫助判別器強(qiáng)化標(biāo)簽識(shí)別能力。
LG=LG,1+LG,2+LG,3
(8)
LG,1=-E[‖S預(yù)測(cè)-S‖]
(9)
LG,2=MSE(G(z,c′),Xreal)
(10)
LG,3=-E[logP(C預(yù)測(cè)=c′|G(z,c′))]
(11)
其中,第1部分使用了ME距離作為誤差函數(shù),見(jiàn)式(9),對(duì)應(yīng)是否準(zhǔn)確通過(guò)預(yù)測(cè)值S預(yù)測(cè)判別輸入圖像的來(lái)源S;第2部分比較生成樣本G(z,c′)與實(shí)際樣本Xreal的像素間相似性,見(jiàn)式(10);第3部分使用交叉熵作為誤差函數(shù),對(duì)應(yīng)生成器所生成樣本是否符合包含有區(qū)分度的良惡性特征,幫助生成器和判別器更專(zhuān)注于搜索有區(qū)分度的良惡性特征,見(jiàn)式(11)。
將甲狀腺超聲圖像數(shù)據(jù)集分成訓(xùn)練集和測(cè)試集2個(gè)部分,對(duì)二者分別進(jìn)行圖像預(yù)處理,觀(guān)察分類(lèi)器在訓(xùn)練集和測(cè)試集上分類(lèi)準(zhǔn)確率曲線(xiàn)情況。
1.4.1 數(shù)據(jù)增強(qiáng)
訓(xùn)練集中的樣本在訓(xùn)練過(guò)程中,通過(guò)隨機(jī)進(jìn)行水平翻轉(zhuǎn)、豎直翻轉(zhuǎn)、隨機(jī)旋轉(zhuǎn)(±2°范圍),則增加訓(xùn)練集數(shù)據(jù)量至原本的4倍以上,并且?guī)椭窠?jīng)網(wǎng)絡(luò)學(xué)習(xí)到良惡性旋轉(zhuǎn)無(wú)關(guān)的信息,同時(shí)可以緩解機(jī)器學(xué)習(xí)訓(xùn)練過(guò)程中常見(jiàn)的過(guò)擬合問(wèn)題。
1.4.2 圖像預(yù)處理
針對(duì)不同圖形的大小不同、光強(qiáng)不同的情況,對(duì)圖片進(jìn)行統(tǒng)一的切割和直方圖均衡歸一化操作,如圖3所示,則cRes-GAN訓(xùn)練的圖像的灰度值在同一范圍內(nèi)。
圖3 直方圖均衡歸一化操作結(jié)果比較
1.4.3 遷移學(xué)習(xí)
針對(duì)訓(xùn)練效果與網(wǎng)絡(luò)參數(shù)初始化位置有關(guān)的問(wèn)題,使用在ImageNet中進(jìn)行過(guò)預(yù)訓(xùn)練的殘差網(wǎng)絡(luò)中的部分層作為cRes-GAN中判別器的初始值,使用在ImageNet的馬-斑馬數(shù)據(jù)集中進(jìn)行過(guò)預(yù)訓(xùn)練的循環(huán)生成對(duì)抗網(wǎng)絡(luò)中的部分結(jié)構(gòu)作為cRes-GAN中生成器的初始值。
1.4.4 訓(xùn)練方式
為了更快幫助生成器與判別器收斂,先分別對(duì)于二者進(jìn)行一定周期的訓(xùn)練。繼而將二者進(jìn)行共同訓(xùn)練,由于判別器較易對(duì)于生成圖像和真實(shí)圖像進(jìn)行判斷,因此將判別器與生成器以1∶2的周期數(shù)量進(jìn)行迭代訓(xùn)練。
1.4.5 生成樣本的標(biāo)簽比例
針對(duì)訓(xùn)練集中,良性圖片與惡性圖片比例呈2∶1,不均衡的問(wèn)題,設(shè)置生成的圖片良惡性標(biāo)簽比例為1∶2,以使得cRes-GAN中的判別器所面對(duì)的良惡性樣本總數(shù)為1∶1。
1.4.6 標(biāo)簽平滑
針對(duì)神經(jīng)網(wǎng)絡(luò)對(duì)于對(duì)抗性樣本的脆弱性問(wèn)題,為真實(shí)圖片/生成圖片標(biāo)簽添加噪聲,平滑標(biāo)簽,幫助訓(xùn)練。
按照樣本的真實(shí)標(biāo)簽和判斷標(biāo)簽,可以將模型于測(cè)試集的測(cè)試結(jié)果分成4類(lèi):真陽(yáng)性(TP);假陽(yáng)性(FP);真陰性(TN);假陰性(FN)。其中真陽(yáng)性指惡性結(jié)節(jié)樣本被準(zhǔn)確診斷為惡性的數(shù)量;假陽(yáng)性指良性結(jié)節(jié)樣本被誤診為惡性的數(shù)量;真陰性指良性結(jié)節(jié)樣本被準(zhǔn)確診斷為良性的數(shù)量;假陰性指惡性結(jié)節(jié)被誤診為良性的數(shù)量。
對(duì)于良惡性結(jié)節(jié)診斷的量化指標(biāo)由準(zhǔn)確率、特異度和敏感度(或召回率)體現(xiàn),見(jiàn)式(12)~式(14)。準(zhǔn)確率(Acc)體現(xiàn)的是將測(cè)試集樣本中的良性結(jié)節(jié)圖像和惡性結(jié)節(jié)圖像準(zhǔn)確分類(lèi)的比率。特異度(Spec)體現(xiàn)的是對(duì)于所有的良性結(jié)節(jié)圖像,準(zhǔn)確將其判斷為良性的概率。敏感度(Sens)體現(xiàn)的是對(duì)于所有的惡性結(jié)節(jié)圖像,準(zhǔn)確將其判斷為惡性的概率。在醫(yī)學(xué)實(shí)踐中,敏感度的提高可以被視作對(duì)于病患的漏診率的降低。
(12)
(13)
(14)
本實(shí)驗(yàn)的數(shù)據(jù)集由合作單位提供(由專(zhuān)業(yè)醫(yī)生圈畫(huà)結(jié)節(jié)位置),共有1 501份符合要求的DICOM文件,對(duì)其按照訓(xùn)練集-測(cè)試集7∶3的比例進(jìn)行劃分,具體內(nèi)容如表1所示。
表1 訓(xùn)練集-測(cè)試集數(shù)據(jù)情況
具體實(shí)驗(yàn)結(jié)果如表2 所示。甲狀腺結(jié)節(jié)良惡性的區(qū)別包括回聲強(qiáng)弱、邊緣光滑與否,這些特征在超聲圖片上體現(xiàn)為紋理,陰影,光照的變化。又鑒于甲狀腺結(jié)節(jié)超聲圖片為灰度圖,因此使用專(zhuān)門(mén)針對(duì)灰度圖像,尋找紋理光照信息的方向梯度直方圖進(jìn)行特征提取,并使用隨機(jī)森林分類(lèi)器進(jìn)行分類(lèi),該算法組合下獲得正確率僅有67.4%,分類(lèi)出現(xiàn)了較大的偏差性。
不使用生成對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu),只使用ResNet18進(jìn)行分類(lèi)時(shí),正確率為82.2%[9]。比較3種生成對(duì)抗網(wǎng)絡(luò)模型對(duì)于本課題目標(biāo)的分類(lèi)效果,訓(xùn)練圖像如圖4所示。由圖4可以發(fā)現(xiàn),3種生成對(duì)抗網(wǎng)絡(luò)均有良好的收斂趨勢(shì),其中cRes-GAN對(duì)于甲狀腺結(jié)節(jié)良惡性分類(lèi)問(wèn)題有最好的分類(lèi)效果。
圖4 分類(lèi)正確率隨訓(xùn)練周期變化曲線(xiàn)
當(dāng)目標(biāo)函數(shù)收斂時(shí),ACGAN的結(jié)果出現(xiàn)了很大的偏差性,它將所有的樣本都?xì)w結(jié)于良性結(jié)節(jié),因此敏感度為0;Res18GAN以ResNet作為判別器結(jié)構(gòu),得到的正確率為79.6%,敏感度較低僅為76.4%;cRes-GAN的正確率達(dá)到92.2%,敏感度達(dá)到86.5%,特異度達(dá)到95.0%。cRes-GAN比起其他模型,在3項(xiàng)指標(biāo)上有極大的進(jìn)步。
表2 對(duì)比分析結(jié)果 %
面向甲狀腺結(jié)節(jié)良惡分類(lèi),設(shè)計(jì)建立了一種cRes-GAN算法,并與Hog+隨機(jī)森林、ResNet18,Res18GAN和ACGAN等其他4種算法相比較,對(duì)比分析結(jié)果表明,該算法在良惡性分類(lèi)的準(zhǔn)確率、敏感度以及特異度上均有顯著提升,且診斷結(jié)果準(zhǔn)確度可達(dá)92.2%,可以為醫(yī)生的最終診斷提供輔助參考和量化依據(jù)。為了提升分類(lèi)正確率,可以在未來(lái)使用多類(lèi)特征進(jìn)行融合。