国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于精簡卷積神經(jīng)網(wǎng)絡(luò)的低分辨率乳腺癌識別

2020-11-14 11:32:00王兵銳張新剛楊曉非
計算機技術(shù)與發(fā)展 2020年9期
關(guān)鍵詞:池化癌癥像素

王兵銳,張新剛,楊曉非

(1.南陽師范學(xué)院 河南省智能應(yīng)急研究中心,河南 南陽 473007;2.華中科技大學(xué) 光學(xué)與電子信息學(xué)院,湖北 武漢 430074)

0 引 言

乳腺是由腺體、導(dǎo)管和脂肪組織等構(gòu)成,乳腺癌發(fā)生在腺體或?qū)Ч艿纳掀そM織。乳腺癌是危害女性健康的重要惡性腫瘤,位居女性惡性腫瘤第一位。乳腺癌手術(shù)之后,依然有轉(zhuǎn)移的可能性,需要及時診療[1]。乳腺癌如果不及時診療,或者診斷失誤認為健康,容易發(fā)生乳腺癌轉(zhuǎn)移[2-3]。轉(zhuǎn)移之后,乳腺癌細胞之間連接松散易脫落,游離的癌細胞可以隨血液或淋巴液散播,乳腺癌繼續(xù)發(fā)展轉(zhuǎn)移到肺時,引起胸腔積液、呼吸困難。轉(zhuǎn)移到骨骼時[4],入侵骨髓,出現(xiàn)不規(guī)則的骨質(zhì)破壞,引起骨折甚至癱瘓。轉(zhuǎn)移到大腦時,引起腦腫脹導(dǎo)致顱內(nèi)壓增高,影響中樞神經(jīng),產(chǎn)生各種疼痛。許多乳腺癌患者早期疼痛并不明顯,容易忽視診斷,往往會造成更加嚴重的后果。積極的進行早期診斷[5],尤其及時治療,一定程度上抑制癌細胞生長,使病情得到控制。傳統(tǒng)疾病治療需要醫(yī)生通過輔助機器檢測乳腺癌并對病情做出判斷。人工智能應(yīng)用在醫(yī)學(xué)腫瘤上是當前的研究熱點[6-7]。

應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)進行乳腺癌診斷[8-9],可以將病情數(shù)據(jù)交給訓(xùn)練過的學(xué)習(xí)模型,然后由模型去判斷病情,判斷結(jié)果更加精確,人工判斷一般有主觀傾向,并且?guī)в薪?jīng)驗傾向,容易判斷失誤,CNN可以快速處理乳腺癌數(shù)據(jù),效率遠遠高于人工,更加節(jié)省時間。CNN對于診斷乳腺癌,及早發(fā)現(xiàn)乳腺癌,保障人類生命安全等方面都會產(chǎn)生巨大的影響。

1 數(shù)據(jù)不平衡處理

通常健康人的數(shù)量遠大于癌癥患者的數(shù)量,獲得的癌癥圖片遠小于健康圖片的數(shù)量,導(dǎo)致數(shù)據(jù)類別分布不平衡。應(yīng)用深度學(xué)習(xí)時,這種不平衡會導(dǎo)致學(xué)習(xí)模型偏向于健康類,測試時容易將癌癥類判別為健康類,學(xué)習(xí)模型在測試數(shù)據(jù)集上的泛化性不好[10]。所以,需要得到一個性能不錯的學(xué)習(xí)模型,對健康和癌癥圖片都能提供較好的分類準確率。解決數(shù)據(jù)不平衡的方法通常分為兩類[11],校正學(xué)習(xí)模型和調(diào)整數(shù)據(jù)集。

校正學(xué)習(xí)模型常采用損失函數(shù)加權(quán)的方法,具體過程如下所述。

(1)

式(1)為交叉熵損失函數(shù),tk是正確的標簽,并采用獨熱碼表示,yk是學(xué)習(xí)模型的輸出。數(shù)據(jù)不平衡時,采用式(1)計算出來的損失值是相近的,對少數(shù)類容易判為多數(shù)類。此時需要在式(1)右邊乘以一個加權(quán)系數(shù),從而加大少數(shù)類的損失值,使學(xué)習(xí)模型更傾向于預(yù)測少數(shù)類,這樣能達到平衡預(yù)測數(shù)據(jù)。式(1)改進為:

