楊昌正
(南開(kāi)大學(xué) 統(tǒng)計(jì)與數(shù)據(jù)科學(xué)學(xué)院,天津 300071)
近年來(lái),皮膚惡性腫瘤愈發(fā)常見(jiàn),患皮膚癌的人越來(lái)越多。據(jù)統(tǒng)計(jì),美國(guó)每年皮膚癌導(dǎo)致的死亡人數(shù)超過(guò)10 000人,對(duì)人們的生命健康造成了巨大的威脅[1],如果能夠在早期發(fā)現(xiàn)并及時(shí)治療將令患者獲得較高的存活率。早期的皮膚惡性腫瘤診斷基本依賴于醫(yī)師的視覺(jué)偵察,即主觀判斷,但部分皮膚惡性腫瘤分型的臨床表現(xiàn)非常接近,且觀察者的主觀判斷存在差異,即使是經(jīng)驗(yàn)豐富的專(zhuān)家也會(huì)存在誤診的可能性,而深度學(xué)習(xí)在一定程度上解決了這個(gè)問(wèn)題。其利用計(jì)算機(jī)視覺(jué)輔助技術(shù),搭配醫(yī)學(xué)診斷任務(wù),將皮膚癌圖像與該技術(shù)相結(jié)合。目前,人工智能手段輔助診斷皮膚癌已取得了階段性的成果。但用于皮膚癌圖像識(shí)別的網(wǎng)絡(luò)模型過(guò)于龐大,其時(shí)間與空間成本往往無(wú)法滿足快捷高效的診斷要求及遠(yuǎn)程醫(yī)療要求。本研究提出了一種基于輕量級(jí)神經(jīng)網(wǎng)絡(luò)的皮膚癌圖像識(shí)別方法,將皮膚癌病理圖像分為AKIEC、BCC、BKL、DF、MEL、NV、VASC七類(lèi)。該方法在提高訓(xùn)練效率、降低模型大小的同時(shí)保持了較高的精度,使其能夠應(yīng)用于多種移動(dòng)設(shè)備及嵌入式設(shè)備,可滿足臨床診斷及遠(yuǎn)程醫(yī)療的需要。
近幾年,隨著深度學(xué)習(xí)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(CNN)在計(jì)算機(jī)視覺(jué)領(lǐng)域取得了重大成果,多種卷積神經(jīng)網(wǎng)絡(luò)模型相繼出現(xiàn)(如Alex Net、Dense Net、Google Net、Res Net、Mobile Net 及Efficient Net等)。在皮膚癌圖像識(shí)別中,CNN取得了突破性成果。Ganster[2]等將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于皮膚癌MEL分類(lèi)中,利用卷積神經(jīng)網(wǎng)絡(luò)提取特征并進(jìn)行MEL識(shí)別。Kawahara[3]等提出了基于AlexNet的完全卷積神經(jīng)網(wǎng)絡(luò)來(lái)提取MEL代表性特征。Li Y[4]等利用ResNet,將皮膚癌三分類(lèi)問(wèn)題化為兩個(gè)二分類(lèi)問(wèn)題來(lái)處理,在ISIC2017比賽中得到了很好的效果,但該模型無(wú)法處理多分類(lèi)問(wèn)題。皮膚癌圖像分類(lèi)研究存在著以下問(wèn)題:傳統(tǒng)神經(jīng)網(wǎng)絡(luò)過(guò)于復(fù)雜,參數(shù)量與計(jì)算量較大,訓(xùn)練往往需要耗費(fèi)大量的時(shí)間與空間,部分情境下難以滿足實(shí)際需求,有時(shí)訓(xùn)練樣本較少,這些參數(shù)多模型復(fù)雜的神經(jīng)網(wǎng)絡(luò)很容易出現(xiàn)過(guò)擬合現(xiàn)象,故將皮膚癌圖像識(shí)別方法應(yīng)用于便攜的嵌入式設(shè)備中或用于手機(jī)等移動(dòng)設(shè)備,實(shí)現(xiàn)遠(yuǎn)程醫(yī)療,使醫(yī)生在臨床診斷中方便地做出判斷,這已成為人們的研究熱點(diǎn)。
采用的數(shù)據(jù)集來(lái)自于kaggle的ISIC2018數(shù)據(jù)集,即國(guó)際皮膚成像協(xié)會(huì)在2018年發(fā)布的經(jīng)過(guò)皮膚科專(zhuān)家標(biāo)注的10 015張彩色皮膚鏡圖像[5],包括七類(lèi)皮膚癌分型,其圖片分辨率大小為600×450。圖像類(lèi)別及數(shù)量分布如表1所示。
表1 ISIC2018數(shù)據(jù)集病變分類(lèi)及數(shù)量
數(shù)據(jù)集中7種病變圖像數(shù)量分布十分不均衡,模型在學(xué)習(xí)過(guò)程中往往會(huì)給含有多數(shù)圖像的類(lèi)別更多的權(quán)重,這導(dǎo)致分類(lèi)訓(xùn)練過(guò)程中分類(lèi)器會(huì)將少數(shù)類(lèi)分類(lèi)給多數(shù)類(lèi),令實(shí)驗(yàn)結(jié)果不佳,故需對(duì)圖像進(jìn)行適當(dāng)?shù)念A(yù)處理,以減輕數(shù)據(jù)不平衡造成的影響。針對(duì)上述問(wèn)題,需進(jìn)行預(yù)處理:通過(guò)數(shù)據(jù)增強(qiáng)方法,對(duì)小樣本數(shù)據(jù)(DF、VASC、AKIEC)采取隨機(jī)切割、圖片翻轉(zhuǎn)、旋轉(zhuǎn)等圖像增強(qiáng)手段,增加訓(xùn)練集數(shù)量,限制每個(gè)標(biāo)簽下訓(xùn)練樣本的最大數(shù)量為500,對(duì)數(shù)據(jù)集進(jìn)行歸一化操作,只需將數(shù)據(jù)集除以255,即可使像素值范圍被映射到0~1。
1.2.1 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的一種經(jīng)典算法,是多層感知機(jī)的變種,于1998年由紐約大學(xué)的Yann Lecun提出。其采用局部連接及權(quán)值共享方式,降低權(quán)值數(shù)量,使網(wǎng)絡(luò)容易被優(yōu)化,降低了模型過(guò)擬合風(fēng)險(xiǎn),在二維圖像處理中具有很大的優(yōu)勢(shì)。目前,卷積神經(jīng)網(wǎng)絡(luò)已被廣泛用于各種醫(yī)學(xué)圖像識(shí)別、切割及自然圖像處理等任務(wù)中,取得了很好的成果。一個(gè)基本的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)主要由卷積層、池化層、全連接層等部分組成。
卷積層。在卷積神經(jīng)網(wǎng)絡(luò)中,卷積層的作用是提取圖像特征,一般用長(zhǎng)寬相等的卷積核,遍歷需要提取特征圖像的每一個(gè)像素點(diǎn)。遍歷過(guò)程中,卷積層覆蓋圖像的每一個(gè)像素值都會(huì)與該卷積核對(duì)應(yīng)位置的權(quán)值相乘,求和并加上偏置值得到最后的輸出。卷積輸出的通道數(shù)即為卷積核的個(gè)數(shù),一般情況下,卷積核的通道數(shù)等于輸入的通道數(shù)。
池化層。池化層的作用是實(shí)現(xiàn)尺寸的縮減,在保持特征不變性的同時(shí)降低參數(shù)量,在一定程度上防止過(guò)擬合。池化層基于局部相關(guān)性思想,對(duì)局部信息進(jìn)行采樣或信息聚合,分為不同種類(lèi)。一般情況下,卷積神經(jīng)網(wǎng)絡(luò)會(huì)采用最大池化層或平均池化層。
全連接層。在卷積神經(jīng)網(wǎng)絡(luò)中,全連接層將學(xué)到的分布式特征表示映射到樣本標(biāo)記空間,起到分類(lèi)器作用,即通過(guò)特征提取實(shí)現(xiàn)分類(lèi)。全連接層最后一層的神經(jīng)元個(gè)數(shù)通常等于待分類(lèi)類(lèi)別的數(shù)量。
1.2.2 EfficientNet
EfficientNet神經(jīng)網(wǎng)絡(luò)是2019年由Mingxing Tan[6]等提出的針對(duì)改變深度網(wǎng)絡(luò)模型的輕量級(jí)神經(jīng)網(wǎng)絡(luò)。EfficientNet神經(jīng)網(wǎng)絡(luò)配置如圖1所示,共分為9個(gè)stage,表中卷積層后默認(rèn)都跟有BN及Swish激活函數(shù)。stage 1是一個(gè)3×3的卷積層,stage2~stage8是在重復(fù)堆疊MBConv。stage9由3部分組成,即1個(gè)1×1的卷積、平均池化、1個(gè)全連接層。
圖1 EfficientNet結(jié)構(gòu)圖
MBConv模塊結(jié)構(gòu)如圖2所示[7],對(duì)于主分支而言,其是1個(gè)1×1卷積用于升維,輸出特征矩陣通道是輸入channel的n倍,通過(guò)1個(gè)DW卷積及1個(gè)SE模塊,使用注意力機(jī)制調(diào)整特征矩陣,再通過(guò)1×1卷積進(jìn)行降維。
圖2 MBConv結(jié)構(gòu)圖
相比于傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò),EfficientNet具有以下優(yōu)勢(shì):作為一種輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò),體積及參數(shù)量更小,運(yùn)行速度更快,可以在優(yōu)化訓(xùn)練速度的同時(shí)提高分類(lèi)任務(wù)的準(zhǔn)確度。
1.2.3 改進(jìn)的EfficientNet模型構(gòu)建
將模型中的平均池化層修改為最大池化層,以便模型可以在訓(xùn)練過(guò)程中關(guān)注到圖像數(shù)據(jù)中最關(guān)鍵、最重要的特征部分,在全連接層后添加 Dropout 層,以減少模型的過(guò)擬合程度。將EfficientNetB1在ImageNet數(shù)據(jù)集上訓(xùn)練好的權(quán)重參數(shù)遷移到改進(jìn)好的模型中,完成模型搭建,經(jīng)過(guò)預(yù)處理的圖像被送入EfficientB1分類(lèi)模型網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,皮膚癌圖像依次穿過(guò)EfficientB1網(wǎng)絡(luò)中不同層的MBConv模塊及過(guò)渡層進(jìn)行特征提取,進(jìn)入最大池化層降維,經(jīng)過(guò)一層batch_normalization層進(jìn)入全連接層進(jìn)行特征分布表示,通過(guò)損失函數(shù)及真實(shí)圖像特征計(jì)算并進(jìn)行反向傳播,直到準(zhǔn)確率趨近擬合。
實(shí)驗(yàn)環(huán)境為基于谷歌開(kāi)發(fā)的開(kāi)源深度學(xué)習(xí)框架tensorflow,編程語(yǔ)言為python,硬件設(shè)備為RTX A4000。實(shí)驗(yàn)訓(xùn)練超參數(shù)如表2所示。
表2 訓(xùn)練超參數(shù)
選擇構(gòu)建混淆矩陣來(lái)對(duì)預(yù)測(cè)結(jié)果進(jìn)行評(píng)估,橫坐標(biāo)表示真實(shí)值,縱坐標(biāo)表示預(yù)測(cè)值,樣例如表3所示。
表3 混淆矩陣
采用分類(lèi)準(zhǔn)確率(Accuracy)作為評(píng)估指標(biāo),分類(lèi)準(zhǔn)確率高則可以在一定程度上代表該模型好。分類(lèi)準(zhǔn)確率公式如下所示:
(1)
將self-EfficientNet模型在經(jīng)過(guò)預(yù)處理后的ISIC2018數(shù)據(jù)集上進(jìn)行訓(xùn)練,輸入模型的圖片大小為224×224,通道數(shù)為3,每次訓(xùn)練樣本數(shù)為32,學(xué)習(xí)率為0.001,訓(xùn)練次數(shù)采取早停策略,以便模型在發(fā)生過(guò)擬合前保存下來(lái),設(shè)置為連續(xù)3次損失值不下降時(shí)停止訓(xùn)練。訓(xùn)練結(jié)果如表4所示。
表4 訓(xùn)練結(jié)果對(duì)比
由三者的準(zhǔn)確率可知,3個(gè)網(wǎng)絡(luò)模型均未發(fā)生梯度消失現(xiàn)象,MobileNetV2與ResNet50均具有殘差結(jié)構(gòu),能夠有效防止梯度消失現(xiàn)象,而self-EfficientNet能通過(guò)自適應(yīng)的正則調(diào)整機(jī)制來(lái)修正網(wǎng)絡(luò)。綜合來(lái)看,MobileNetV2的參數(shù)量最小,而ResNet50的參數(shù)量則遠(yuǎn)遠(yuǎn)大于二者。但是,self-EfficientNet的準(zhǔn)確度與損失值更優(yōu),準(zhǔn)確值相較MobileNetV2高出5.6%,說(shuō)明self-EfficientNet參數(shù)量較小且分類(lèi)性能最好。
圖3 Self-EfficientNet訓(xùn)練曲線
圖4 MobileNetV2訓(xùn)練曲線
圖5 ResNet50訓(xùn)練曲線
從三者的訓(xùn)練曲線對(duì)比可知,Self-EfficientNet的收斂速度最快,訓(xùn)練效率最高,僅用26次就完成收斂,訓(xùn)練效率遠(yuǎn)遠(yuǎn)超過(guò)其他兩種模型,證明該模型在該數(shù)據(jù)集上具有可行性及優(yōu)越性。
基于ISIC2018數(shù)據(jù)集,選擇了self-EfficientNet、MobileNetV2及ResNet50進(jìn)行分類(lèi)對(duì)比實(shí)驗(yàn),分別基于遷移學(xué)習(xí)訓(xùn)練了26、70、59次完成收斂。訓(xùn)練收斂后,比對(duì)了測(cè)試集上各個(gè)網(wǎng)絡(luò)的分類(lèi)結(jié)果及其參數(shù)量。從以上結(jié)果可看出,self-EfficientNet與MobileNetV2的loss遠(yuǎn)遠(yuǎn)小于ResNet50,但ResNet50模型中訓(xùn)練集loss與測(cè)試集loss相差不多,故推測(cè)原因并非是過(guò)擬合現(xiàn)象。從ResNet50訓(xùn)練過(guò)程中l(wèi)oss與準(zhǔn)確度變化較小推測(cè),可能是由于皮膚癌圖像的特征信息相對(duì)較少,而ResNet50模型較為復(fù)雜,導(dǎo)致該數(shù)據(jù)集并不能很好地訓(xùn)練模型,難以擬合函數(shù),故而輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)更占優(yōu)勢(shì)。self-EfficientNet與MobileNetV2相比,self-EfficientNet具有更高的分類(lèi)準(zhǔn)確度、更快的訓(xùn)練效率及較小的參數(shù)量,性能更優(yōu)越。
為了滿足皮膚癌圖像的識(shí)別需求,從深度學(xué)習(xí)角度出發(fā),利用卷積神經(jīng)網(wǎng)絡(luò)在圖像識(shí)別中的優(yōu)勢(shì),提出了一種基于輕量化卷積神經(jīng)網(wǎng)絡(luò)模型的方法,即self-EfficientNet。該模型通過(guò)更改池化層,引入Dropout與遷移學(xué)習(xí)對(duì)EfficientNetB1進(jìn)行改進(jìn),在ISIC2018數(shù)據(jù)集上與ResNet50、MobileNetV2進(jìn)行實(shí)驗(yàn)對(duì)比。結(jié)果表明,self- EfficientNet具有準(zhǔn)確率高、收斂速度快等優(yōu)勢(shì),準(zhǔn)確率達(dá)到了82.8%,比MobileNetV2模型與ResNet50模型的準(zhǔn)確度高出了5.6%,而參數(shù)量不到ResNet50的1/3,能夠滿足皮膚癌圖像識(shí)別模型應(yīng)用于各種移動(dòng)設(shè)備及嵌入式設(shè)備的要求。但該模型也存在著一些不足,如使用的公共數(shù)據(jù)集因數(shù)據(jù)不平衡限制了訓(xùn)練數(shù)量,未來(lái)將嘗試?yán)脤?duì)抗性網(wǎng)絡(luò)生成小樣本數(shù)據(jù)來(lái)解決數(shù)據(jù)不平衡等問(wèn)題,并繼續(xù)優(yōu)化模型性能。