董青青,銀溫社,易三莉
(昆明理工大學(xué) 信息工程與自動化學(xué)院,云南 昆明 650500)
黑色素瘤是一種獨(dú)特的癌癥,大多數(shù)表現(xiàn)為色素性并發(fā)生于皮膚表面。目前,臨床診斷主要依靠視診,缺點是受醫(yī)生個人主觀性影響,還因為進(jìn)一步的病理活檢而延長檢查周期[1-2]。因此,目前臨床實踐上還缺乏一種具有高精度、高效率和非侵入式的診斷皮膚癌良惡性的方法。(圖像分類指根據(jù)圖像信息中反映的不同特征,把不同類別的特征區(qū)分開來的圖像處理過程[3-5]。目前來看,圖像分類方法主要分為線性分類和深度神經(jīng)網(wǎng)絡(luò)方法。線性分類主要用于解決某類具體問題,常見的線性分類方法包括支持向量機(jī)(Support Vector Machine,SVM)和貝葉斯方法等。深度神經(jīng)網(wǎng)絡(luò)方法可應(yīng)用于不同類型的分類問題,通用性高、泛化能力強(qiáng),常見的神經(jīng)網(wǎng)絡(luò)方法包括前饋神經(jīng)網(wǎng)絡(luò)(Back Propagation,BP)。SVM依據(jù)結(jié)構(gòu)風(fēng)險最小化理論,被廣泛應(yīng)用于解決小樣本和高維特征等圖像分類問題中[6]。武崢等人提出的聚類優(yōu)化貝葉斯算法,通過k點算法實現(xiàn)聚類,在聚類結(jié)果上進(jìn)行貝葉斯識別,得到了較高的識別率[7]。以上方法主要處理線性分類問題,神經(jīng)網(wǎng)絡(luò)方法則通過作用于大量神經(jīng)元的ReLU等非線性激活函數(shù),在非線性問題上有很好的處理能力[8]。Rumelhart和Mcllelland等人提出的BP神經(jīng)網(wǎng)絡(luò)模型,有效解決了非線性問題[9];鄧俊峰[10]等多個團(tuán)隊對編碼器結(jié)構(gòu)進(jìn)行了改進(jìn),使得自動編碼器同時具有稀疏性約束條件和邊緣降噪約束條件,在多個分類任務(wù)上,學(xué)習(xí)精度都取得了較高的分類效果。相對于其他方法,LeCun提出的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)引入權(quán)值共享機(jī)制,大大降低了需要學(xué)習(xí)的參數(shù)量,同時降低了訓(xùn)練多隱層網(wǎng)絡(luò)的難度[11-12]。Esteva[13]等人采用大量臨床數(shù)據(jù)對GoogleNet Inception v3網(wǎng)絡(luò)進(jìn)行遷移學(xué)習(xí),對皮膚病變圖像進(jìn)行分類,CNN訓(xùn)練的結(jié)果與皮膚科醫(yī)生診斷結(jié)果相媲美。
上述算法在圖像分類任務(wù)上都取得了較好的分類效果。CNN由于引入權(quán)值共享機(jī)制,大大降低了學(xué)習(xí)的參數(shù)量,且相對其他方法有更高的分類精度。然而,該算法在對圖像進(jìn)行分類時,存在收斂速度慢問題[14]。為了提高皮膚癌良惡性預(yù)測精度,本文在CNN結(jié)構(gòu)的基礎(chǔ)上,在卷積神經(jīng)網(wǎng)絡(luò)最后一個池化層與輸出層之間增加一個卷積層和池化層,構(gòu)建了基于深度卷積神經(jīng)網(wǎng)絡(luò)的皮膚癌良惡性預(yù)測模型。
卷積神經(jīng)網(wǎng)絡(luò)具有局部連接、權(quán)值共享等特性,在圖像分類、人臉識別等多個計算機(jī)視覺任務(wù)中被廣泛應(yīng)用[15]。本文針對黑色素瘤數(shù)據(jù)特點,提出將改進(jìn)的CNN算法用于建立皮膚癌良惡性預(yù)測模型。該模型對于黑色素瘤良惡性預(yù)測的效果更好,收斂速度更快。
卷積神經(jīng)網(wǎng)絡(luò)是由用于特征提取的卷積層和用于特征處理的亞采樣層交疊組成的多層神經(jīng)網(wǎng)絡(luò)[16]。網(wǎng)絡(luò)底層輸入數(shù)據(jù),輸出其識別結(jié)果,輸入圖像經(jīng)過若干個“卷積”和“采樣”后,在全連接層實現(xiàn)與輸出目標(biāo)間的映射。
對于卷積層,卷積核中每一個元素都作為權(quán)值參數(shù),同輸入圖像相應(yīng)區(qū)塊的像素值加權(quán)求和,并經(jīng)過激活函數(shù)得到輸出像素。第l層的第j個特征圖矩陣由前一層若干個特征圖卷積加權(quán)得到,以表示為:
其中,f(·)是神經(jīng)元激活函數(shù);Nj代表輸入特征圖的組合,*代表卷積運(yùn)算,為卷積核矩陣,為偏置矩陣。
對于采樣層而言,也稱為“池化”層,作用是基于局部相關(guān)性原理進(jìn)行池化采樣,從而在減少數(shù)據(jù)量的同時保留有用信息。
舉辦大型的文化事件營銷活動,也是城市發(fā)展的途徑之一。德國西部魯爾區(qū)的波鴻,通過打造魯爾藝術(shù)節(jié)、魯爾鋼琴節(jié)和波鴻綜合音樂節(jié)等在歐洲擁有較高聲譽(yù)和影響力的藝術(shù)節(jié)慶活動,實現(xiàn)了從工業(yè)基地到文化藝術(shù)中心城市的轉(zhuǎn)型。法國名城戛納,以每年5月舉行電影節(jié)的方式,走上了城市發(fā)展的快車道。經(jīng)過幾十年的發(fā)展,戛納國際電影節(jié)已躋身世界最大、最重要的四大電影節(jié)之一,每年吸引著30萬人前來參加,給城市帶來巨大的經(jīng)濟(jì)效益和良好口碑,戛納也因此成為世界名城,吸引著眾多游客。
采樣過程可以表示為:
其中,down(·)表示下采樣函數(shù),常用的有最大值采樣函數(shù)和均值采樣函數(shù)。
全連接層的結(jié)構(gòu)和全連接神經(jīng)網(wǎng)絡(luò)的隱層結(jié)構(gòu)相同。全連接層的每個神經(jīng)元都會與下一層的每個神經(jīng)元相連。第l層全連接層特征向量xl可以表示為:
其中,wl是權(quán)值矩陣,bl是偏置向量。
模型的最后輸出層為邏輯回歸層。卷積神經(jīng)網(wǎng)絡(luò)輸出的每個節(jié)點表示輸入圖片屬于某一類別i的概率:
式中,w為最后一層的權(quán)參數(shù),b為相應(yīng)偏置參數(shù)。
遷移學(xué)習(xí)在深度學(xué)習(xí)中應(yīng)用廣泛,特別對于在醫(yī)療領(lǐng)域數(shù)據(jù)量非常受限時。從自然圖像到醫(yī)療數(shù)據(jù)的遷移學(xué)習(xí),將訓(xùn)練學(xué)習(xí)到的權(quán)重作為目標(biāo)數(shù)據(jù)的初始化參數(shù)。本文采用自然圖像訓(xùn)練得到的CIFAR-10模型進(jìn)行黑色素瘤數(shù)據(jù)的遷移學(xué)習(xí),為了得到更好的皮膚病變分類效果,在CIFAR-10網(wǎng)絡(luò)基礎(chǔ)上進(jìn)行卷積的改進(jìn)。
卷積層結(jié)構(gòu)的核心是使用局部最優(yōu)的稀疏結(jié)構(gòu)取代原有的全連接方式[17],并利用稠密計算實現(xiàn)訓(xùn)練過程的加速。卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在構(gòu)建皮膚癌良惡性預(yù)測模型中,存在計算速度較慢、預(yù)測精度不高的問題[18-19]。
針對這些問題,本文在CIFAR-10網(wǎng)絡(luò)最后一個池化層與輸出層之間增加一個卷積層和池化層,通過增加網(wǎng)絡(luò)深度,更好地應(yīng)用于復(fù)雜的圖像分類任務(wù),提高分類準(zhǔn)確率,解決分類效果在輸出層和前一卷積層之間的受限問題。通過對比實驗采用ReLU激活函數(shù),使得網(wǎng)絡(luò)變得稀疏,大大減小了計算量,降低了過擬合問題。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)流程
CNN網(wǎng)絡(luò)常用的激活函數(shù)有ReLU、AbsVal和tanh,其中線性激活函數(shù)ReLU是目前使用最多的激活函數(shù),表達(dá)式如下:
其中x表示輸入值,ReLU函數(shù)是分段函數(shù),如果x大于0,輸出即保持原值,否則輸出為0。ReLU簡單地將閾值設(shè)置在零點,對輸入x值只進(jìn)行單邊計算,大大減小了計算量。對Mnist數(shù)據(jù)采用三種不同的激活函數(shù)進(jìn)行1 000次迭代訓(xùn)練,三種激活函數(shù)的損失值及運(yùn)算時間見表1??梢钥闯?,采用ReLU函數(shù)得到的損失值最小,且運(yùn)算時間最短,網(wǎng)絡(luò)最先達(dá)到收斂。
表1 不同激活函數(shù)損失值比較
SGD優(yōu)化訓(xùn)練數(shù)據(jù)集首先將其分成n個batch,每個batch包含m個樣本。當(dāng)訓(xùn)練數(shù)據(jù)太多時,利用整個數(shù)據(jù)集更新往往時間上不顯示。batch的方法可以減少計算機(jī)的壓力,并且可以更快收斂。每次更新利用一個batch的數(shù)據(jù)而非整個訓(xùn)練集,即:
其中Xt+1為當(dāng)前更新值,Xt為上一次的更新值,η為學(xué)習(xí)率,gt為X在t時刻的梯度。
本文基于Caffe深度學(xué)習(xí)平臺進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)的搭建和模型訓(xùn)練。該平臺由C++開發(fā),具備python、matlab以及命令行接口,且兼顧GPU與CPU的加速優(yōu)化與切換。本文采用公開數(shù)據(jù)集ISBI提供的900例有注釋的黑色素瘤數(shù)據(jù)。根據(jù)提供的CSV文件,數(shù)據(jù)分為良性和惡性兩類,如圖2所示。圖2(a)表示良性黑色素瘤,圖2(b)表示惡性黑色素瘤。
本文基于Caffe深度學(xué)習(xí)平臺,采用改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)方法,針對黑色素瘤數(shù)據(jù)對網(wǎng)絡(luò)進(jìn)行參數(shù)設(shè)置,對數(shù)據(jù)集進(jìn)行訓(xùn)練測試,并將其與他方法進(jìn)行比較。
圖2 黑色素瘤良惡性樣本
本文基于Caffe框架構(gòu)建的卷積神經(jīng)網(wǎng)絡(luò)模型實現(xiàn)皮膚癌良惡性識別的訓(xùn)練過程。實驗中,網(wǎng)絡(luò)模型的數(shù)據(jù)層、卷積層、池化層、全連接層參數(shù)配置具體如下。
網(wǎng)絡(luò)的輸入層即數(shù)據(jù)層,設(shè)置數(shù)據(jù)批處理大小batch_size為64。為了提高分類的有效性,將通道圖像像素進(jìn)行歸一化處理,設(shè)置scale為0.003 906 25。
卷積層設(shè)置濾波器權(quán)重學(xué)習(xí)率參數(shù)lr_mult為1,偏置學(xué)習(xí)率參數(shù)bias為2,bias設(shè)置為lr_mult的2倍。卷積核個數(shù)為32,步長為1,卷積核大小為5×5,填充為2,使用高斯分布隨機(jī)初始化卷積核,高斯分布標(biāo)準(zhǔn)差為0.001。
對于池化層,因為圖像的紋理特征對于圖像分類特征很重要,而最大值池化方法能夠更好地保留紋理特征,設(shè)置池化窗口大小為3×3,窗口滑動步長為2。
全連接層同卷積層形式一樣,輸出類別數(shù)和數(shù)據(jù)分類數(shù)目相同。本文黑色素瘤數(shù)據(jù)分為良、惡性兩類,設(shè)置輸出類別數(shù)為2。
本文采用SGD優(yōu)化方式進(jìn)行網(wǎng)絡(luò)訓(xùn)練,設(shè)置60 000次迭代訓(xùn)練,訓(xùn)練集樣本數(shù)5 606張,測試集1 002張,實驗結(jié)果如表2所示??梢钥闯?,基于改進(jìn)的CNN皮膚癌良惡性預(yù)測模型,最終分類精度訓(xùn)練集識別率達(dá)到91.92%,測試集識別率為89.5%。CNN和改進(jìn)的CNN迭代訓(xùn)練過程中Loss和Accuracy變化曲線如圖3所示,其中虛線表示準(zhǔn)確度變化,實線表示損失值變化。
表2 CNN預(yù)測皮膚癌良惡性識別率
圖3 CNN與改進(jìn)的CNN Loss下降和Accuracy上升過程
從圖3可以看出,改進(jìn)后的CNN與未改進(jìn)的CNN網(wǎng)絡(luò)在數(shù)據(jù)集上的預(yù)測精度與損失值的對比。改進(jìn)的CNN預(yù)測精度隨著迭代次數(shù)的增加穩(wěn)定上升,而CNN隨著迭代次數(shù)的增加,準(zhǔn)確度逐漸趨于穩(wěn)定。改進(jìn)的CNN由于在CIFAR-10網(wǎng)絡(luò)最后一個池化層與輸出層之間增加了一個卷積層和池化層,通過增加網(wǎng)絡(luò)深度,能夠更好地應(yīng)用于難以區(qū)分的黑色素瘤良惡性圖像分類任務(wù)中,提高了分類準(zhǔn)確率。
為了驗證改進(jìn)的CNN對于黑色素瘤數(shù)據(jù)識別的有效性[20-21],將本文方法與KNN、SVM等方法進(jìn)行比較。從表3可以看出,在訓(xùn)練集和測試集上改進(jìn)的CNN,對皮膚癌良惡性預(yù)測識別率均高于KNN、SVM方法。KNN、SVM等淺層學(xué)習(xí)方法主要適用于小樣本學(xué)習(xí),在數(shù)據(jù)量較大時識別率不高。
表3 改進(jìn)的CNN與KNN、SVM比較結(jié)果
本文在CIFAR-10結(jié)構(gòu)的基礎(chǔ)上,在網(wǎng)絡(luò)最后一個池化層與輸出層之間增加一個卷積層和池化層,構(gòu)建了基于深度卷積神經(jīng)網(wǎng)絡(luò)的皮膚癌良惡性預(yù)測模型。在黑色素瘤數(shù)據(jù)集上,改進(jìn)的CNN結(jié)構(gòu)對黑色素瘤良惡性預(yù)測準(zhǔn)確度比原始遷移模型CIFAR-10有一定提升。
本文基于卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建的皮膚癌良惡性預(yù)測模型,通過對黑色素瘤數(shù)據(jù)進(jìn)行擴(kuò)增,對CIFAR-10結(jié)構(gòu)層次進(jìn)行加深,選擇ReLU為激活函數(shù),采用SGD方法進(jìn)行網(wǎng)絡(luò)訓(xùn)練,實現(xiàn)了分類精度更高、收斂效果好的深度學(xué)習(xí)網(wǎng)絡(luò)。本文方法在黑色素瘤良惡性預(yù)測準(zhǔn)確度訓(xùn)練集達(dá)到91.92%,測試集達(dá)到89.5%,相對于其他方法取得了較好的分類效果。
后續(xù)工作中,將緊密結(jié)合臨床醫(yī)學(xué)相關(guān)知識,對初步建立的皮膚癌良惡性預(yù)測模型進(jìn)行不斷遷移和更新,進(jìn)而找到更加通用的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計方法。