張劍飛,崔文升,王 真,杜曉昕
(齊齊哈爾大學(xué)計算機與控制工程學(xué)院,齊齊哈爾 161006)
據(jù)數(shù)據(jù)統(tǒng)計中國淋巴瘤患病率具有逐年遞增的趨勢并對人們生活產(chǎn)生了許多不利的影響,因此對于該疾病確診精度的提升有著重要的社會意義和實用價值[1]。在傳統(tǒng)淋巴癌診斷的過程中,主要由相關(guān)領(lǐng)域的醫(yī)師結(jié)合自身經(jīng)驗、醫(yī)療設(shè)備和化驗結(jié)果等多方面因素進行決策,具有摻雜一定的主觀性和多種不確定因素的問題,與此同時在患病人數(shù)不斷增加和醫(yī)療設(shè)備匱乏的條件下,很大程度會出現(xiàn)誤診和漏診的問題[2]。隨著計算機軟硬件不斷的更新?lián)Q代以及以數(shù)據(jù)驅(qū)動為基礎(chǔ)深度學(xué)習(xí)算法的飛速發(fā)展,深度學(xué)習(xí)算法在醫(yī)學(xué)輔助診斷分析中的應(yīng)用已成為了模式識別和人工智能領(lǐng)域研究的熱點之一[3-4]。將深度學(xué)習(xí)方法用于醫(yī)學(xué)數(shù)據(jù)輔助診斷上,不僅可以挽救無數(shù)患者生命,而且對降低醫(yī)療成本也具有重要的現(xiàn)實意義。為此,中外研究人員進行大量的研究工作,唐思源等[5]采用深度卷積神經(jīng)網(wǎng)絡(luò)模型對來自肺影像數(shù)據(jù)庫(LIDC)中的1 018組肺部病理圖像中的肺結(jié)節(jié)進行了檢測和分類,取得了良好的進展;王亞平等[6]基于深度卷積神經(jīng)網(wǎng)絡(luò)用于人體周血白細胞的分類識別并給出了一種基于特征集數(shù)據(jù)增強方法,最終通過8 400組進行模型泛化能力的評估,達到了95%平均分類正確率;褚晶輝等[7]通過使用一次、二次遷移學(xué)習(xí)分別對公開的乳腺X光DDSM和MRI數(shù)據(jù)集提取特征,并使用支持向量機作為分類器實現(xiàn)了CAD系統(tǒng)。
目前主流的網(wǎng)絡(luò)模型在非霍奇金淋巴瘤輔助診斷方面具有較低的適用性,為此本文給出了增強的LetNet-5模型用于非霍奇金淋巴瘤輔助診斷,對LetNet-5模型進行了如下改進:加強了卷積特征提取的強度和密度;調(diào)整了部分模型的超參數(shù)配置和網(wǎng)絡(luò)結(jié)構(gòu);使用全局平均池化層代替了全連接層。
在1988年LetNet-5網(wǎng)絡(luò)模型被首次提出,作為首個卷積神經(jīng)網(wǎng)絡(luò)被用于手寫字體的自動識別上并達到了95%以上的正確識別率[8]。LetNet-5網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示。
圖1 LetNet-5網(wǎng)絡(luò)模型Fig.1 LetNet-5 network model
圖1中LetNet-5模型包含6層網(wǎng)絡(luò)結(jié)構(gòu),主要由輸入層、2組卷積池化組合層、2組全連接層和輸出層組成,為之后設(shè)計功能更為強大優(yōu)秀模型提供了有價值的參考。在LetNet-5模型中,輸入圖像規(guī)格為32×32×1,其中32為數(shù)據(jù)集樣本圖像像素的長和寬,1代表RGB顏色通道中的灰度通道。在卷積和池化過程中LetNet-5未使用零填充,因此圖像規(guī)格會遵循式(1)的計算規(guī)則逐漸減少[9]。
N=(O-C)/S+1
(1)
式(1)中:N為現(xiàn)在輸出圖像規(guī)格;O為輸入圖像規(guī)格;C為卷積核或池化規(guī)格;S為卷積核或池化移動的步長。LetNet-5模型中每層之間的激活函數(shù)為SIGMOID,池化層的類型為平均池化層,在2012年ALEXNET被提出后,在深度卷積神經(jīng)網(wǎng)絡(luò)中很少使用SIGMOID作為激活函數(shù),為了獲得良好的效果,將SIGMOID全部替換為RELU[10]。
所使用數(shù)據(jù)集為網(wǎng)絡(luò)公開的非霍奇金淋巴瘤數(shù)據(jù)集,該數(shù)據(jù)包括慢性淋巴細胞白血病(chronic lymphocytic leukemia,CLL)、濾泡淋巴瘤(follicular lymphoma,F(xiàn)L)和地幔細胞淋巴瘤(mantle cell lymphoma,MCL)三類,數(shù)據(jù)集更為詳細的介紹請訪問數(shù)據(jù)集的官方網(wǎng)址http://www.andrewjanowczyk.com/deep-learning/。三種淋巴瘤樣本例圖如圖2所示。
淋巴瘤數(shù)據(jù)集共包含374張病理圖像,每組圖像像素規(guī)格為1 388×1 040×3。首先將獲取的數(shù)據(jù)集先分割為訓(xùn)練集和測試集,再從訓(xùn)練集中分割出驗證集,其中訓(xùn)練集、驗證集和測試集三者之間的比例為0.72∶0.08∶0.2,三者具體數(shù)量分別為269、30和75。訓(xùn)練集是用來訓(xùn)練網(wǎng)絡(luò)中的權(quán)重和偏置,進而提升網(wǎng)絡(luò)性能;驗證集是用來評估模型中超參配置的合理性;測試集評估模型泛化能力的強弱。研究的數(shù)據(jù)圖像規(guī)格過大且數(shù)量過少不適合使用深度學(xué)習(xí)算法進行研究,同時如圖2所示淋巴瘤樣本圖像不具有感興趣區(qū)域,可以根據(jù)實際需求進行不同比例圖像分割操作。為了提升淋巴瘤的輔助診斷效果,將數(shù)據(jù)圖像以步長為48像素切分為規(guī)格為48×48×3,接著對切分后的數(shù)據(jù)集中訓(xùn)練集、驗證集和測試集的類分布和數(shù)量進行了統(tǒng)計,如表1所示。
表1 切分后各數(shù)據(jù)集類分布Table 1 Distribution of data sets after segmentation
如表1所示可知,切分后數(shù)據(jù)集總數(shù)量將近20萬并且在訓(xùn)練集、驗證集和測試集中每類樣本數(shù)量分布較為均勻。接著對數(shù)據(jù)集進行歸一化預(yù)處理操作,將數(shù)據(jù)范圍壓縮至-1~1,計算公式為
(2)
本文方法是基于PC端Win10操作系統(tǒng)進行模型的設(shè)計和系統(tǒng)的開發(fā),主要軟硬件環(huán)境為PyChram-2018、Python3.5.0、CUDA9.0、CUDNN7.0、Tensorflow-GPU=1.5.0、Anaconda3.5、Keras-GPU版本、4G GTX1050Ti GPU和16G Intel-i7-8750H CPU。
圖2 淋巴瘤樣本Fig.2 Lymphoma sample illustration
2.2.1 LetNet-5算法
LetNet-5模型為現(xiàn)今多數(shù)網(wǎng)絡(luò)模型的雛形,其中包括卷積層、非線性映射層、平均池化層和全連接層,總訓(xùn)練網(wǎng)絡(luò)參數(shù)約為44 190,相比使用神經(jīng)網(wǎng)絡(luò)搭建模型的參數(shù)量有著明顯的降低并且泛化能力也較強[11]。LetNet-5模型結(jié)構(gòu)如表2所示。
模型中的超參數(shù)不是所訓(xùn)練的常規(guī)參數(shù),需要人工根據(jù)經(jīng)驗進行配置并對模型最終的性能有著至關(guān)重要的作用。LetNet-5模型超參數(shù)配置情況如表3所示。
表2 LetNet-5模型結(jié)構(gòu)Table 2 LetNet-5 model structure
表3 LetNet-5模型超參數(shù)配置情況Table 3 LetNet-5 model hyperparameter configuration
接著,采用KERAS搭建網(wǎng)絡(luò)模型并將數(shù)據(jù)輸入至網(wǎng)絡(luò)模型中進行訓(xùn)練和評估,其中輸入圖像規(guī)格為48×48×3,輸出層神經(jīng)元數(shù)目設(shè)置為3。隨著迭代次數(shù)的增加,訓(xùn)練集和驗證集準確率和損失變化曲線如圖3所示。
TA代表訓(xùn)練集準確率;EA代表驗證集準確率;TL代表訓(xùn)練集損失值;EL代表驗證集損失值圖3 LetNet-5 準確率和損失函數(shù)變化曲線Fig.3 LetNet-5 accuracy and loss function curve
在30次迭代期內(nèi),模型收斂速度較慢并且準確率有著逐步提升的趨勢,訓(xùn)練集和驗證集的擬合效果較好,但驗證集最好的分類識別率為76%左右,得出了LetNet-5模型在30次迭代期內(nèi)對于該疾病輔助診斷效果具有較低的適用性結(jié)論,為此對LetNet-5模型網(wǎng)絡(luò)結(jié)構(gòu)的深度和廣度進行增強操作并對部分超參數(shù)和模型結(jié)構(gòu)進行調(diào)整。
2.2.2 增強的LetNet-5算法
對LetNet-5模型的特征提取能力和泛化能力進行了增強,使其能在30次迭代次數(shù)內(nèi)對淋巴瘤具有更好的輔助診斷效果且模型收斂速度更快,具體進行了如下幾點改進。
(1) 增加原各層卷積核數(shù)量,減少卷積核規(guī)格并額外添加一組卷積池化組合。
(2) 將原有卷積和池化層的填充方式設(shè)置為零填充。
(3) 將平均池化層替換為最大池化層。
(4) 通過使用全局平均池化層來代替原有的全連接和平鋪層[12]。
改進點1加大了卷積層特征提取的強度和密度,使得能獲取到利于分類的高級特征;改進點2避免在特征提取的過程中因填充方式的不合理設(shè)置導(dǎo)致過多信息的丟失;改進點3有效解決了因平均池化層使得特征映射圖模糊化的問題;改進點4通過全局平均池化層能有效地保留圖像的空間特征,代替了全連接層,同時降低模型擬合參數(shù)量,有效提升了模型的泛化能力。增強LetNet-5的模型參數(shù)配置和模型結(jié)構(gòu)設(shè)計由多次的實驗得出,因?qū)嶒灤螖?shù)過多無法將其全部展現(xiàn)出來,將最終增強后的網(wǎng)絡(luò)模型結(jié)構(gòu)進行展示,如表4所示。
不僅對LetNet-5的模型結(jié)構(gòu)進行調(diào)整,而且對部分超參數(shù)配置也進行修改,將優(yōu)化器由SGD調(diào)整為主流調(diào)優(yōu)器Adam,將學(xué)習(xí)速率由10-3調(diào)整為10-4,其他超參數(shù)配置與表3相同,將數(shù)據(jù)輸入至增強的LetNet-5模型中進行30次的迭代訓(xùn)練,訓(xùn)練集和驗證集的準確率和損失值變化情況如圖4所示。
將測試集分別輸入至已訓(xùn)練完畢的LetNet-5和增強后的LetNet-5模型中進行預(yù)測和評估同時對每種類別的準確率進行統(tǒng)計,結(jié)果如表5所示。
表4 增強的LetNet-5模型結(jié)構(gòu)Table 4 Enhanced LetNet-5 model structure
TA代表訓(xùn)練集準確率;EA代表驗證集準確率;TL代表訓(xùn)練集損失值;EL代表驗證集損失值圖4 增強LetNet-5準確率和損失值變化曲線Fig.4 Accuracy and loss curve of Enhance LetNet-5
表5 模型增強前后各類準確率Table 5 Various types of accuracy before and after model enhancement
由表5所示,增強的LetNet-5在各類識別率有著顯著的提升,特別是在慢性淋巴細胞白血病該類上,準確率提升了25.16%,較原始LetNet-5多出了4 272個正確識別的樣本。地幔細胞淋巴瘤得識別準確率達到了97.99%,其中該類總體數(shù)量為11 172個,識別正確數(shù)量為10 947,僅識別錯誤225組樣本。通過提高模型的特征提取強度和使用全局平均池化層取代全連接層,提高了LetNet-5在該類疾病輔助診斷的適用性。
2.3.1 泛化能力驗證
驗證模型泛化能力強弱的最好方式是在具有相同概率分布基礎(chǔ)上,使用小樣本數(shù)據(jù)集去訓(xùn)練模型,接著使用大樣本數(shù)據(jù)對模型性能進行評估。將訓(xùn)練集和測試集兩者互相調(diào)換,此時訓(xùn)練集、驗證集和測試集三者之間的比例為0.2∶0.16∶0.64,即通過4×104樣本訓(xùn)練模型對近16×104樣本進行預(yù)測。將訓(xùn)練集輸入至增強的LetNet-5網(wǎng)絡(luò)模型中進行訓(xùn)練,訓(xùn)練完畢之后將驗證集和測試集輸入至模型中進行評估,隨著迭代次數(shù)的增加,準確率和損失值的變化曲線如圖5所示。
圖5中,在30次迭代內(nèi),因訓(xùn)練集數(shù)量很小出現(xiàn)的過擬合問題是不可避免的。在準確率變化曲線上,驗證集的準確率已經(jīng)有著收斂的趨勢,正確識別率在65%左右。在損失變化曲線上,驗證集的損失值有逐漸上升的趨勢,該現(xiàn)象是網(wǎng)絡(luò)過擬合所導(dǎo)致的問題。將測試集輸入至該模型中進行評估,得到的評估結(jié)果如表6所示。
TA代表訓(xùn)練集準確率;EA代表驗證集準確率;TL代表訓(xùn)練集損失值;EL代表驗證集損失值圖5 增強后泛化能力驗證結(jié)果Fig.5 Enhanced generalization ability verification result
表6 測試集中各類識別結(jié)果Table 6 Various types of recognition results in the test set
表5中,發(fā)現(xiàn)模型在濾泡淋巴瘤的泛化能力較強,達到了83.94%的準確率并且在慢性淋巴細胞白血病分類識別上超越了原始LetNet-5模型,在測試集的準確率與原始LetNet-5模型相差2%的識別精度,由此證明了本文模型具有良好泛化能力。
2.3.2 模型穩(wěn)定性驗證
交叉驗證是將數(shù)據(jù)集分割成n組,其中n-1組的數(shù)據(jù)作為訓(xùn)練集,1組作為驗證集,進行n次循環(huán)實驗(如果n等于數(shù)據(jù)集數(shù)量,則為留一法,否則為K折交叉驗證)[13]。交叉驗證是一種驗證模型穩(wěn)定性的常用方法,可以有效避免模型處于局部最優(yōu)。采用5折交叉驗證,將數(shù)據(jù)集分成5份,其中約300組為訓(xùn)練集,約75組為測試集。以步長為48像素對數(shù)據(jù)集進行切分操作,將數(shù)據(jù)切分為含有176 988組訓(xùn)練集和42 924組測試集的不同5種數(shù)據(jù)集用于增強的LetNet-5穩(wěn)定性驗證,其中5折交叉驗證模型結(jié)構(gòu)與參數(shù)配置與增強的LetNet-5模型相同,實驗結(jié)果如表7所示。
表7中,每折交叉驗證的識別準確率都在90%左右并且正確識別率均值為91.20%。該結(jié)果與增強LetNet-5的準確率91.30%差值為0.1%,經(jīng)過交叉驗證充分證明了增強LetNet-5模型的穩(wěn)定性,同時也反映出本文實驗在數(shù)據(jù)采樣的科學(xué)性。
表7 5折交叉驗證結(jié)果Table 7 5 of fold cross validation result
在LetNet-5的基礎(chǔ)上給出了增強的LetNet-5模型用非霍奇金淋巴瘤輔助診斷。通過實驗得出以下結(jié)論。
(1)相比于原始LetNet-5模型,增強后的模型具有更高的分類精度、更快的模型收斂速度。
(2)增強后的LetNet-5具有良好的穩(wěn)定性和泛化能力。
在今后的研究中,將嘗試采用深度學(xué)習(xí)中遷移學(xué)習(xí)對非霍奇金淋巴瘤數(shù)據(jù)集進行預(yù)訓(xùn)練操作,進一步改善該疾病的輔助診斷效果。綜上所述,為淋巴瘤的輔助診斷提供了較好的研究思路和方法,提升了LetNet-5用于B細胞淋巴瘤輔助診斷的適用性并一定程度提高該病的確診效率和精度,具有實用價值和臨床意義。