汪友明, 徐攀峰
(西安郵電大學(xué) 自動(dòng)化學(xué)院, 陜西 西安 710121)
電子顯微鏡(電鏡)向固體樣本發(fā)射具有一定能量的電子束,與樣本原子的原子核和電子發(fā)生彈性和非彈性散射,激發(fā)樣本產(chǎn)生多種物理信號(hào),從而產(chǎn)生電鏡圖像。應(yīng)用于醫(yī)療領(lǐng)域的電鏡醫(yī)學(xué)圖像為疾病的診斷提供了科學(xué)的依據(jù),在疾病的診斷中起著舉足輕重的作用。
隨著技術(shù)的發(fā)展、患病人數(shù)的增長以及疾病種類的增多,使得電鏡醫(yī)學(xué)圖像數(shù)據(jù)呈爆炸式增長,大量的醫(yī)學(xué)圖像只有經(jīng)過科學(xué)地分類才能利用計(jì)算機(jī)技術(shù)對(duì)醫(yī)學(xué)圖像進(jìn)行分析、計(jì)算和處理,才能從醫(yī)學(xué)圖像中挖掘出蘊(yùn)含在圖像內(nèi)豐富的特征信息和規(guī)則,輔助醫(yī)生進(jìn)行臨床診斷。
近年來,隨著深度學(xué)習(xí)的提出,神經(jīng)網(wǎng)絡(luò)方法成為最常用的圖像分類方法之一[1]。針對(duì)人為設(shè)計(jì)模型的不完備性[2-4],深度學(xué)習(xí)采用機(jī)器學(xué)習(xí)的方式對(duì)數(shù)據(jù)進(jìn)行表征學(xué)習(xí)[5],將對(duì)圖像特征的學(xué)習(xí)融入到建立模型的過程中,通過構(gòu)建具有多隱層的網(wǎng)絡(luò)學(xué)習(xí)模型和訓(xùn)練大量數(shù)據(jù)樣本,來獲取有用的特征,從而提升圖像分類的準(zhǔn)確性。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)算法包含卷積計(jì)算且具有深度結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)(neural networks, NN),是深度學(xué)習(xí)(deep learning)的代表算法之一,近些年來被應(yīng)用于電鏡醫(yī)學(xué)圖像的分類之中,如分類霍亂和流行瘧疾的微觀圖像[6]、鼻腔細(xì)胞學(xué)制劑細(xì)胞圖像[7]、細(xì)胞圖像的分類與跟蹤[8]等?;蛘呃脤NN算法與遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)算法相結(jié)合的CNN-RNN圖像分類算法[9],實(shí)現(xiàn)醫(yī)學(xué)圖像分類。
CNN方法使用優(yōu)化器來計(jì)算和更新影響模型訓(xùn)練和輸出的各項(xiàng)網(wǎng)絡(luò)參數(shù),使其逐步逼近并達(dá)到最優(yōu)值,從而最小化或最大化損失函數(shù),以優(yōu)化網(wǎng)絡(luò)的更新迭代方式,提高迭代效率[10]。
常見的優(yōu)化器包括梯度下降算法優(yōu)化器、自適應(yīng)梯度算法優(yōu)化器、Adagrad、RMSProp和自適應(yīng)矩估計(jì)(adaptive moment estimation, Adam)算法優(yōu)化器等。Adam優(yōu)化器結(jié)合了AdaGrad和RMSProp兩種優(yōu)化算法的優(yōu)點(diǎn),能夠綜合考慮對(duì)梯度的一階矩估計(jì)(first moment estimation)和二階矩估計(jì)(second moment estimation)計(jì)算出更新步長。另外,Adam優(yōu)化器中的超參數(shù)具有很好的解釋性,通常無需調(diào)整或僅需很少的微調(diào),就能將更新的步長限制在一定的范圍內(nèi),十分適合應(yīng)用于大規(guī)模數(shù)據(jù)及參數(shù)的場(chǎng)景,是一種比較理想的大數(shù)據(jù)處理工具[11]。不過,當(dāng)待處理的圖像較多、較復(fù)雜時(shí),Adam優(yōu)化器存在著迭代曲線振蕩變化,收斂性能較差等問題[12]。
為了提高CNN方法處理電鏡醫(yī)學(xué)圖像的分類精度和算法的穩(wěn)定性,本文擬提出一種改進(jìn)的自適應(yīng)Adam優(yōu)化器方法。通過添加修正因子,以下降趨勢(shì)的冪指數(shù)學(xué)習(xí)率為基礎(chǔ),利用前一階段的梯度值與當(dāng)前階段梯度值進(jìn)行對(duì)比、調(diào)節(jié),更新和計(jì)算影響模型訓(xùn)練和模型輸出的網(wǎng)絡(luò)參數(shù),逼近網(wǎng)絡(luò)的最優(yōu)值。
CNN本質(zhì)上是一種輸入到輸出的映射。通過訓(xùn)練,CNN就會(huì)自動(dòng)獲得這種映射能力,而不需要推導(dǎo)精確的代數(shù)表達(dá)式。由于相同特征映射面上的神經(jīng)模塊間權(quán)值相同,所以網(wǎng)絡(luò)可以在并行模式下進(jìn)行學(xué)習(xí),這也是卷積神經(jīng)網(wǎng)絡(luò)相對(duì)其他網(wǎng)絡(luò)模型的一大優(yōu)勢(shì)[13]。
利用反向傳播算法以及有監(jiān)督的訓(xùn)練方式[14]訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),將網(wǎng)絡(luò)輸出結(jié)果與預(yù)先設(shè)定的標(biāo)簽進(jìn)行比較,計(jì)算并輸出誤差項(xiàng)。根據(jù)反向傳播的思想,將誤差逐層傳遞到每個(gè)結(jié)點(diǎn),并對(duì)權(quán)值進(jìn)行更新。通過不斷迭代訓(xùn)練,網(wǎng)絡(luò)的誤差項(xiàng)會(huì)越來越小,權(quán)值更新幅度也越來越小。當(dāng)權(quán)值逐漸趨于穩(wěn)定時(shí),就完成了網(wǎng)絡(luò)的訓(xùn)練任務(wù)[15]。
圖像都有其代表性的特征。從圖像某一區(qū)域?qū)W習(xí)到一些特征后,就可以將這些特征用作探測(cè)器,擴(kuò)展到所有區(qū)域中去,獲得不同區(qū)域的激活值。卷積操作的目的是提取樣本數(shù)據(jù)的輸入特征,第一卷積層通常只會(huì)提取一些初級(jí)的特征,如邊、線、角等基本層級(jí),多層卷積神經(jīng)網(wǎng)絡(luò)則會(huì)提取更復(fù)雜、更關(guān)鍵的特征。
卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示。
圖1 卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
在卷積神經(jīng)網(wǎng)絡(luò)中,圖像數(shù)據(jù)經(jīng)過卷積處理,能夠增加訓(xùn)練集的數(shù)量,提高數(shù)據(jù)的特征維數(shù),但是有可能導(dǎo)致維數(shù)災(zāi)難的發(fā)生[16]。為了改善這一問題,首先需要對(duì)卷積得到的特征圖進(jìn)行聚合池化處理。池化處理能夠在有效地降低輸出特征圖分辨率的同時(shí),仍然可以穩(wěn)定地保持著高分辨率時(shí)的特征。將經(jīng)過池化處理后圖像數(shù)據(jù)經(jīng)過全連接網(wǎng)絡(luò)[16]處理,就能夠利用權(quán)值矩陣將前面提取的局部特征重新組合成完整的圖像。全連接層的各個(gè)神經(jīng)模塊結(jié)點(diǎn)都與上一層輸出的特征圖中的神經(jīng)模塊結(jié)點(diǎn)相連接。其次,利用優(yōu)化器對(duì)全連接網(wǎng)絡(luò)處理后的圖像進(jìn)行處理,用以更新和計(jì)算影響模型訓(xùn)練和模型輸出的網(wǎng)絡(luò)參數(shù),使其逼近或達(dá)到最優(yōu)值。最后,將數(shù)據(jù)通過softmax分類器,并輸出相應(yīng)的分類結(jié)果。
Adam優(yōu)化器算法[17-19]基于訓(xùn)練數(shù)據(jù)迭代地更新神經(jīng)網(wǎng)絡(luò)權(quán)重,對(duì)隨機(jī)目標(biāo)函數(shù)執(zhí)行一階梯度優(yōu)化。Adam算法梯度的對(duì)角縮放具有不變性,適合求解帶有大規(guī)模數(shù)據(jù)或參數(shù),解決大噪聲和稀疏梯度的非穩(wěn)態(tài)問題。Adam優(yōu)化器的基本算法可以描述如下。
設(shè)定噪聲目標(biāo)函數(shù)ft(θ),它是參數(shù)θ在t期(第t次迭代)的隨機(jī)函數(shù)。為了減小該函數(shù)的期望大小,需要使用隨機(jī)性描述小批量樣本函數(shù)噪聲,計(jì)算目標(biāo)函數(shù)關(guān)于參數(shù)θ的梯度
gt=θft(θ)。
(1)
第t期梯度的指數(shù)移動(dòng)均值mt和平方梯度vt的表達(dá)式分別為
(2)
其中參數(shù)β1、β2∈[0, 1)代表制移動(dòng)均值指數(shù)的衰減率。在初始時(shí)間和衰減率很小的情況下,矩估計(jì)值會(huì)偏向0。
(3)
令初始化平方梯度均值為0,則平方梯度均值在第t期的更新表達(dá)式為
(4)
每迭代一步,都要更新參數(shù)θ的取值,θ的更新表達(dá)式為
(5)
其中:η為學(xué)習(xí)率,表示參數(shù)空間有效步長的量級(jí);ε=10-8表示一個(gè)常數(shù)參量。通過參數(shù)更新,實(shí)現(xiàn)算法迭代,使得目標(biāo)函數(shù)逐步向最優(yōu)取值收斂。
Adam優(yōu)化器算法中,修正了一階矩到非中心的二階矩估計(jì),減小了偏置量,但在對(duì)復(fù)雜、大規(guī)模的電鏡圖像分類處理中,該算法迭代曲線振蕩變化較劇烈,收斂性能較差。
圖像預(yù)處理是將圖像數(shù)據(jù)經(jīng)過一些簡單的處理后再交給識(shí)別模塊識(shí)別。圖像預(yù)處理的主要目的是減少或消除圖像中無關(guān)的信息,恢復(fù)有用的真實(shí)信息,增強(qiáng)有效信息的可檢測(cè)性,最大限度地簡化數(shù)據(jù)特征,從而改進(jìn)后續(xù)處理中數(shù)據(jù)特征提取、圖像識(shí)別、圖像分割的可靠性。本文采用高斯濾波方法去除圖像噪聲。
模型訓(xùn)練是指獲得實(shí)驗(yàn)數(shù)據(jù)后,通過對(duì)有標(biāo)簽數(shù)據(jù)進(jìn)行訓(xùn)練,獲得一個(gè)模型,然后通過構(gòu)建的模型,給新數(shù)據(jù)添加上特定標(biāo)簽的過程。在分類實(shí)驗(yàn)中,給新數(shù)據(jù)加上了特定的標(biāo)簽,就得到了它的類別屬性。
CNN圖像分類是在對(duì)原始圖像信息進(jìn)行計(jì)算的基礎(chǔ)上完成的。原始圖像通過卷積、池化層的特征提取,通過訓(xùn)練得到輸入輸出間的映射關(guān)系,它是原始圖像到類別分值的一種映射。
采用損失函數(shù)來衡量訓(xùn)練效果的指標(biāo)。通過計(jì)算損失函數(shù)[20],可以得到計(jì)算結(jié)果與設(shè)定標(biāo)簽之間的誤差,用來量化預(yù)測(cè)分類標(biāo)簽與設(shè)定標(biāo)簽之間的一致性。
應(yīng)用交叉熵?fù)p失函數(shù)判斷預(yù)測(cè)取值與目標(biāo)取值之間的距離。交叉熵?fù)p失函數(shù)[20]的表達(dá)式為
Loss=-[ylogy+(1-y) log (1-y)]。
(6)
損失函數(shù)的計(jì)算可以轉(zhuǎn)化為一個(gè)優(yōu)化問題,可以通過最小化損失函數(shù)值來匹配分類標(biāo)簽,得到分類結(jié)果。
使用Adam優(yōu)化器可以達(dá)到更高的訓(xùn)練精度,但是在訓(xùn)練初期,迭代結(jié)果存在較劇烈的振蕩,魯棒性較差。合理地調(diào)節(jié)參數(shù),就能夠在一定范圍內(nèi)更好地反映樣本的收斂特性。
在樣本訓(xùn)練過程中發(fā)現(xiàn),模型的收斂趨勢(shì)接近冪指數(shù)函數(shù)變化特點(diǎn)。本文給學(xué)習(xí)率添加一個(gè)修正因子,以下降趨勢(shì)的冪指數(shù)[21]學(xué)習(xí)率為基礎(chǔ),利用上一階段的梯度值對(duì)其進(jìn)行調(diào)節(jié),達(dá)到自適應(yīng)調(diào)節(jié)的要求,進(jìn)而改變網(wǎng)絡(luò)模型的收斂性能。
冪指數(shù)學(xué)習(xí)率為
η=η0m-k。
(7)
其中:η0表示初始學(xué)習(xí)率,本文取η0=0.1;m表示迭代中間量,由迭代次數(shù)和最大迭代次數(shù)確定;k表示超參數(shù),其計(jì)算公式為
(8)
其中:λi表示第i次迭代過程中的步長變化率;q為固定常數(shù),一般取值為0.75。
結(jié)合梯度更新變化公式,可得第t次迭代學(xué)習(xí)率更新公式為
(9)
其中:R為最大迭代次數(shù);Lt為第t次迭代梯度值lt和t-1梯度值lt-1的平方和;ε為衰減因子,取值為0.999 9;K為常數(shù)項(xiàng),取值為1??梢钥闯?,本文對(duì)學(xué)習(xí)率的改進(jìn)是在前一階段學(xué)習(xí)率取值的基礎(chǔ)上,利用當(dāng)前階段的梯度值lt自適應(yīng)調(diào)節(jié)。
從某醫(yī)院128 772幅臨床病理電鏡人體組織圖像數(shù)據(jù)庫中抽取電鏡圖像作為實(shí)驗(yàn)對(duì)象。該數(shù)據(jù)庫包括35 253幅包含原子亮點(diǎn)的陽性圖像、93 519幅不含原子亮點(diǎn)的陰性圖像,分別從兩個(gè)數(shù)據(jù)庫中隨機(jī)抽取3 000幅圖像數(shù)據(jù)進(jìn)行模型訓(xùn)練。
使用包含輸入層、2組由卷積層和池化層交錯(cuò)連接構(gòu)成的隱含層、優(yōu)化器、Softmax分類器以及輸出層卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行實(shí)驗(yàn)。
采用基于Google開發(fā)的深度學(xué)習(xí)開源框架TensorFlow作為研究平臺(tái),應(yīng)用Intel(R) Core(TM) i5-8337U CPU@2.8 GHz進(jìn)行實(shí)驗(yàn)。
選取圖像樣本作為輸入進(jìn)行訓(xùn)練,為了保證圖像特征不丟失,并增強(qiáng)目標(biāo)特征的表現(xiàn),需要對(duì)樣本作預(yù)處理。
電鏡圖像中存在與目標(biāo)特征無關(guān)的噪聲因素,可能在傳輸中產(chǎn)生,也可能在量化等處理中產(chǎn)生,會(huì)對(duì)網(wǎng)絡(luò)的訓(xùn)練產(chǎn)生一定的干擾,甚至可能導(dǎo)致訓(xùn)練結(jié)果不收斂。需要對(duì)整幅圖像進(jìn)行檢測(cè)、對(duì)齊、歸一化等處理,增強(qiáng)圖像中的目標(biāo)特征,去除噪聲信息。
本文從數(shù)據(jù)庫中隨機(jī)抽取部分圖像作為實(shí)驗(yàn)樣本。利用圖像分割技術(shù)得到單獨(dú)原子圖像,電子顯微鏡拍攝原圖如圖2所示,通常可以分為兩類,表示有或無原子存在。
圖2 電子顯微鏡拍攝的原圖
需要對(duì)電子顯微鏡拍攝的原圖進(jìn)行濾波處理。處理效果的好壞將直接影響到后續(xù)圖像處理和分析的有效性和可靠性。電鏡圖像經(jīng)高斯濾波處理后的效果如圖3所示。可以看到,經(jīng)過處理的圖像,在盡量保留圖像細(xì)節(jié)特征的條件下對(duì)目標(biāo)圖像的噪聲進(jìn)行消除,經(jīng)過處理的圖像,其周圍的噪聲點(diǎn)有了很大的抑制。
圖3 電鏡圖像濾波處理效果
對(duì)經(jīng)過濾波處理后的電鏡圖像,需要進(jìn)行歸一化處理。經(jīng)過歸一化處理,可以降低外在干擾因素對(duì)圖像的影響,減小不確定性。歸一化處理后的圖像處理效果如圖4所示。可以看出圖像經(jīng)過歸一化處理后更加平滑、整潔。接下來,對(duì)圖像進(jìn)行裁剪變換,去除其在數(shù)據(jù)分析上無意義的點(diǎn)。
圖4 映射變換效果圖
經(jīng)過上述處理后的電鏡圖像已經(jīng)具備了進(jìn)行訓(xùn)練的能力。
采用改進(jìn)Adam優(yōu)化器算法優(yōu)化器對(duì)電鏡數(shù)據(jù)集進(jìn)行訓(xùn)練,并在學(xué)習(xí)率η分別為0.000 1、0.001和0.01等3種條件下與其他5種優(yōu)化器進(jìn)行對(duì)比實(shí)驗(yàn)。
本文采用分類準(zhǔn)確率[22]評(píng)價(jià)不同分類模型對(duì)無標(biāo)簽數(shù)據(jù)正確分類的概率,區(qū)分無標(biāo)簽數(shù)據(jù)中是否含有原子。數(shù)據(jù)中含有原子的主要特征是指一張圖像中含有一個(gè)完整原子亮點(diǎn),或者含有一個(gè)完整原子的絕大部分,則將其視為有原子的數(shù)據(jù),否則視為無原子的數(shù)據(jù)。
由于學(xué)習(xí)率對(duì)網(wǎng)絡(luò)的分類精度、收斂效果都有影響,因此,本文對(duì)不同學(xué)習(xí)率條件下的算法優(yōu)化器性能進(jìn)行次測(cè)試。每次實(shí)驗(yàn)迭代2 000代,不同學(xué)習(xí)率訓(xùn)練下的損失函數(shù)曲線如圖5所示。
圖5 不同學(xué)習(xí)率訓(xùn)練下的損失函數(shù)曲線
可以看出,學(xué)習(xí)率設(shè)定對(duì)迭代訓(xùn)練的結(jié)果影響明顯,在不同的學(xué)習(xí)率設(shè)定下,優(yōu)化器算法的收斂性能通常會(huì)有較大的區(qū)別。如圖5(a)所示,學(xué)習(xí)率較低時(shí),網(wǎng)絡(luò)參數(shù)更新較慢,損失函數(shù)曲線往往在1 500代以后才會(huì)開始收斂,收斂速度較慢;在圖5(c)中,當(dāng)學(xué)習(xí)率較大時(shí),網(wǎng)絡(luò)參數(shù)更新較快,損失函數(shù)曲線通常在500代左右就已經(jīng)開始收斂,收斂速度有了顯著提高。
在相同實(shí)驗(yàn)條件下,改變數(shù)據(jù)集規(guī)模,在6 000張圖像的基礎(chǔ)上依次增加100張,對(duì)訓(xùn)練樣本進(jìn)行15次實(shí)驗(yàn),觀察并記錄實(shí)驗(yàn)結(jié)果,不同算法優(yōu)化器平均分類精度實(shí)驗(yàn)結(jié)果對(duì)比如表1所示。
表1 6種算法優(yōu)化器平均分類精度實(shí)驗(yàn)結(jié)果對(duì)比
觀察表1可知,本文改進(jìn)算法在不同數(shù)據(jù)集規(guī)模的樣本上進(jìn)行實(shí)驗(yàn),最大分類精度可達(dá)92.3%,分類精度均大于其他算法。并且,隨著數(shù)據(jù)規(guī)模的增大,本文方法分類精度的波動(dòng)較小。具有比其他優(yōu)化器更理想的分類效果。
對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行穩(wěn)定性判別。判別依據(jù)是對(duì)15次實(shí)驗(yàn)中的每次實(shí)驗(yàn)每隔100代讀取一次數(shù)據(jù)計(jì)算其損失函數(shù)方差的大小,損失函數(shù)方差的計(jì)算公式為
(12)
不同算法相同迭代階段損失函數(shù)方差如表2所示??梢钥闯觯谙嗤A段,本文改進(jìn)算法的損失函數(shù)的偏差更小,表現(xiàn)更加穩(wěn)定。
表2 6算法相同迭代階段損失函數(shù)方差(×10-4)
15次實(shí)驗(yàn)中,不同算法收斂點(diǎn)迭代次數(shù)如表3所示。
可以看出,本文改進(jìn)算法到達(dá)收斂點(diǎn)所需的迭代次數(shù)更少,迭代速度更快。
表3 不同算法收斂點(diǎn)迭代次數(shù)
3.3分類精度
采用接受者操作性能(receiver operating characteristic, ROC)[23]曲線分析圖像的分類精度。ROC曲線又稱為感受性曲線,描述在特定刺激條件下?lián)糁懈怕?true positive rate, TPR)與虛報(bào)概率(false positive rate, FPR)的關(guān)系。在ROC曲線中,曲線與坐標(biāo)軸間所圍圖形下方面積被稱為AUC(area under curve)值,AUC的取值反映了算法分類準(zhǔn)確性程度,取值范圍為0.5~1,AUC與準(zhǔn)確性的關(guān)系如表4所示。
表4 AUC取值與準(zhǔn)確性對(duì)照表
實(shí)驗(yàn)得到幾種不同優(yōu)化器作用下的ROC曲線如圖6所示。
圖6 不同優(yōu)化器的ROC曲線
經(jīng)過計(jì)算、對(duì)比幾種優(yōu)化器分類的AUC值可以發(fā)現(xiàn),Gradient Descent優(yōu)化器的分類特性最差;改進(jìn)Adam優(yōu)化器的AUC取值介于0.9~1之間,分類特性最好,相比Adam優(yōu)化器分類有了較大提高,分類精度較好。
針對(duì)CNN方法應(yīng)用Adam優(yōu)化器算法分類圖像時(shí)存在的迭代曲線振蕩劇烈、收斂性能較差等問題,提出了一種Adam優(yōu)化器的改進(jìn)方法。該方法采用具有下降趨勢(shì)的冪指數(shù)學(xué)習(xí)率改進(jìn)策略,通過添加修正因子,將上一階段的梯度值與當(dāng)前梯度值進(jìn)行對(duì)比、調(diào)節(jié),逐次更新學(xué)習(xí)率的大小,實(shí)現(xiàn)優(yōu)化器學(xué)習(xí)率的自適應(yīng)變化。實(shí)驗(yàn)結(jié)果表明,改進(jìn)算法最大分類精度可以到達(dá)92.3%,并且與原有算法相比,加快模型的收斂速度,增加算法的分類穩(wěn)定性。