王兵銳 楊曉非 姚行中,3
1(河南省智能應(yīng)急研究中心(南陽師范學(xué)院) 河南 南陽 473007) 2(華中科技大學(xué)光學(xué)與電子信息學(xué)院 湖北 武漢 430074) 3(火箭軍研究院 北京 100085)
乳腺癌嚴(yán)重威脅著女性的生命健康,且乳腺癌在女性惡性腫瘤發(fā)病率中居首位,患乳腺癌的人數(shù)在持續(xù)上升以及發(fā)病年齡年輕化。乳腺癌的早發(fā)現(xiàn)、早診斷,是降低致死率的關(guān)鍵。然而,乳腺癌的診療過程復(fù)雜度高、不確定性高。通常,醫(yī)生們根據(jù)自身經(jīng)驗(yàn)進(jìn)行診斷,但同一患者不同階段的治療方案不同,不同醫(yī)生對(duì)同一患者的治療方案也不同,診斷效率不高,有時(shí)易導(dǎo)致誤診,從而加劇病情的惡化。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)是一類包含卷積運(yùn)算的前饋神經(jīng)網(wǎng)絡(luò),是深度學(xué)習(xí)技術(shù)應(yīng)用最典型的網(wǎng)絡(luò)之一。CNN具有十分廣泛的應(yīng)用,如獲取超分辨率視頻[1]、中文文本探測(cè)[2]、輸入圖像噪聲的即時(shí)調(diào)整[3]、極化合成孔徑雷達(dá)圖像的分類[4]、X射線行李安全中圖像的分類和檢測(cè)[5]、遙感技術(shù)中的高光譜圖像分類[6]、集成電路方面的晶圓缺陷分類與檢索[7]。采用CNN輔助醫(yī)生加速和精準(zhǔn)乳腺癌診斷是十分必要的。
近年來,科研人員根據(jù)CNN對(duì)乳腺癌展開了研究。Tan等[8]針對(duì)正常、良性腫瘤和癌癥三種乳腺X光圖片,執(zhí)行預(yù)處理操作將乳腺X光圖片轉(zhuǎn)換成計(jì)算機(jī)能夠識(shí)別的圖像,利用CNN對(duì)這些圖像進(jìn)行檢測(cè)分類。實(shí)驗(yàn)結(jié)果表明,分類精度可以達(dá)到82.71%。Zhang等[9]建立不同的CNN模型對(duì)二維乳腺X光圖片和三維斷層合成圖片進(jìn)行分類,并且根據(jù)活組織檢查和專家確認(rèn)來評(píng)估每個(gè)分類器。使用轉(zhuǎn)移學(xué)習(xí)和數(shù)據(jù)增強(qiáng)建立的CNN模型具有自動(dòng)乳腺癌檢測(cè)的良好潛力。但該文獻(xiàn)采用的數(shù)據(jù)集較少,只有3 200張左右。采用乳房超聲波診斷乳腺癌,Chiang等[10]提出一種三維CNN聚合重疊候選者方案輔助診斷。測(cè)試集偏少,為171個(gè)。一般而言,病理組織檢測(cè)的準(zhǔn)確度要大于乳房超聲波檢測(cè)。褚晶輝等[11]針對(duì)乳腺腫瘤核磁共振圖像,為了區(qū)分腫瘤與非腫瘤,基于遷移學(xué)習(xí)構(gòu)建一種診斷系統(tǒng)且獲得不錯(cuò)的性能。孔小函等[12]提出改進(jìn)的CNN模型,輔助三維乳腺超聲分類,可以接受圖像和文本同時(shí)輸入。采用880幅圖像進(jìn)行試驗(yàn),多信息融合的CNN模型可以達(dá)到75.11%的準(zhǔn)確率。Zou等[13]對(duì)CNN結(jié)合乳腺X光圖片診斷乳腺癌技術(shù)進(jìn)行綜述,把診斷技術(shù)分為三種,一是設(shè)計(jì)淺層模型降低時(shí)間成本;二是通過轉(zhuǎn)移學(xué)習(xí)訓(xùn)練模型;三是利用CNN模型進(jìn)行特征提取,同時(shí)指出基于CNN的乳腺癌診斷技術(shù)還于早期階段。周孟然等[14]主要針對(duì)乳腺癌的周長(zhǎng)、面積、平滑程度等文本特征進(jìn)行研究,本研究直接針對(duì)圖像進(jìn)行識(shí)別分析。
目前的研究主要集中在乳腺癌X光、超聲波、核磁共振圖像等,對(duì)乳腺癌病理圖像識(shí)別分類研究較少,且圖像數(shù)據(jù)集較小。本文針對(duì)乳腺癌病理圖像開展診斷識(shí)別研究,但癌癥圖像的紋理特征比較細(xì)膩,一般采用插值放大進(jìn)行處理,但放大過大會(huì)引入更多的噪聲從而失去意義,同時(shí)會(huì)導(dǎo)致更多的計(jì)算量,放大的程度需要仔細(xì)設(shè)計(jì)。此外,卷積神經(jīng)網(wǎng)絡(luò)一般涉及大量參數(shù),加大訓(xùn)練復(fù)雜度和訓(xùn)練時(shí)間,設(shè)計(jì)一種淺層且高效的網(wǎng)絡(luò)是值得研究的。
CNN一般包括卷積層、激活層,池化層、全連接層。針對(duì)卷積層,一般采用的是二維矩陣卷積,具體的計(jì)算過程類似感知機(jī)的數(shù)學(xué)表示形式:
X*Wt+b=Z
式中:X為輸入數(shù)據(jù),一般是矩陣形式。Wt為權(quán)重或稱作卷積核,表明不同的輸入數(shù)據(jù)對(duì)輸出值貢獻(xiàn)的大小不同,也就是不同的輸入其重要性是不同的。b是偏置量,即一個(gè)附加值,有時(shí)可以省略。下面針對(duì)二維卷積運(yùn)算進(jìn)行舉例,如圖1所示。
圖1 卷積運(yùn)算
圖1中,4階矩陣與3階矩陣進(jìn)行卷積,產(chǎn)生一個(gè)4階矩陣。這里面涉及的一種算法叫作補(bǔ)0擴(kuò)充,原輸入數(shù)據(jù)X是4階矩陣,把X周圍填補(bǔ)一圈0變成5階矩陣,那么X與Wt卷積后便能得到5階矩陣。如果不進(jìn)行補(bǔ)0,得到的Z將是2階矩陣,輸入數(shù)據(jù)由4階變?yōu)?階,同時(shí)導(dǎo)致輸入數(shù)據(jù)的有用邊界信息丟失,所以補(bǔ)0擴(kuò)充操作非常有必要。
在補(bǔ)0操作完成后,矩陣X左上角的元素1和Wt矩陣的中心元素2對(duì)齊,然后依次向右向下滑動(dòng),做卷積運(yùn)算。卷積運(yùn)算的關(guān)鍵原理是對(duì)應(yīng)元素相乘相加,比如Z的左上角第一個(gè)元素2的由來,0×2+0×1+0×1+0×0+1×2+2×0+0×1+4×0+0×2=2。值得注意的是,CNN的卷積運(yùn)算和信號(hào)處理中涉及的卷積有不同之處,CNN卷積中的Wt矩陣不需要翻轉(zhuǎn),因?yàn)槌跏嫉腤t不一定是最優(yōu)值需要不斷調(diào)節(jié),Wt矩陣的元素是在不斷變化的,Wt作為一個(gè)變量參數(shù),不需要額外的翻轉(zhuǎn)操作。同時(shí)Wt矩陣具有共享性,一旦Wt矩陣數(shù)量確定,無論有多少個(gè)輸入數(shù)據(jù)X,都有相同個(gè)數(shù)的Wt矩陣與X進(jìn)行卷積。輸入數(shù)據(jù)X一定的情況下,Wt權(quán)重矩陣的大小與多少,決定了卷積的復(fù)雜度。
下面介紹激活層。激活層的作用是在CNN中引入非線性,使得CNN可以擴(kuò)展到多層。如果沒有激活函數(shù),多層CNN就相當(dāng)于一層,網(wǎng)絡(luò)具有線性組合性質(zhì),不利于學(xué)習(xí)更多的特征。同時(shí)激活函數(shù)還使得特征大的數(shù)據(jù)區(qū)域向后傳輸?shù)玫郊せ?,使特征小的?shù)據(jù)區(qū)域趨于0,停止傳輸。常見的激活函數(shù)為Sigmoid和ReLU函數(shù)。為了具體描述激活函數(shù)的作用,給出一個(gè)CNN中簡(jiǎn)單的基本處理單元,如圖2所示。
圖2 CNN基本單元
根據(jù)圖2,有x1w1+x2w2=z,對(duì)于激活函數(shù)f,有f(z)=y。輸出值y與真實(shí)值yr的誤差函數(shù)為:
(2)
根據(jù)泰勒展開式,推導(dǎo)出的權(quán)重更新公式[15-16]為:
(3)
其中η稱為學(xué)習(xí)率。
對(duì)于權(quán)重w1,結(jié)合式子的求導(dǎo)部分,有:
(4)
激活函數(shù)采用Sigmoid函數(shù)1/(1+e-z)時(shí),其導(dǎo)數(shù)為:
(5)
當(dāng)z為0時(shí),導(dǎo)數(shù)取得最大值1/4。當(dāng)CNN有多層時(shí),更新權(quán)重時(shí)需要多次乘以Sigmoid導(dǎo)數(shù),會(huì)導(dǎo)致式子的導(dǎo)數(shù)部分趨于0,出現(xiàn)w1=w1的情況導(dǎo)致權(quán)重?zé)o法更新。采用ReLU激活函數(shù)時(shí),導(dǎo)數(shù)最大值為1,通常不影響權(quán)重的更新,是常用的激活函數(shù)。
池化層的作用是提取區(qū)域數(shù)據(jù)中最顯著的特征并降維。當(dāng)輸入數(shù)據(jù)在鄰域內(nèi)移動(dòng)時(shí),經(jīng)過池化層可以使輸出與未移動(dòng)時(shí)保持不變,從而對(duì)微小位移具有抗干擾的作用。全連接層綜合前面提取到的散碎的特征,具體運(yùn)算類似與卷積層,只是此處的權(quán)重矩陣和輸入數(shù)據(jù)的維度要匹配。
提出5卷積層的CNN,其示意圖如圖3所示。卷積層主要作用是提取輸入數(shù)據(jù)的特征,一個(gè)權(quán)重矩陣只能描述少量局部特征。單一的權(quán)重矩陣進(jìn)行卷積運(yùn)算是不夠的,需要多個(gè)權(quán)重矩陣提取不同的特征,使得特征多樣化、詳盡化,避免提取的特征單一。先提取局部特征再匯總,符合人們對(duì)事物的認(rèn)識(shí)過程。權(quán)重矩陣的階數(shù)一般是奇數(shù),方便中心對(duì)齊。
圖3 提出的網(wǎng)絡(luò)結(jié)構(gòu)
圖3采用的權(quán)重矩陣都是3×3矩陣,每個(gè)卷積層含64個(gè)以上的權(quán)重矩陣。卷積運(yùn)算可以描述為:
(6)
式中:l表示第l層;i表示第i個(gè)權(quán)重矩陣。當(dāng)l表示第1層到第5層時(shí),相應(yīng)i的最大取值分別為64、128、64、128、64,即5個(gè)卷積層采用的權(quán)重矩陣個(gè)數(shù)為64→128→64→128→64,如圖4所示。傳統(tǒng)CNN網(wǎng)絡(luò)的權(quán)重矩陣采用的是從小到大的排列,即64→64→64→128→128。卷積層1相應(yīng)的權(quán)重矩陣所占存儲(chǔ)大小為3×3×3×64=1 728。其他4個(gè)卷積層對(duì)應(yīng)權(quán)重矩陣存儲(chǔ)值都為3×3×64×128=73 728,那么總權(quán)重參數(shù)為296 640。經(jīng)典的深度學(xué)習(xí)結(jié)構(gòu)VGG16,其權(quán)重參數(shù)有1億3 000萬。和VGG16相比,提出的CNN的存儲(chǔ)空間復(fù)雜度大大降低。而且VGG16有13層卷積運(yùn)算,提出的結(jié)構(gòu)只有5層,少了8層大型卷積,降低了運(yùn)算時(shí)間復(fù)雜度。
圖4 W型結(jié)構(gòu)
傳統(tǒng)網(wǎng)絡(luò)容易導(dǎo)致過擬合。過擬合是指學(xué)習(xí)模型在訓(xùn)練樣本中表現(xiàn)得過于優(yōu)異,導(dǎo)致在驗(yàn)證數(shù)據(jù)集以及測(cè)試數(shù)據(jù)集中表現(xiàn)不佳。也就是說模型對(duì)未知樣本的預(yù)測(cè)表現(xiàn)一般,泛化能力較差。從數(shù)學(xué)層面描述,就是學(xué)習(xí)到的特征的協(xié)方差偏大,導(dǎo)致驗(yàn)證測(cè)試集上的損失函數(shù)的值過大。例如訓(xùn)練識(shí)別白天鵝,天鵝的形狀、顏色都學(xué)習(xí)得很詳盡,那么碰到黑色的天鵝時(shí)將不能識(shí)別。如果不學(xué)習(xí)天鵝的顏色,即有些特征不學(xué)習(xí),那么黑天鵝也能被識(shí)別。
采用W結(jié)構(gòu),其權(quán)重矩陣的大小在不斷變化,就相當(dāng)于在訓(xùn)練不同的網(wǎng)絡(luò)。權(quán)重矩陣由小到大,數(shù)據(jù)的特征學(xué)習(xí)的比較豐富和詳盡,但這樣容易導(dǎo)致過分學(xué)習(xí),產(chǎn)生過擬合。傳統(tǒng)的順序結(jié)構(gòu),學(xué)習(xí)到的特征越來越大,越來越詳盡,特征量十分豐富,容易導(dǎo)致過擬合。權(quán)重矩陣由大到小,利用卷積提取到的特征就會(huì)減少,有些特征沒有學(xué)習(xí)太深太詳盡,學(xué)習(xí)到的網(wǎng)絡(luò)在不斷變化,從而起到抗過擬合的作用。W型網(wǎng)絡(luò)具有一定的優(yōu)越性。
采用的數(shù)據(jù)是Kaggle提供的轉(zhuǎn)移型乳腺癌數(shù)據(jù)集,分癌癥圖像和健康圖像兩類,像素為96×96。從中隨機(jī)抽出72 000幅圖片作為訓(xùn)練集,12 000幅作為驗(yàn)證集,16 600幅作為測(cè)試集。這3類數(shù)據(jù)集里面,正負(fù)樣本數(shù)量相等,也就是說,癌癥和健康圖像各占一半。癌癥圖像并不像手寫數(shù)字,數(shù)字圖像屬于粗粒度,更容易分析識(shí)別。而癌癥圖像屬于細(xì)粒度,識(shí)別分類有難度。為了更好地分析癌癥圖像,對(duì)圖像進(jìn)行插值放大,將96×96擴(kuò)展115%倍后為110×110。此外,batchsize設(shè)為64,Epoch為35。
(a) 5層W型CNN
(b) 5層傳統(tǒng)CNN圖5 精度損失曲線圖
應(yīng)用W型CNN和傳統(tǒng)順序CNN,得到精度損失曲線如圖5所示。從圖5中可以發(fā)現(xiàn),隨著Epoch的增加,5層W型CNN的訓(xùn)練精度和驗(yàn)證精度貼合的非常緊密,幾乎重合在一起。訓(xùn)練損失和驗(yàn)證損失曲線也趨于一致。5層傳統(tǒng)CNN,精度曲線有一定偏離,損失曲線偏離的更大。
除了分析精度損失曲線,采用混淆矩陣做進(jìn)一步的探討?;煜仃囀菍?duì)網(wǎng)絡(luò)模型預(yù)測(cè)結(jié)果的一種總結(jié)分析,列出測(cè)試集的真實(shí)類別與模型預(yù)測(cè)類別,以矩陣形式呈現(xiàn)出來。測(cè)試集中健康病理圖像占8 600幅,乳腺癌病理圖像占8 000幅。經(jīng)過實(shí)驗(yàn)測(cè)試,得到混淆矩陣如圖6所示。列方向上也就是斜體字對(duì)應(yīng)的部分,是模型預(yù)測(cè)的結(jié)果,行方向上是真實(shí)值。
圖6 混淆矩陣實(shí)驗(yàn)對(duì)比
圖6中,兩個(gè)矩陣的左上角表示真實(shí)值為健康,模型也認(rèn)為健康的圖像數(shù)量,稱作真陰性(True Negative,TN)。右上角表示真實(shí)值為健康,但模型卻認(rèn)為是癌癥的圖像數(shù)量,稱作假陽性(False Positive,F(xiàn)P)。左下角表示真實(shí)值是癌癥,但模型卻認(rèn)為是健康的圖像數(shù)量,稱作假陰性(False Negative,F(xiàn)N)。右下角表示真實(shí)值是癌癥,模型認(rèn)為是癌癥的圖像數(shù)量,稱作真陽性(True Positive,簡(jiǎn)寫為TP)?;煜仃?yán)锩媪谐龅氖菆D像數(shù)量,為了更加直觀衡量模型的優(yōu)劣,在混淆矩陣的統(tǒng)計(jì)結(jié)果上給出準(zhǔn)確率(accuracy)這個(gè)評(píng)價(jià)指標(biāo)。準(zhǔn)確率是指被網(wǎng)絡(luò)模型識(shí)別正確的圖像數(shù)量除以所有的樣本數(shù),一般而言,準(zhǔn)確率越高,分類器越好。計(jì)算公式定義為:
(7)
Nahid 等[17]采用LSTM(Long Short Term Memory)模型,對(duì)放大40倍的乳腺癌圖像進(jìn)行分類識(shí)別,得到TP所占比例為94.76%,相應(yīng)的TN所占比例為53.55%,而本文提出的CNN,得到的TP和TN所占比例分別為96.0%和92.9%,即7 681/(7 681+319)和7 989/(613+7 989)。Spanhol等[18]針對(duì)40倍的乳腺癌圖像,采用 PFTAS (Parameter-Free Threshold Adjacency Statistics)提取特征,且使用QDA(Quadratic Disriminant Analysis)方法進(jìn)行識(shí)別分類,得到的準(zhǔn)確率為83.8%。采用PFTAS+SVM (Support Vector Machine)和PFTAS+RF(Random Forests)方法,得到的識(shí)別準(zhǔn)確率分別為81.6%和81.8%。馬慧彬[19]針對(duì)乳腺惡性腫瘤和良性腫瘤的X射線圖像,采用由RBM(restricted Boltzmann machine)構(gòu)成的深度置信網(wǎng)絡(luò)進(jìn)行識(shí)別,準(zhǔn)確率為83.32%。根據(jù)公式和圖6,5層傳統(tǒng)CNN的準(zhǔn)確率為90.3%,而提出的CNN的準(zhǔn)確率為94.3%,在識(shí)別上具有一定的優(yōu)勢(shì)。
針對(duì)乳腺癌診斷治療,提出一種精簡(jiǎn)的5卷積層W型結(jié)構(gòu)的CNN,可以快速精確地對(duì)乳腺癌圖像進(jìn)行分類識(shí)別。和傳統(tǒng)結(jié)構(gòu)的5層CNN相比,提出的神經(jīng)網(wǎng)絡(luò)具有更好的抗擬合性質(zhì),訓(xùn)練精度曲線和驗(yàn)證精度曲線較好的重合在一起。進(jìn)一步通過混淆矩陣測(cè)試,測(cè)試結(jié)果再次表明,提出的網(wǎng)絡(luò)具有更好的準(zhǔn)確率。又因提出的網(wǎng)絡(luò)只采用5個(gè)卷積層,網(wǎng)絡(luò)參數(shù)得到精簡(jiǎn)便于硬件高效實(shí)現(xiàn)。提出的網(wǎng)絡(luò)能優(yōu)化和加速乳腺癌分析,從而更加可靠地、高效地向乳腺癌患者提供診療方案,將具有重要的理論研究意義和臨床實(shí)踐價(jià)值。兩種CNN結(jié)構(gòu)進(jìn)行對(duì)比,主要在中小數(shù)據(jù)集下進(jìn)行,對(duì)于大型數(shù)據(jù)集的情況還要做進(jìn)一步分析。下一步研究采用可編程邏輯硬件,用一個(gè)芯片把W型CNN進(jìn)行硬件實(shí)現(xiàn),主要進(jìn)行推理測(cè)算,采用并行編程實(shí)現(xiàn)且參數(shù)較少,能快速進(jìn)行推理。