(2)

其中,λ為加權(quán)系數(shù),訓(xùn)練多數(shù)類時,λ的值為1,訓(xùn)練少數(shù)類時,λ的值大于1,從而加大少數(shù)類的損失,更多關(guān)注少數(shù)類的樣本。

調(diào)整數(shù)據(jù)集通常分為三種方法,合成少數(shù)類數(shù)據(jù)、減小多數(shù)類以及增大少數(shù)類[12-13]。合成少數(shù)類數(shù)據(jù)最經(jīng)典的方法是SMOTE(synthetic minority over-sampling technique)[14-16]。該算法合成新的少數(shù)類數(shù)據(jù),對每個少數(shù)類數(shù)據(jù),根據(jù)歐氏距離從它的最近鄰中隨機選取另一個少數(shù)類數(shù)據(jù),然后在這兩個少數(shù)類數(shù)據(jù)的連線上隨機選擇一個位置,把該位置作為一個新的少數(shù)類數(shù)據(jù)。SMOTE算法常用來處理股票、表格等數(shù)據(jù)且效果較好,用來處理圖像的情況較少。

減小多數(shù)類方法是從多數(shù)類樣本中隨機移除一些數(shù)據(jù),從而達到數(shù)據(jù)平衡。但有可能丟失包含重要特征的信息。但可以隨機選擇等量的不同的多數(shù)類數(shù)據(jù),和少數(shù)類數(shù)據(jù)一起學(xué)習(xí)訓(xùn)練,重復(fù)n次學(xué)習(xí)并得到多個學(xué)習(xí)結(jié)果,最后將多個結(jié)果進行大數(shù)判決,從而決定最終的分類結(jié)果。增大少數(shù)類,最簡單的方法是隨機復(fù)制一些少數(shù)類數(shù)據(jù),擴充到和多數(shù)類一致的數(shù)據(jù)量。如此的增大策略可以達到所需的任意平衡,而且該方法比較簡單,易于理解和實現(xiàn)。但這樣增大少數(shù)類數(shù)據(jù),并沒有增加數(shù)據(jù)的多樣性,容易導(dǎo)致過擬合。

比較有效的增大少數(shù)類的方法是,做數(shù)據(jù)增強處理。常用的操作有旋轉(zhuǎn),剪切,尺度變換,反轉(zhuǎn),平移,噪聲擾動,色彩抖動。旋轉(zhuǎn)是對輸入圖像進行0度到360度隨機旋轉(zhuǎn)。裁剪是對圖像隨機摘取出一部分,并放大到和輸入圖像一樣大小,容易丟失主要特征。尺度變化是按照一定比例對圖像隨機進行整體縮小或放大,和剪切有一定區(qū)別。反轉(zhuǎn)是對圖像做垂直或水平反轉(zhuǎn)。有些圖像比如貓,做垂直翻轉(zhuǎn)后,物體徹底改變,特征變化巨大。平移是隨機對圖像左右移動一定的比例。噪聲擾動是指在圖像中隨機加入少量的高斯噪聲,可以有效防止過擬合,讓CNN不能學(xué)習(xí)圖像的全部特征。色彩抖動指在顏色空間中,每個通道隨機抖動一定的程度,比如改變圖像的對比度、亮度、飽和度等,容易產(chǎn)生不符合實際的圖像,使得學(xué)習(xí)效果變差。

2 提出的CNN網(wǎng)絡(luò)

CNN是一類具有卷積計算的前饋神經(jīng)網(wǎng)絡(luò)[17],卷積神經(jīng)網(wǎng)絡(luò)具有局部感知、特征降維等特點。因其優(yōu)異的算法性能,卷積神經(jīng)網(wǎng)絡(luò)多被用于深度學(xué)習(xí)中,用來進行圖像識別,自然語言處理等。CNN是以梯度下降迭代的方法來進行學(xué)習(xí)的,要對輸入的信息進行預(yù)處理歸一化。因為不同的特征信息對應(yīng)的值域不同,為了提高之后的訓(xùn)練效率,要把各個特征信息的值域盡量控制在相同值域上,一般采用除以255進行歸一化。CNN包括卷積層、激活層、池化層、全連接層等。

