李昀松,段喜萍




摘要:目前,猴痘病在全球多個國家快速傳播,為了能夠使有相關癥狀的感染者有效地識別出是否為猴痘病,提出了一種改進的基于遷移學習殘差網絡的圖像自動識別方法。該方法使用了ResNet50網絡并使用該網絡預訓練權重進行遷移學習,在網絡的全連接層后加入dropout對神經元進行隨機失活。在經過數據增強的猴痘病數據集上進行了網絡的訓練,最終達到了97.9%的識別準確率,相比于VGG16和AlexNet網絡具有更高的識別準確率。
關鍵詞:圖像識別;分類識別;深度學習;殘差網絡;遷移學習
中圖分類號:TP391? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)33-0019-02
1 概述
2022年5月,猴痘疫情在歐洲以及北美等地迅速蔓延,其中美國、西班牙、巴西和法國等國家猴痘病例面臨著巨大的挑戰。猴痘病毒具有較強的感染性,其感染者的主要癥狀會出現全身的水皰與膿皰,該癥狀與天花患者的癥狀極其相似。因此,通過感染者的水皰與膿皰識別判斷該感染者是否感染了猴痘病毒成了一項艱巨的任務。
目前,基于深度學習的方法在計算機視覺領域擁有廣泛的應用[1],并在醫療診斷[2]、交通[3]和農業[4]等各個領域取得了良好的效果,LeCun等首次提出了卷積神經網絡模型LeNet-5,該模型在圖像識別領域的任務中超過了人類的水平。Krizhevsky等人[5]提出了AlexNet網絡,網絡中使用了ReLU激活函數替換tanh激活函數,并在網絡的全連接層增加了dropout方法隨機地將一部分神經元置為0,將該網絡應用到了LSVRC-12競賽中取得了當時最好的分類效果。Szegedy等人[6]使用了1[×]1、3[×]3和5[×]5卷積操作作為主要結構,與AlexNet相比參數量更少但準確率更高。Simonyan等人[7]討論了網絡的深度對性能的關系,通過增加3[×]3卷積進行實驗,當網絡層數達到16~19層時達到最佳效果,并且得到了使用多個3[×]3卷積替換7[×]7卷積可以達到相似效果的結論,并且能夠減小一定的參數量與計算量。ResNet網絡[8]使用了跨層連接的結構并使用了批規范化[9]的方法抑制神經網絡層數加深后引起模型過擬合的退化問題,ResNet能夠訓練更深的網絡在LSBRC-15的圖像分類比賽中獲得了第一名的成績。
本文使用了在ImageNet數據集上進行預訓練的ResNet50模型權重,并在網絡的全連接層加入dropout方法對神經元進行隨機失活,在猴痘病數據集上進行模型訓練,得到的模型能夠有效地通過患者癥狀識別出是否感染猴痘病毒。
2 算法描述
2.1殘差網絡
在傳統的卷積神經網絡研究中,在網絡上串連更多的層數時在圖像任務中的表現反而下降,這并不是網絡出現過擬合而導致錯誤率上升的問題,而是在網絡訓練的過程中,正向與反向的信息傳遞不順暢,從而導致模型沒有得到充分訓練的一種網絡退化問題。ResNet提出了一種殘差模塊,如圖1所示,weight_layer為網絡層,relu為激活函數,通過殘差結構加入的恒等映射,即使原始卷積結構信息沒有傳遞也能夠通過殘差保留原始的信息,并且ResNet使用了批歸一化方法降低梯度消失的問題,降低了網絡在訓練過程中對于權重初始化的依賴。
2.2 ResNet50
ResNet50網絡由49個卷積層和一個全連接層構成,結構如圖2所示,圖中Conv為卷積層,Max_pooling為最大池化層,ResBlock為殘差模塊,AveragePool為全局平均池化層,FC為全連接層。輸入圖像數據的分辨率為224[×]224并由RGB三個通道組成,首先將224[×]224[×]3的圖像數據輸入到卷積核大小為7[×]7步長為2的卷積層中,得到112[×]112[×]64的張量后進行3[×]3的最大池化操作,然后將其輸入4個階段的殘差網絡基礎模塊當中,隨著每個階段特征信息的傳遞,可以獲得更深層次的特征,得到的深層特征張量進行全局平均池化操作,最后將其輸入到全連接層中,本實驗為是否為猴痘病的二分類任務,最終節點數為2,并加入dropout層防止模型過擬合,隨機失活比率設置為0.2,失活了的神經元節點不參與模型的參數訓練,能夠有效的提升模型的泛化能力。
2.3遷移學習
遷移學習的基本思想是利用已經解決問題的策略用以解決待解決的問題[10],在基于深度學習的任務中,需要大量的數據對神經網絡的模型進行訓練,得到合適的模型參數權重,并且需要大量的模型訓練時間和更高性能的硬件設備,因此將源領域所學到的知識遷移到其他領域是必要的。
本文使用了在ImageNet上訓練的ResNet50網絡模型,ImageNet是供計算機視覺識別研究的大型可視化圖像數據集,其中包含超過140萬手動標注的圖像數據,并包含1000個圖像類別,則經過預訓練的ResNet50網絡的全連接層輸出1000個節點,在本實驗中為了適應猴痘病數據集類別數,將節點數量由1000改為2,然后將ResNet50的預訓練權重在本實驗的猴痘病數據集進行微調訓練,該方法既能提高模型的泛化能力和魯棒性,也能夠減少訓練的時間節約算力的開銷。
2.4 網絡優化
2.4.1 損失函數
損失函數是將隨機事件或其有關隨機變量的取值映射為非負實數,表示該隨機事件的風險或損失的函數,在實際任務中則通過最小化損失函數求解和評估模型。本文使用交叉熵損失表達預測值和真實值的不一致程度,交叉熵損失常用于圖像識別任務中作為損失函數,能夠有效地衡量同一個隨機變量中的兩個不同概率分布的差異程度。
2.4.2 優化算法
深度學習是以最小化損失函數為目標,其本質上是一種優化問題,目前應用于深度學習的優化算法均為由梯度下降算法發展而來,其主要思想為利用鏈式求導法則計算損失函數值相對于神經網絡中的每一個權重參數的梯度,通過更新權重參數達到降低損失函數值的效果。本文使用SGD隨機梯度下降算法作為模型的優化器,該方法具有更新速度快的優點,能夠對每一個樣本都進行一次梯度運算并更新模型的權重。
3 實驗與結果分析
3.1 數據集與實驗環境
為了區分猴痘病例與類似的非猴痘病例創建了猴痘病毒圖像數據集,該數據集分為猴痘病類和包含與猴痘病毒癥狀相似的水痘和麻疹的其他類別,以進行二分類,其中猴痘病圖像類別包含72張圖片,其他類別包含110張圖片,圖像的像素均為224[×]224,其中的每張圖片應用了旋轉、平移、反射、剪切、色相、飽和度、對比度、亮度抖動、噪聲和縮放等多種圖像數據增強方法擴充數據集,經過擴充后的數據集猴痘病類別擁有980張圖片,其他類別擁有1162張圖片。本實驗將全部的圖像數據按照8:2的比例進行劃分為訓練集和測試集,圖3給出了猴痘病和其他類別的各3張原始圖像。
實驗操作系統為Linux操作系統,在一塊V100的10核32GB內存GPU的云服務器上運行程序,編程語言為Python語言,深度學習框架為PyTorch。使用SGD優化器進行訓練,訓練動量設為0.9,Batchsize設為80,學習率設為6e-3,進行了50個epoch的訓練。
3.2 實驗結果分析
本文使用ResNet50對猴痘數據集進行了評估,并與AlexNet和VGG16網絡進行了對比,三種網絡模型僅使用遷移學習的方法進行訓練,網絡對比結果如表1所示,由表1可以看出,ResNet50網絡經過訓練后精確度為97.9%,VGG16網絡精確度為97.7%,AlexNet網絡精確度為96.3%,ResNet-50網絡在猴痘病識別任務中的效果最佳,并且與其他網絡相比,擁有最少的參數量和合適的計算量。
4 結論
針對全球多個國家快速傳播的猴痘病疫情,希望能夠通過感染者的癥狀分辨出是否為猴痘病感染者,本文利用深度學習卷積神經網絡的識別方法,使用了基于遷移學習的ResNet50網絡,并且對網絡的全連接層添加了dropout,對其神經元以一定的概率進行失活,本文所使用的網絡模型經過猴痘數據集的訓練,最終能夠達到97.9%的猴痘病識別準確率,高于VGG16與AlexNet模型97.7%和96.3%的精確度,能夠快速有效地對猴痘病及具有相似癥狀的其他病毒感染者進行識別。由于數據集的局限性,本文算法還需要收集更多猴痘病感染者以及更多種類的相似癥狀病毒感染者的數據進行進一步驗證。
參考文獻:
[1] 張榮,李偉平,莫同.深度學習研究綜述[J].信息與控制,2018,47(4):385-397,410.
[2] 唐江平,周曉飛,賀鑫,等.基于深度學習的新型冠狀病毒肺炎診斷研究綜述[J].計算機工程,2021,47(5):1-15.
[3] 楊柳.深度學習在交通運輸中應用綜述[J].信息技術與信息化,2022(2):192-195.
[4] 邊柯橙,楊海軍,路永華.深度學習在農業病蟲害檢測識別中的應用綜述[J].軟件導刊,2021(3):26-33.
[5] Krizhevsky A,Sutskever I,Hinton G E.ImageNet classification with deep convolutional neural networks[J].Communications of the ACM,2017,60(6):84-90.
[6] Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions[C]//Proceedings of the IEEE conference on computer vision and pattern recognition, 2015: 1-9.
[7] Simonyan K,Zisserman A.Very deep convolutional networks for large-scale image recognition[EB/OL].2014:arXiv:1409.1556.https://arxiv.org/abs/1409.1556
[8] He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition,2016:770-778.
[9] Ioffe S,Szegedy C.Batch normalization:accelerating deep network training by reducing internal covariate shift[C]//International conference on machine learning. PMLR, 2015: 448-456.
[10] 劉鑫鵬,欒悉道,謝毓湘,等.遷移學習研究和算法綜述[J].長沙大學學報,2018(5):28-31,36.
【通聯編輯:唐一東】