梁淑芬,陳琛,秦傳波,馮躍,楊芳臣,付迎迎
(五邑大學(xué) 智能制造學(xué)部,廣東 江門 529020)
2018 年最新的全球腫瘤統(tǒng)計(jì)結(jié)果顯示,肺癌占每年1 819 萬(wàn)新癌癥病例的約11.6%,發(fā)病率排行第一[1].患有晚期IV 期肺癌的患者的5 年生存率低于4%,但如果在原發(fā)腫瘤較小且在其擴(kuò)散之前進(jìn)行早期診斷并治療,則生存率至少為54%[2].因此,早期肺癌檢測(cè)提供了最佳的治愈機(jī)會(huì).
目前,肺結(jié)節(jié)分類主要工作集中在良惡性分類上,傳統(tǒng)的計(jì)算機(jī)輔助診斷系統(tǒng)最常用的特征包括紋理特征描述(如基于灰度共生矩陣(GLCM)的特征[3-4]和方向梯度直方圖(HOG))和形狀特征描述(如傅立葉形狀描述和球諧函數(shù)).診斷系統(tǒng)去利用提取的視覺(jué)特征來(lái)訓(xùn)練分類器(例如支持向量機(jī)(SVM)[5]、K-近鄰(KNN)[6]和隨機(jī)森林等[7]).這些篩查輔助系統(tǒng)很大程度上依賴于手工制作的特征和分類器,提取的特征往往是主觀的,在一定程度上限制了模型的性能.
深度學(xué)習(xí)提供了統(tǒng)一的特征提取—分類框架,避免了手工特征提取的麻煩.對(duì)于肺結(jié)節(jié)分類,Hua 等人[8]應(yīng)用深度卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)和深度信念網(wǎng)絡(luò)(DBN)區(qū)分良性和惡性肺結(jié)節(jié),證明深度學(xué)習(xí)能夠獲得更好的辨別能力.Kumar 等人[9]使用自動(dòng)編碼器和CNN 將肺結(jié)節(jié)分為惡性或良性,準(zhǔn)確率為77.52%.Shafiee 等人[10]使用杠桿隨機(jī)序列發(fā)生器,由三個(gè)隨機(jī)形成的卷積層組成,獲得了84.49%的準(zhǔn)確度.
為進(jìn)一步提高胸部CT 影像中肺結(jié)節(jié)分類的準(zhǔn)確性和分類效率,本文提出一種基于卷積神經(jīng)網(wǎng)絡(luò)特征提取和正則化極限學(xué)習(xí)機(jī)分類的混合模型,用于肺部良惡性結(jié)節(jié)的分類.通過(guò)對(duì)CNN 結(jié)構(gòu)中超參數(shù)的調(diào)整,使CNN 從輸入圖像中自適應(yīng)地提取結(jié)節(jié)最優(yōu)特征;然后將提取的特征輸送到L1/L2-ELM(extreme learning machine)分類模型中得到分類結(jié)果.實(shí)驗(yàn)中對(duì)激活函數(shù)和隱層數(shù)量做了調(diào)整,以獲得更好的實(shí)驗(yàn)結(jié)果.
CNN-L1/L2-ELM 混合體系架構(gòu)如圖1 所示.該結(jié)構(gòu)圖主要由兩部分構(gòu)成,第一部分是特征提取,包括一系列卷積池化和特征映射,第二部分是L1/L2-ELM分類器.我們使用反向傳播算法來(lái)訓(xùn)練這個(gè)網(wǎng)絡(luò),以第一個(gè)全連通層中的2 048 個(gè)單元作為特征提取,將有限向量輸入L1/L2-ELM分類器,以預(yù)測(cè)肺結(jié)節(jié)良惡性分類.
圖1 混合體系結(jié)構(gòu)圖
首先,輸入肺結(jié)節(jié)感興趣區(qū)域圖像訓(xùn)練原有的CNN 模型,直到收斂;再用L1/L2-ELM取代CNN最后一層.最后,將全連接層特征轉(zhuǎn)換為一維向量作為L(zhǎng)1/L2-ELM的輸入來(lái)完成分類.圖1 中,以C5 層輸出的特征作為L(zhǎng)1/L2-ELM的輸入,獲得新的決策.
本文設(shè)計(jì)的混合架構(gòu)的特征提取階段包括卷積層和最大池化層,這里詳細(xì)給出相關(guān)參數(shù),如每個(gè)濾波器的數(shù)目、每個(gè)特征映射的大小、每個(gè)濾波器的內(nèi)核大小、每個(gè)滑動(dòng)窗口的步長(zhǎng)等,具體見(jiàn)表1 所示.例如,第一卷積層由32 個(gè)卷積核組成,其卷積核大小為3,滑動(dòng)窗口的步幅為2,最后一個(gè)卷積層使用全零進(jìn)行填充.然后全連接層將特征映射轉(zhuǎn)換為有利于分類的一維向量.最后,將L1/L2-ELM結(jié)構(gòu)與CNN 模型相結(jié)合,對(duì)肺結(jié)節(jié)良惡性任務(wù)進(jìn)行分類.
表1 混合體系架構(gòu)各層詳細(xì)參數(shù)表
在卷積層中,在前一層和一系列過(guò)濾器之間執(zhí)行卷積操作,從輸入特征圖中提取特征.卷積的輸出將增加一個(gè)附加的偏置,并將非線性激活函數(shù)應(yīng)用于前面的結(jié)果.我們?cè)趯?shí)驗(yàn)中使用ReLU 函數(shù)作為激活函數(shù)[11]:
卷積層提供了從圖像的低層次表示到高級(jí)語(yǔ)義理解的非線性映射.為了便于以后的計(jì)算,式(1)可以簡(jiǎn)單地表示為
其中?表示卷積運(yùn)算,wij表示第j個(gè)特征圖中第i層的權(quán)值,先被隨機(jī)初始化,再用BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,η(i-1)是第i-1層的輸出,ηj為卷積中第j個(gè)特征映射的輸出.
一般來(lái)說(shuō),池化的目的是將聯(lián)合特征表示轉(zhuǎn)換為一種新穎、更有用的關(guān)鍵信息,同時(shí)丟棄不相關(guān)的細(xì)節(jié)[12].子采樣層中的每個(gè)特征映射都是通過(guò)在卷積層中的相應(yīng)特征映射上執(zhí)行的最大池化操作得到的.最大池化操作后,第i層或子采樣層的第j個(gè)特征圖中(m,n) 處的單位值為
最大池化操作能在局部區(qū)域上獲取最大值的點(diǎn),并對(duì)輸入特征映射進(jìn)行下采樣.此時(shí),子采樣層中的特征圖數(shù)量為32,而過(guò)濾器的大小為2,滑動(dòng)窗口的步幅為2.最大池化操作的目的是,檢測(cè)生成的特征圖的最大響應(yīng),減少特征圖的分辨率.
ELM 是由Huang 等人[13]提出的,可用于單隱層前饋神經(jīng)網(wǎng)絡(luò)(SLFN).其做法是隨機(jī)分配輸入權(quán)重和隱藏層偏差,再結(jié)合訓(xùn)練數(shù)據(jù)集確定SLFN 的輸出權(quán)重.對(duì)于任意不同的樣本,其輸出權(quán)重可以表示為
其中H為隱藏層輸出矩陣,T為樣本標(biāo)簽,H+為輸出矩陣的廣義逆矩陣,β為輸出權(quán)重.
隨后,為了防止模型的過(guò)擬合和稀疏性,我們?cè)谑街屑尤肓?-范數(shù)和2-范數(shù)來(lái)保證權(quán)重更具魯棒性,即
對(duì)式(5)進(jìn)行求偏導(dǎo)數(shù)并令結(jié)果為零,可以求得
在卷積和子采樣操作之后,用L1/L2-ELM對(duì)由特征映射轉(zhuǎn)換的一維向量進(jìn)行分類.它只更新輸出權(quán)值,而輸入權(quán)值和隱藏層偏差是隨機(jī)設(shè)置的.因此我們隨機(jī)生成輸入?yún)?shù),并在訓(xùn)練階段計(jì)算輸出權(quán)值.整個(gè)過(guò)程無(wú)需迭代操作,可提高神經(jīng)網(wǎng)絡(luò)泛化能力.從圖1 中可以發(fā)現(xiàn),完全連接層的輸出是L1/L2-ELM的輸入,而隱藏節(jié)點(diǎn)的數(shù)量是變量.
在L1/L2-ELM尚未被調(diào)用的第一階段,我們的混合結(jié)構(gòu)需要在訓(xùn)練階段從學(xué)習(xí)過(guò)程中調(diào)整CNN的參數(shù).如果精度接近設(shè)定閾值的70%,將調(diào)用L1/L2-ELM層:先計(jì)算隱藏層權(quán)重,再緩存中間的β矩陣,然后用混合結(jié)構(gòu)來(lái)驗(yàn)證其精度.該過(guò)程總結(jié)如下:
步驟1:當(dāng)卷積層和輸出標(biāo)簽之間的連接是全連接層時(shí),在訓(xùn)練階段調(diào)整CNN 的參數(shù);
步驟2:利用式(6)計(jì)算隱層權(quán)重和緩存中間β矩陣,同時(shí)驗(yàn)證整合網(wǎng)絡(luò)的準(zhǔn)確性;
步驟3:停止訓(xùn)練過(guò)程并計(jì)算β的平均值;
步驟4:使用混合結(jié)構(gòu)對(duì)測(cè)試數(shù)據(jù)集進(jìn)行分類.
為驗(yàn)證算法有效性,本文以LIDC-IDRI 數(shù)據(jù)庫(kù)作為實(shí)驗(yàn)數(shù)據(jù).癌癥成像檔案(TCIA)中的LIDC-IDRI 數(shù)據(jù)庫(kù)包含從7 個(gè)機(jī)構(gòu)獲得的1 018 個(gè)臨床胸部CT 掃描和肺結(jié)節(jié);有一個(gè)關(guān)聯(lián)的XML文件,詳細(xì)說(shuō)明了每個(gè)512×512切片上的結(jié)節(jié)位置.每個(gè)可疑病變被分類為非結(jié)節(jié),<3 mm的結(jié)節(jié)或長(zhǎng)軸直徑≥3 mm的結(jié)節(jié).對(duì)于這項(xiàng)研究,我們只考慮直徑≥3 mm的結(jié)節(jié).因?yàn)槟壳暗暮Y查方案認(rèn)為結(jié)節(jié)<3 mm不具有臨床意義.我們選擇那些被至少一位放射科醫(yī)師注釋過(guò)的結(jié)節(jié)用于這項(xiàng)研究.因此,有1 301個(gè)良性結(jié)節(jié),1 256個(gè)惡性結(jié)節(jié).為了減少不確定的結(jié)節(jié)對(duì)惡性腫瘤評(píng)估的影響,我們將不確定性結(jié)節(jié)歸為惡性結(jié)節(jié).分割結(jié)節(jié)如圖2 所示.
圖2 軸向平面CT 分割結(jié)節(jié)
將每個(gè)肺結(jié)節(jié)圖裁剪并歸一化成一個(gè)64×64 像素的圖像.為了擴(kuò)大訓(xùn)練數(shù)據(jù)集,將裁剪的結(jié)節(jié)圖像進(jìn)行適當(dāng)?shù)男D(zhuǎn)以增大數(shù)據(jù)集.本算法在Tensorflow 框架下,使用Matlab 軟件來(lái)實(shí)現(xiàn).
在訓(xùn)練階段,我們主要調(diào)整卷積網(wǎng)絡(luò)參數(shù).首先進(jìn)行CNN 模型的訓(xùn)練,經(jīng)過(guò)10 000 次的訓(xùn)練得到了90%的正確率,錯(cuò)誤率也大幅下降.圖3 為訓(xùn)練正確率與損失函數(shù)值圖.可以發(fā)現(xiàn),訓(xùn)練錯(cuò)誤率在開(kāi)始時(shí)很高,在迭代的過(guò)程中趨于平穩(wěn).因此,本文的混合結(jié)構(gòu)不僅能夠自動(dòng)快速調(diào)整參數(shù),確保卷積層提取有利于分類的判別特征,而且可以為分類器提供更好的參數(shù).
圖3 正確率與損失函數(shù)值曲線圖
L1/L2-ELM隱層神經(jīng)元的數(shù)目和激活函數(shù)對(duì)分類模型的分類能力有很大影響,需要進(jìn)行實(shí)驗(yàn)才能獲得最優(yōu)值.通過(guò)在相同激活函數(shù)下改變隱層神經(jīng)元數(shù)目,我們檢測(cè)出了在不同大小的隱藏節(jié)點(diǎn)下和不同激活函數(shù)下的訓(xùn)練正確率,如圖4 所示,隨著隱層節(jié)點(diǎn)數(shù)的增加,正確率緩慢上升后趨于平穩(wěn),可以看出在隱層神經(jīng)元為5 000 時(shí)正確率最高.如果不斷增加隱藏的節(jié)點(diǎn)會(huì)加劇越界,從而導(dǎo)致分類性能下降.因此,在實(shí)驗(yàn)中將隱藏節(jié)點(diǎn)設(shè)置為5 000,而且通過(guò)對(duì)比圖4 中不同的激活函數(shù)穩(wěn)定后的正確率,可以看到激活函數(shù)hardlim 的正確率是最高的,所以激活函數(shù)設(shè)置為hardlim 函數(shù).
圖4 不同激活函數(shù)的正確率曲對(duì)比圖
經(jīng)典的卷積神經(jīng)模型有很多種,本論文分別選取Lenet、Alexnet、VGG16、Resnet 4 種模型和CNN-L1/L2-ELM 混合架構(gòu)相結(jié)合,利用CNN 良好的特征提取能力對(duì)肺結(jié)核圖像直接進(jìn)行特征提取,然后利用正則化極限學(xué)習(xí)機(jī)進(jìn)行良惡性分類,通過(guò)對(duì)比圖5~8,可以明顯地發(fā)現(xiàn),當(dāng)卷積神經(jīng)模型選取Lenet 時(shí),它的正確率和損失率可以更快地達(dá)到更理想的狀態(tài).
圖5 Lenet 訓(xùn)練圖
圖6 Alexnet 訓(xùn)練圖
圖7 VGG16 訓(xùn)練圖
圖8 Resnet 訓(xùn)練圖
為防止網(wǎng)絡(luò)訓(xùn)練不充分而出現(xiàn)過(guò)擬合現(xiàn)象.將數(shù)據(jù)分為10 等份,其中一份作為測(cè)試集,其余剩下的部分作為訓(xùn)練集.分別做了10 組實(shí)驗(yàn),其實(shí)驗(yàn)結(jié)果如圖9 所示.通過(guò) 交 叉 實(shí) 驗(yàn) 可 以 看 出,Lenet-L1/L2-ELM混合網(wǎng)絡(luò)的平均測(cè)試準(zhǔn)確率為92.87%,是4 個(gè)網(wǎng)絡(luò)中準(zhǔn)確率最高的,可以較為準(zhǔn)確地對(duì)肺結(jié)節(jié)進(jìn)行分類處理,經(jīng)實(shí)驗(yàn)證明,本論文的卷積神經(jīng)網(wǎng)絡(luò)模型選取Lenet 模型.
圖9 十折交叉驗(yàn)證結(jié)果
通過(guò)以上實(shí)驗(yàn),對(duì)CNN 的結(jié)構(gòu)進(jìn)行訓(xùn)練.用L1/L2-ELM 代替CNN 的最后一層.將CNN 的C5 層特征作為輸入傳遞給L1/L2-ELM分類器,得到新的分類結(jié)果.敏感性(SE)、特異性(SP)和準(zhǔn)確性(AC)是評(píng)估病理圖像分類識(shí)別的3 個(gè)重要指標(biāo),對(duì)此我們進(jìn)行了分類統(tǒng)計(jì)來(lái)判斷本文提出的肺結(jié)節(jié)分類算法的性能.為了分別計(jì)算出準(zhǔn)確性、敏感性和特異性的概率,將樣本分為陽(yáng)性和陰性兩類,TP、TN、FP、FN 分別為真陽(yáng)性、真陰性、假陽(yáng)性、假陰性,則3 個(gè)指標(biāo)定義為:
表2 為各模型在訓(xùn)練數(shù)據(jù)集上訓(xùn)練結(jié)果的對(duì)比.從結(jié)果可以看出,混合深度 CNN-L1/L2-ELM模型的分類錯(cuò)誤率低于其他算法,在各性能指標(biāo)上也優(yōu)于其他算法,達(dá)到了預(yù)期的結(jié)果,證明了CNN-L1/L2-ELM 的可行 性.
表2 不同模型結(jié)果對(duì)比
準(zhǔn)確性體現(xiàn)了算法對(duì)良惡性分類的可靠程度,它直接反映了算法的性能;敏感性和特異性是對(duì)良惡性分類識(shí)別正確率的反應(yīng),其值越高說(shuō)明算法越好,對(duì)錯(cuò)誤分類的情況就越低.本文所提出的算法在3 個(gè)指標(biāo)中都高于現(xiàn)有文章中提出的方法,有較好的分類準(zhǔn)確度.
本文結(jié)合卷積神經(jīng)網(wǎng)絡(luò)和極限學(xué)習(xí)機(jī)的分層方式,充分利用CNN 和ELM 的優(yōu)勢(shì),提出了一種新的混合分類算法結(jié)構(gòu)(CNN-L1/L2-ELM),用來(lái)處理肺結(jié)節(jié)分類任務(wù).針對(duì)LIDC 數(shù)據(jù)庫(kù),本文探討了樣本訓(xùn)練正確率與損失函數(shù)值,L1/L2-ELM隱層神經(jīng)元的數(shù)目和激活函數(shù)對(duì)分類模型的分類能力的影響,并優(yōu)化了神經(jīng)元的數(shù)目和激活函數(shù)以獲得最佳準(zhǔn)確率.研究結(jié)果表明,本文提出的混合算法獲得了92.87%的樣本訓(xùn)練正確率,而且敏感性和特異性也分別達(dá)到87.15%和94.45%,優(yōu)于其他算法.