卷積層最重要的作用就是用來進行特征信息提取。卷積層不能一步處理一圖片的全部信息,需要把圖片等分成多份,對每一小份進行處理。卷積層最關(guān)鍵的運算是卷積運算,如式(3)所示。卷積運算會提取出每一小份所蘊含的特征,輸入數(shù)據(jù)是個矩陣,需要和權(quán)重系數(shù)構(gòu)成的矩陣進行卷積。權(quán)重系數(shù)的初始值是隨機生成的,通常采用正態(tài)分布函數(shù)。在后期的訓(xùn)練學(xué)習(xí)中,權(quán)重系數(shù)會不斷調(diào)整。權(quán)重矩陣也稱為卷積核。圖片的每個部分與權(quán)重矩陣至少進行一次運算,然后產(chǎn)生一個完整的卷積層輸出。

(3)

其中,xi-1是第i層的輸入數(shù)據(jù),wi是第i層的權(quán)重系數(shù),bi是一個常數(shù)參數(shù),f(ui)是一個激活函數(shù),xi是第i層的輸出值。

卷積運算之后會得到不同的值。卷積層的輸出越大,說明當前卷積矩陣與輸入的圖片越匹配。換言之,通過卷積層輸出可以判斷哪個卷積核更能描述待識別圖片的具體特征。特定的某個卷積矩陣能夠識別相同或相似的特征,如果要識別其他特征則需要多個卷積矩陣。卷積層的特點就是不斷更新卷積矩陣,確定有哪些卷積矩陣更能揭示待識別的輸入圖片。

激活層的特點表現(xiàn)為非線性。如果不采用激活層,各層之間的關(guān)系將是一種線性映射。激活函數(shù)的非線性特征經(jīng)過深層次的反復(fù)疊加使得神經(jīng)網(wǎng)絡(luò)可以趨于任意的函數(shù),激活層使得CNN擁有更好的適用性。池化層去除卷積層提取到的無用信息,降低矩陣維度,減少訓(xùn)練參數(shù)以及減少噪聲向下一層傳遞。最大池化是指在相應(yīng)區(qū)域內(nèi)選擇一個最大的數(shù)代表整個區(qū)域,如圖1所示,圖中采用的是2×2大小的矩陣池化,也就是4個元素中選取1個最大值。均值池化是指用相應(yīng)區(qū)域內(nèi)的平均值去代表整個數(shù)據(jù)區(qū)域。最大池化和均值池化是經(jīng)常采用的方式。

圖1 最大池化

全連接層通常被放置在最后幾層,其作用主要表現(xiàn)在分類上。卷積層每一次獲取到的都是局部特征,而想要起到分類識別的作用,局部特征是完全不夠用的。全連接層是把所有的局部特征給組合起來,成為完整的特征圖,以便完成正確的分類識別。

提出精簡的4個卷積層的CNN來進行快速運算,第一層為卷積層1、激活層,第二層為卷積層2、激活層、池化層,第三層為卷積層3、激活層,第四層為卷積層4、激活層、池化層,按照層層遞進的關(guān)系如圖2所示,最后一層為全連接層。激活層采用的激活函數(shù)為Relu,池化層采用最大池化方法。4個卷積層采用的權(quán)重矩陣都是3×3矩陣,每個卷積層含64個以上的權(quán)重矩陣。4個卷積層,也就是卷積層1、2、3、4采用的權(quán)重矩陣個數(shù)為64、64、128、128,如圖2中用括號進行標注。

圖2 提出的4層CNN

3 實驗測試

采用的是Kaggle公開提供的50×50的乳腺癌數(shù)據(jù)集,健康圖片約為19.8萬張,癌癥圖片約為7.8萬張。把癌癥圖片中包含信息較少的小圖片去掉,同時也方便快速運算,抽取得到癌癥圖片為4.6萬張,采用減小多數(shù)類的隨機采樣方法抽取6萬張健康圖片。同時采用增大少數(shù)類的數(shù)據(jù)增強方法,把癌癥圖片增加到5萬張,數(shù)據(jù)增強擴大產(chǎn)生4千張圖片。如果在程序運行時,一面擴增數(shù)據(jù)一面運行模型,處理速度較慢,預(yù)先把數(shù)據(jù)擴增好會提高運行速度。數(shù)據(jù)增強的具體方法為水平移動范圍為50*0.08=4,即圖片水平偏移的幅度為4個像素。垂直移動范圍為50*0.1=5,即圖片垂直偏移的幅度為5個像素。圖片隨機轉(zhuǎn)動的角度設(shè)置為12度,設(shè)置水平隨機翻轉(zhuǎn)也就是做左右對稱變換。當進行變換時超出邊界的點根據(jù)就近插值原則進行處理。采用標準化進行增強,將輸入的圖片除以數(shù)據(jù)集的標準差完成標準化。

3.1 精度損失曲線測試

除了針對數(shù)據(jù)集進行控制,在訓(xùn)練學(xué)習(xí)模型時,采用校正學(xué)習(xí)模型的損失函數(shù)加權(quán)方法,來平衡健康類和癌癥類的學(xué)習(xí)影響。把數(shù)據(jù)集拆分為訓(xùn)練集、驗證集和測試集,分別為8.8萬張、1.21萬張、9.9千張。由于采用的數(shù)據(jù)集的分辨率較低,把50×50像素圖片增大到100×100大小,從而更好地提取細節(jié)特征。在人工智能中,遷移學(xué)習(xí)容易理解,且速度較快備受青睞。遷移學(xué)習(xí)是把一個場景學(xué)到的知識用來幫助應(yīng)對新場景的學(xué)習(xí)任務(wù),比如有編寫歌詞的學(xué)習(xí)經(jīng)驗,就有助于唱歌跳舞。

遷移學(xué)習(xí)最經(jīng)典的應(yīng)用是VGG16,包含13個卷積層和3個全連接層,如圖3所示。最大輸入為224×224×3的圖片,最小輸入為48×48×3的圖片。經(jīng)過兩次卷積層,每層包含64個卷積核,進行一次池化操作。之后又經(jīng)過兩次卷積層,每層包含128個卷積核,進行一次池化操作。再經(jīng)過三次卷積層,每層包含256個卷積核,進行一次池化操作。然后進行三次卷積層,每層包含512個卷積核,進行一次池化,這個操作重復(fù)兩遍。最后經(jīng)過三個全連接層,前兩個全連接層有4 096個神經(jīng)元節(jié)點,第三層有1 000個神經(jīng)元節(jié)點。前13層采用的卷積核個數(shù),依次為64、64、128、128、256、256、256、512、512、512、512、512、512。文中應(yīng)用VGG16來識別判斷乳腺癌,訓(xùn)練倒數(shù)4個卷積層和全連接層,其余層進行凍結(jié)。

圖3 VGG16結(jié)構(gòu)

下面從精度損失曲線上對比提出的CNN與VGG16的性能,如圖4所示,其中trian_acc為訓(xùn)練精度,trian_loss為訓(xùn)練損失,val_acc為驗證精度,val_loss為驗證損失。從圖中可以發(fā)現(xiàn),乳腺癌圖片為50×50時,精度損失曲線波動比較大。把圖片擴大為100×100時,曲線比較平緩,尤其采用提出的CNN,trian_acc和val_acc結(jié)合的比較緊密,說明訓(xùn)練效果較好。

(a)50×50時VGG16

3.2 混淆矩陣測試

上面的精度損失曲線是針對訓(xùn)練集和驗證集。還需要對測試集進行考查。采用混淆矩陣針對測試集做進一步的探討,混淆矩陣容易看到深度學(xué)習(xí)模型是否將癌癥的類別混淆?;煜仃囀菍ι疃葘W(xué)習(xí)模型預(yù)測結(jié)果的一種總結(jié)分析表格,列出測試集圖片的真實類別與模型預(yù)測類別,以矩陣形式呈現(xiàn)出來?;谔岢龅腃NN和VGG16,面向乳腺癌和健康圖片測試集,分別針對50×50像素和100×100像素進行實驗測試,得到混淆矩陣,如圖5和圖6所示。圖中矩陣的行表示真實值,矩陣的列表示預(yù)測值。

圖5 50×50時的混淆矩陣

圖6 100×100時的混淆矩陣

圖5和圖6中,左上角表示真實為健康且訓(xùn)練模型判別為健康的數(shù)量,稱作真陰性(true negative,TN)。右上角表示真實為健康但訓(xùn)練模型判別為乳腺癌的數(shù)量,稱作假陽性(false positive,F(xiàn)P)。左下角表示真實為乳腺癌但訓(xùn)練模型判別為健康的數(shù)量,稱作假陰性(false negative,F(xiàn)N)。右下角表示真實為乳腺癌且訓(xùn)練模型判別為乳腺癌的數(shù)量,稱作真陽性(true positive,TP)。混淆矩陣里面列出的是數(shù)量,為了更加直觀衡量模型的優(yōu)劣,在混淆矩陣的統(tǒng)計結(jié)果上給出進一步的評價指標,正確率(accuracy)、靈敏度(sensitivity)、特異度(specificity)。正確率是指被網(wǎng)絡(luò)模型識別正確的乳腺癌和健康數(shù)除以所有的圖片數(shù),一般正確率越高,分類器越好。

(4)

4 結(jié)束語

采用CNN進行診斷識別來及早發(fā)現(xiàn)乳腺癌。但乳腺癌數(shù)據(jù)集遠小于健康人的數(shù)據(jù)集,數(shù)據(jù)不平衡。采用隨機下采樣的方法減少多數(shù)類健康數(shù)據(jù)集,采用數(shù)據(jù)增強的方法增大少數(shù)類癌癥數(shù)據(jù),同時控制學(xué)習(xí)模型的癌癥與健康學(xué)習(xí)權(quán)重比例,融合三種方法應(yīng)對數(shù)據(jù)不平衡。通過混淆矩陣,對原始50×50像素和調(diào)整后100×100像素數(shù)據(jù)集進行測試評估,根據(jù)式(4),50×50像素時,經(jīng)典16層的VGG16網(wǎng)絡(luò)和提出的4卷積層CNN網(wǎng)絡(luò)的準確率分別為79.2%和80.7%。100×100像素時,VGG16網(wǎng)絡(luò)和提出的CNN網(wǎng)絡(luò)的準確率分別為81.7%和83.1%。提出的CNN的乳腺癌識別精度在100×100像素時優(yōu)于VGG16在50×50像素時多達4個百分點。采用的癌癥數(shù)據(jù)集分辨率較低,紋理特征不易提取。同時為了方便快速計算、節(jié)約硬件資源,提出了4卷積層的CNN,不易過擬合,性能優(yōu)于16層的VGG16網(wǎng)絡(luò)。因為VGG16網(wǎng)絡(luò)容易產(chǎn)生過擬合,從而導(dǎo)致精度較低。

猜你喜歡
池化癌癥像素
基于緊湊型雙線性網(wǎng)絡(luò)的野生茵識別方法研究
無線電工程(2024年8期)2024-09-16 00:00:00
趙運哲作品
藝術(shù)家(2023年8期)2023-11-02 02:05:28
基于Sobel算子的池化算法設(shè)計
像素前線之“幻影”2000
卷積神經(jīng)網(wǎng)絡(luò)中的自適應(yīng)加權(quán)池化
留意10種癌癥的蛛絲馬跡
“像素”仙人掌
基于卷積神經(jīng)網(wǎng)絡(luò)和池化算法的表情識別研究
癌癥“偏愛”那些人?
海峽姐妹(2018年7期)2018-07-27 02:30:36
對癌癥要恩威并施
特別健康(2018年4期)2018-07-03 00:38:08
环江| 阳谷县| 贞丰县| 仪陇县| 繁峙县| 景洪市| 香河县| 孝昌县| 门源| 乳山市| 洛川县| 辽中县| 长乐市| 社旗县| 太保市| 漾濞| 扶风县| 东乡族自治县| 齐齐哈尔市| 福清市| 分宜县| 宁海县| 高碑店市| 深水埗区| 临漳县| 西乡县| 西林县| 邳州市| 贡嘎县| 信丰县| 永善县| 民和| 皋兰县| 南乐县| 贵定县| 屏东市| 左权县| 芜湖县| 科技| 宁强县| 巴中市|