邱文杰 葉進(jìn) 胡亮青 楊娟 李其利 莫賤友 易萬茂
摘要: 卷積神經(jīng)網(wǎng)絡(luò)(CNN)的發(fā)展帶來了大量的網(wǎng)絡(luò)參數(shù)和龐大的模型體積,極大地限制了其在小規(guī)模計(jì)算資源設(shè)備上的應(yīng)用。為將CNN應(yīng)用在各種小型設(shè)備上,研究了一種基于知識(shí)蒸餾的結(jié)構(gòu)化模型壓縮方法。該方法首先利用VGG16訓(xùn)練了一個(gè)識(shí)別率較高的教師模型,再將該模型中的知識(shí)通過蒸餾的方法遷移到MobileNet,從而大幅減少了模型的參數(shù)量。將知識(shí)蒸餾后的Distilled-MobileNet模型應(yīng)用在14種作物的38種常見病害分類中。進(jìn)行了知識(shí)蒸餾在VGG16、AlexNet、GoogleNet和ResNet 4種不同網(wǎng)絡(luò)結(jié)構(gòu)上的表現(xiàn)測(cè)試,結(jié)果表明,當(dāng)VGG16作為教師模型時(shí),模型準(zhǔn)確率提升了97.54%;使用單個(gè)病害識(shí)別率、平均準(zhǔn)確率、模型內(nèi)存、平均識(shí)別時(shí)間4個(gè)指標(biāo)對(duì)訓(xùn)練好的Distilled-MobileNet模型進(jìn)行真實(shí)環(huán)境下準(zhǔn)確性評(píng)估,經(jīng)測(cè)試,模型的平均準(zhǔn)確率達(dá)到了97.62%,平均識(shí)別時(shí)間縮短至0.218 s,僅占VGG16模型的13.20%,模型大小壓縮僅為19.83 MB,相比于VGG16縮小了93.60%,使其具備了較高的準(zhǔn)確性和實(shí)時(shí)性要求。本方法模型在壓縮內(nèi)存體積和縮短識(shí)別時(shí)間上較傳統(tǒng)神經(jīng)網(wǎng)絡(luò)有了明顯提高,為內(nèi)存和計(jì)算資源受限設(shè)備上的病害識(shí)別提供了新的思路。
關(guān)鍵詞: 病害識(shí)別;深度學(xué)習(xí);模型壓縮;知識(shí)蒸餾;卷積神經(jīng)網(wǎng)絡(luò)
中圖分類號(hào): TP3-0? 文獻(xiàn)標(biāo)志碼: A? 文章編號(hào): 202009-SA004
引用格式:邱文杰, 葉進(jìn), 胡亮青, 楊娟, 李其利, 莫賤友, 易萬茂. 面向植物病害識(shí)別的卷積神經(jīng)網(wǎng)絡(luò)精簡結(jié)構(gòu)Distilled-MobileNet模型[J]. 智慧農(nóng)業(yè)(中英文), 2021, 3 (1): 109-117.
Citation:QIU Wenjie, YE Jin, HU Liangqing, YANG Juan, LI Qili, MO Jianyou, YI Wanmao. Distilled-mobilenet model of convolutional neural network simplified structure for plant disease recognition[J]. Smart Agriculture, 2021, 3 (1): 109-117. (
1? 引? 言
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)由于具有自動(dòng)提取特征和無壓力處理高維數(shù)據(jù)等優(yōu)勢(shì),已經(jīng)在各個(gè)領(lǐng)域都有了非常廣泛的應(yīng)用,在農(nóng)業(yè)病蟲害識(shí)別方面的應(yīng)用已經(jīng)成為了熱門的研究方向[1]。例如,Karleka和Seal[2]提出了一種識(shí)別大豆病害的方法,將大豆的葉片從復(fù)雜的背景中分割出后,通過設(shè)計(jì)CNN模型SoyNet進(jìn)行分類;Tetila等[3]對(duì)模型中的網(wǎng)絡(luò)權(quán)重進(jìn)行分析,并使用簡單線性迭代聚類(Simple Linear Iterative Clustering,SLIC)方法對(duì)圖片分割出大豆葉片進(jìn)行了識(shí)別,準(zhǔn)確率高達(dá)99.04%。Adeel等[4]提出了一種新的識(shí)別框架對(duì)葡萄病害進(jìn)行早期檢測(cè),通過提取AlexNet和ResNet101經(jīng)過遷移學(xué)習(xí)后的特征,使用YEaK技術(shù)選擇出最好的特征,之后使用并行方法融合這些強(qiáng)特征,最后輸入最小二乘支持向量機(jī)(Least Squared Support Vector Machine,LSSVM)中進(jìn)行分類,對(duì)從PlantVillage數(shù)據(jù)集得到的受感染葡萄葉片進(jìn)行模擬,獲得了99%的準(zhǔn)確率。Zhang等[5]使用基于深度學(xué)習(xí)的改進(jìn)的GoogleLeNet和Cifar-10模型,用于玉米葉片病害的識(shí)別,平均識(shí)別準(zhǔn)確率為98.9%。陳桂芬等[6]使用遷移學(xué)習(xí)的方法在預(yù)訓(xùn)練模型的基礎(chǔ)上訓(xùn)練了卷積神經(jīng)網(wǎng)絡(luò),識(shí)別準(zhǔn)確率達(dá)到了96.6%。吳華瑞[7]使用深度殘差網(wǎng)絡(luò)模型,對(duì)番茄四種常見病害進(jìn)行了識(shí)別,準(zhǔn)確率達(dá)到95%以上。上述病害識(shí)別方法的準(zhǔn)確率均達(dá)到了90%以上,由此可見,CNN已經(jīng)在農(nóng)業(yè)病蟲害識(shí)別領(lǐng)域有了廣泛的應(yīng)用,并取得了不錯(cuò)的效果。
然而,CNN經(jīng)過多年的發(fā)展,網(wǎng)絡(luò)結(jié)構(gòu)越來越復(fù)雜,網(wǎng)絡(luò)參數(shù)不計(jì)其數(shù),需要耗費(fèi)大量的存儲(chǔ)資源跟計(jì)算資源。經(jīng)典的VGG-16圖像分類網(wǎng)絡(luò)包含1.38億個(gè)參數(shù),而最新的ResNet-200仍然包含超過6000萬個(gè)參數(shù)。網(wǎng)絡(luò)越復(fù)雜,消耗的磁盤空間和內(nèi)存就越大,并且識(shí)別速度就越慢。研究表明,在計(jì)算資源受限的ARM平臺(tái)上,單張圖片的識(shí)別時(shí)間達(dá)到13.2 s以上[8],遠(yuǎn)遠(yuǎn)不能滿足用戶對(duì)于實(shí)時(shí)性的要求。即使將模型部署在云服務(wù)器,也無法從本質(zhì)上解決復(fù)雜神經(jīng)網(wǎng)絡(luò)模型內(nèi)存占用大、識(shí)別時(shí)間長的問題,且部署在服務(wù)器上的模型識(shí)別時(shí)間易受到網(wǎng)絡(luò)環(huán)境波動(dòng)的影響,無法在網(wǎng)絡(luò)受限的環(huán)境中使用。因此,如何對(duì)復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行壓縮,使其滿足在終端設(shè)備使用時(shí)的實(shí)時(shí)性要求和更低的內(nèi)存占用限制,是目前神經(jīng)網(wǎng)絡(luò)亟待解決的問題。
針對(duì)上述情況,近年來有學(xué)者提出了不同的模型精簡方法。Han等[9]提出了ClipDL模型,通過同時(shí)減少模型參數(shù)的數(shù)量以及減少僅對(duì)關(guān)鍵數(shù)據(jù)的計(jì)算來加速深度學(xué)習(xí)系統(tǒng)運(yùn)行,將模型訓(xùn)練過程平均加速了2.32倍,模型大小基本保持不變,而準(zhǔn)確性損失僅為1.86%。Rahman等[10]針對(duì)移動(dòng)設(shè)備提出了一種具有兩個(gè)階段的小型CNN模型,該模型在準(zhǔn)確率上達(dá)到了期望準(zhǔn)確率的93.3%,并且具有更小的結(jié)構(gòu)規(guī)模,跟VGG16對(duì)比,其結(jié)構(gòu)規(guī)模減少了99%。Shih等[11]提出了具有擴(kuò)張卷積和多尺度特征串聯(lián)的簡化區(qū)域提議網(wǎng)絡(luò)(Reduced Region Proposal Network,RRPN),模型的檢測(cè)準(zhǔn)確率相比ZF-Net提高了2.2%~60.2%,相對(duì)壓縮了ZF-Net網(wǎng)絡(luò)的81.3%的規(guī)模大小。Hc等[12]提出了一種稱為塊更改學(xué)習(xí)(Block Change Learning,BCL)的方法,該方法通過更改由“層”組成的“塊”來執(zhí)行局部和全局知識(shí)提煉。在專門針對(duì)特征提取任務(wù)當(dāng)中,BCL僅表現(xiàn)出約5%的性能下降,而其他方法的模型性能下降約為17%。Wu等[13]提出了用于壓縮視頻動(dòng)作識(shí)別的框架來對(duì)模型進(jìn)行壓縮,壓縮后的模型準(zhǔn)確率下降了0.35%,但參數(shù)量上的壓縮率達(dá)到2.4倍,計(jì)算量減少1.2倍。
目前,上述模型壓縮方法存在壓縮率不高和壓縮后模型精度下降的問題,因此,本研究結(jié)合PlantVillage[14]植物病害數(shù)據(jù)集,提出了一種基于知識(shí)蒸餾[15]的輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)精簡方法,在廣西壯族自治區(qū)農(nóng)業(yè)科學(xué)院提供的含有復(fù)雜背景的數(shù)據(jù)集上做了真實(shí)環(huán)境下的模型性能測(cè)試,結(jié)果表明,該方法不以損失模型精度為代價(jià),能夠大幅降低模型內(nèi)存的要求。本方法具有通用性,無論是將模型部署在云服務(wù)器還是本地設(shè)備中,都可以在少量的教師機(jī)內(nèi)存占用和訓(xùn)練開銷降低的同時(shí),降低模型參數(shù)量、提高模型精度。
2? 數(shù)據(jù)樣本集
本研究使用的數(shù)據(jù)集來自PlantVillage標(biāo)準(zhǔn)數(shù)據(jù)集和自建數(shù)據(jù)集兩個(gè)部分。
2.1PlantVillage數(shù)據(jù)集
PlantVillage數(shù)據(jù)集包含來自14種植物的54,305張植物葉片圖,共38種常見病害。葉片圖像均為實(shí)驗(yàn)室環(huán)境下拍攝的單一背景圖像,每類的圖像數(shù)量從152張到5507張不等。將數(shù)據(jù)集按照80%和20%的比例劃分為訓(xùn)練集和驗(yàn)證集。數(shù)據(jù)集中部分病害的為害狀如圖1所示。由于病原體感染農(nóng)作物的方式相似,不同的農(nóng)作物可能會(huì)感染相同的病原體,因此導(dǎo)致圖1中不同農(nóng)作物會(huì)患有同種疾病。
為使識(shí)別模型具有更好的魯棒性[16],本研究還使用了基于深度卷積生成對(duì)抗網(wǎng)絡(luò)(Deep Convolutional Generative Adversarial Networks,DCGAN)的數(shù)據(jù)增強(qiáng)方法[17]模擬產(chǎn)生了5861張新圖像參與建模,部分樣本如圖2所示。經(jīng)過感知哈希算法[18]測(cè)試,生成模型產(chǎn)生的新樣本和真實(shí)樣本之間的平均相似度達(dá)到了98.75%以上,表明產(chǎn)生的圖像和真實(shí)圖片相類似,能夠作為擴(kuò)充樣本。
2.2自建數(shù)據(jù)集
在使用PlantVillage數(shù)據(jù)集的基礎(chǔ)上,本研究還使用了一個(gè)自建數(shù)據(jù)集,其中包括4835張芒果炭疽病圖片和4810張芒果白粉病圖片,如圖3所示。該數(shù)據(jù)集由廣西壯族自治區(qū)農(nóng)業(yè)科學(xué)研究院植保所提供,圖片使用佳能5D mark III型數(shù)碼相機(jī)拍攝,像素為4475×3840,圖片中病斑點(diǎn)輪廓所占面積大于葉片面積的10%。自建數(shù)據(jù)集中的圖片均為真實(shí)環(huán)境下拍攝的具有復(fù)雜背景的照片,主要用于模型的測(cè)試。表1給出了本研究所用數(shù)據(jù)集的詳細(xì)分布情況。
3? 識(shí)別模型訓(xùn)練及其精簡結(jié)構(gòu)設(shè)計(jì)
本研究提出了一種結(jié)構(gòu)化的病害識(shí)別方法及輕量級(jí)神經(jīng)網(wǎng)絡(luò)精簡方法,圖4為本研究的整體設(shè)計(jì),大致分為以下三個(gè)步驟。
(1)采用DCGAN產(chǎn)生大量數(shù)據(jù)樣本,實(shí)現(xiàn)數(shù)據(jù)擴(kuò)充。此外,本研究對(duì)擴(kuò)充后的數(shù)據(jù)使用了幾種常見數(shù)據(jù)增強(qiáng)方法,包括平移、旋轉(zhuǎn)、縮放、剪裁和翻轉(zhuǎn)等,從而提高了模型的平移、縮放等不變性,有效地防止了模型過擬合。
(2)為了加快模型在訓(xùn)練過程中的收斂速度,本研究使用遷移學(xué)習(xí)[19]的方法,將不同網(wǎng)絡(luò)結(jié)構(gòu)在ImageNet數(shù)據(jù)集上預(yù)先訓(xùn)練好的權(quán)值遷移到對(duì)應(yīng)的不同網(wǎng)絡(luò)結(jié)構(gòu)中,在此基礎(chǔ)上訓(xùn)練不同神經(jīng)網(wǎng)絡(luò)模型。
(3)在訓(xùn)練好的模型上使用知識(shí)蒸餾方法,將知識(shí)從冗余的集成模型轉(zhuǎn)移到輕量級(jí)模型中,并保留復(fù)雜網(wǎng)絡(luò)的性能,從而訓(xùn)練得到精簡模型,通過這種方法有效地降低模型體積,提高模型精度。
3.1識(shí)別模型MobileNet的訓(xùn)練
MobileNet是Google提出的輕量級(jí)神經(jīng)網(wǎng)絡(luò),用于解決復(fù)雜模型在移動(dòng)端和嵌入式終端上無法使用的問題[20]。相比于其他神經(jīng)網(wǎng)絡(luò),MobileNet的計(jì)算復(fù)雜度和模型內(nèi)存都很小,網(wǎng)絡(luò)參數(shù)總量為132萬,內(nèi)存僅占VGG16的3%。因此,本研究選擇MobileNet作為學(xué)生模型進(jìn)行訓(xùn)練。MobileNet模型的核心是深度可分離卷積(Depthwise Separable Convolution,DSC),原理如圖5所示,DSC將標(biāo)準(zhǔn)卷積分解成深度卷積和逐點(diǎn)卷積。
假設(shè)神經(jīng)網(wǎng)絡(luò)的輸入圖片維度為D_F×D_F×M,深度卷積的卷積核大小為D_K×D_K×1,個(gè)數(shù)為M,逐點(diǎn)卷積的卷積核大小為1×1×M,個(gè)數(shù)為N,經(jīng)過卷積后輸出維度為D_G×D_G×N,則深度可分離卷積的計(jì)算成本與常規(guī)卷積操作的比值如公式(1)所示。
DSC/(Std ????????????????????????????????? conv)=1/N+1/〖D_K〗^2 ??? (1)其中,DSC和Std conv分別表示深度可分離卷積和常規(guī)卷積操作的參數(shù)量;N為逐點(diǎn)卷積核的個(gè)數(shù),個(gè);D_K為深度卷積核的大小。
由公式(1)可知,當(dāng)卷積核個(gè)數(shù)越少、尺寸越小時(shí),深度可分離卷積相對(duì)于常規(guī)卷積操作就可以減少更多的參數(shù)量。
3.2精簡模型Distilled-MobileNet設(shè)計(jì)
在知識(shí)蒸餾的學(xué)習(xí)過程中,學(xué)生模型是通過模仿教師模型在相同樣本下的輸出來進(jìn)行訓(xùn)練的,在傳統(tǒng)Softmax分類器中,給定任何輸入圖片x,模型生成一個(gè)向量S^t (x)=[S_1^t (x),S_2^t (x),…,S_k^t (x)],其中,S_k^t (x)代表第k種病害所對(duì)應(yīng)的得分,在神經(jīng)網(wǎng)絡(luò)的最后,使用Softmax作為分類器將神經(jīng)網(wǎng)絡(luò)的輸出S^t (x)轉(zhuǎn)化成概率分布p^t (x),即p^t (x)=[p_1^t (x),p_2^t (x),…,p_k^t (x)],對(duì)于p^t (x)中的每個(gè)元素p_k^t (x),其計(jì)算方法如公式2所示。
p_k^t (x)=e^(s_k^t (x) )/(∑_j?e^(s_j^t (x) ) )??? (2)
Hinton等[15]提出,訓(xùn)練有素的教師模型的輸出會(huì)無限接近于One-Hot編碼的真實(shí)輸出,這就造成有用的類間信息在訓(xùn)練過程中被忽視,進(jìn)而直接導(dǎo)致學(xué)生模型的訓(xùn)練效果不理想,因此,需要使用溫度標(biāo)度“軟化”這些概率,如公式(3)所示。
p┴?_k^t (x)=e^(s_k^t (x)/T)/(∑_j?e^(s_j^t (x)/T) ) (3)其中,T是可調(diào)的超參數(shù),T ??????????????????????????? >1。通過在Softmax分類器中加入T這一參數(shù),學(xué)生會(huì)類似地產(chǎn)生更“柔和”的分類概率分布p┴?^s (x),從而保留了樣本不同類別之間的概率關(guān)系。與使用傳統(tǒng)One-Hot編碼[15]的硬標(biāo)簽作為訓(xùn)練目標(biāo)相比,由于教師模型經(jīng)過Softer-Softmax分類器后輸出的軟目標(biāo)很好地保留了樣本不同類別之間的概率關(guān)系,所以通常會(huì)帶來更好的性能。為了獲得更好的分類結(jié)果,將知識(shí)蒸餾中的損失函數(shù)由交叉熵替換為巴氏距離[21],令BC定義為巴氏系數(shù),滿足:0≤BC≤1,其關(guān)系定義如公式(4)所示。
BC(P,Q)=∑√(P(x)Q(x))? (4)其中,P、Q分別表示教師模型和學(xué)生模型;P(x)和Q(x)分別代表教師模型和學(xué)生模型的輸出。
由公式(4)可知,當(dāng)P、Q兩個(gè)標(biāo)簽趨同時(shí),巴氏系數(shù)值BC會(huì)隨之變大;而當(dāng)兩個(gè)標(biāo)簽完全沒有重疊時(shí),BC將會(huì)趨于零。
采用巴氏距離后的L_KD、L_cls和學(xué)生損失函數(shù)L分別如公式(5)~(7)所示:
L_KD=-ln ????????????????????????? (BC(r_k (x),p┴?_k^t (x)))? (5)
L_cls=-ln ????????????????????????? (BC(q_k (x),p_k^t (x))) (6)
L=αL_cls+(1-α)L_KD??? (7)其中,q_k (x)為樣本的真實(shí)標(biāo)簽;r_k (x)為教師模型的輸出;α為可調(diào)的超參數(shù);通常T∈{1,3,4,5},α∈[0.5,0.9]。
本研究通過知識(shí)蒸餾的方法,結(jié)合公式(5)~(7)中的損失函數(shù),訓(xùn)練了精簡模型Distilled-MobileNet。首先,使用圖像的真實(shí)標(biāo)簽來預(yù)訓(xùn)練教師模型,之后再使用相同的訓(xùn)練樣本作為學(xué)生模型的輸入并進(jìn)行訓(xùn)練,所建立的Distilled-MobileNet模型與教師模型相比,可以達(dá)到輕量級(jí)的體積。圖6給出了知識(shí)蒸餾的具體結(jié)構(gòu)。
同時(shí),在損失函數(shù)的設(shè)計(jì)上,使用兩個(gè)不同目標(biāo)函數(shù)的加權(quán)平均值,其中,損失函數(shù)L_KD用來表示當(dāng)教師模型和學(xué)生模型共享相同的溫度T時(shí),教師模型和學(xué)生模型輸出之間的巴氏距離;損失函數(shù)L_cls為學(xué)生模型和真實(shí)標(biāo)簽之間的交叉熵。最后,通過線性加權(quán)的方式計(jì)算損失函數(shù)L,如公式(8)所示。
L=αL_cls+(1-α)L_KD??? (8)
表2給出了模型在不同α和T下的試驗(yàn)結(jié)果。經(jīng)試驗(yàn)驗(yàn)證,當(dāng)超參數(shù)α的值設(shè)為0.6、蒸餾溫度T的值為3時(shí),模型驗(yàn)證集準(zhǔn)確率達(dá)到最高90.62%,表明模型獲得最佳性能。
4? 試驗(yàn)結(jié)果及分析
本試驗(yàn)硬件環(huán)境包括具有Intel i9-10900X (3.20 GHz) 10核20線程CPU,NVIDIA GeForce RTX2080Ti 11GBx2的服務(wù)器。軟件環(huán)境為64位Windows10系統(tǒng),CUDA 9.0,CUDNN 7.0,PyCharm 2018.2。用于訓(xùn)練模型的試驗(yàn)框架的前端和后端分別是Keras和Tensorflow。
為確保試驗(yàn)結(jié)果的公平性和有效性,本研究對(duì)超參數(shù)進(jìn)行了統(tǒng)一化。將學(xué)習(xí)率設(shè)置為0.001,batch size設(shè)置為128,L2正則化參數(shù)設(shè)置為0.0005。
其次,在模型訓(xùn)練中使用了SGD、Adam和Nadam三種不同的優(yōu)化器,該類優(yōu)化算法應(yīng)用在非凸優(yōu)化問題中有計(jì)算高效、所需內(nèi)存少等諸多優(yōu)勢(shì),三種優(yōu)化算法超參數(shù)的具體參數(shù)如表3所示。
4.1學(xué)習(xí)模型性能測(cè)試
為確定教師和學(xué)生網(wǎng)絡(luò)最佳模型,本研究在128×128大小的3通道RGB圖像下對(duì)比了VGG16、AlexNet、GoogLeNet、MobileNet和ResNet 5種主流神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的驗(yàn)證集準(zhǔn)確率、損失函數(shù)以及參數(shù)量的大小。圖7給出了迭代過程中驗(yàn)證集準(zhǔn)確率與損失函數(shù)變化情況。
由圖7(a)可以看出,不同模型在迭代過程中驗(yàn)證集準(zhǔn)確率變化呈現(xiàn)不同特點(diǎn)。具體來講,除GoogleNet外,5種模型在迭代過程中其準(zhǔn)確率均出現(xiàn)抖動(dòng)現(xiàn)象,對(duì)于MobileNet模型,雖在初始迭代時(shí)驗(yàn)證集準(zhǔn)確率較低,但隨著訓(xùn)練的深入,準(zhǔn)確率一直呈現(xiàn)上升趨勢(shì),且在75輪后超越了其余5種模型的準(zhǔn)確率,說明MobileNet模型相較于其他對(duì)比模型具有較高穩(wěn)定性。
表4給出了5種模型最終驗(yàn)證集準(zhǔn)確率的對(duì)比情況??芍?,VGG16和AlexNet雖準(zhǔn)確率較高,但模型內(nèi)存在128×128的3通道輸入下內(nèi)存占用分別達(dá)到了1022.6和443.0 MB,這必然會(huì)降低某些設(shè)備(如智能手機(jī),物聯(lián)網(wǎng)設(shè)備甚至是計(jì)算能力較低的計(jì)算機(jī))的運(yùn)行速度,同時(shí)占用大量內(nèi)存空間。因此,本研究將在上述方法的基礎(chǔ)上,使用知識(shí)蒸餾方法對(duì)模型進(jìn)行壓縮。
結(jié)合不同模型的內(nèi)存占用情況,本研究選用MobileNet作為知識(shí)蒸餾的學(xué)生網(wǎng)絡(luò)。此結(jié)果與本研究之前的設(shè)計(jì)相一致。
4.2知識(shí)蒸餾在不同模型上的表現(xiàn)
表5給出了知識(shí)蒸餾在VGG16、AlexNet、GoogleNet和ResNet 4種不同網(wǎng)絡(luò)結(jié)構(gòu)上的表現(xiàn)。根據(jù)表5可知,由于學(xué)生模型不僅學(xué)習(xí)樣本的真實(shí)標(biāo)簽,同時(shí)還學(xué)習(xí)了教師模型產(chǎn)生的保留了類間關(guān)系的軟化標(biāo)簽,因而不同網(wǎng)絡(luò)結(jié)構(gòu)經(jīng)過知識(shí)蒸餾后,模型準(zhǔn)確率均出現(xiàn)了明顯提升[22,23],平均提升了1.42%。具體地說,當(dāng)VGG16作為教師模型時(shí),模型準(zhǔn)確率提升了2.04%,達(dá)到97.54%,相比于ResNet作為教師模型,準(zhǔn)確率提高了2.38%,因此,經(jīng)過綜合考慮識(shí)別準(zhǔn)確率和識(shí)別時(shí)間兩個(gè)因素,本研究最終選擇將VGG16作為教師模型。
在內(nèi)存方面,由于學(xué)生模型均采用MobileNet,導(dǎo)致不同網(wǎng)絡(luò)模型經(jīng)過知識(shí)蒸餾后的內(nèi)存相差不大,但相較于原教師模型內(nèi)存則出現(xiàn)明顯降低,平均降低79.62%,其中AlexNet模型壓縮率最高,達(dá)到94.11%??偟膩碚f,試驗(yàn)結(jié)果表明,知識(shí)蒸餾不僅可以加快模型的運(yùn)行速度,使其滿足實(shí)時(shí)性要求,同時(shí)還能減少模型內(nèi)存。
4.3真實(shí)環(huán)境下的性能測(cè)試
為評(píng)估Distilled-MobileNet模型在真實(shí)環(huán)境下的表現(xiàn),本研究在由廣西壯族自治區(qū)農(nóng)業(yè)科學(xué)院提供的真實(shí)數(shù)據(jù)集合上用3.2節(jié)所述方法對(duì)經(jīng)過知識(shí)蒸餾改進(jìn)的Distilled-MobileNet模型進(jìn)行了性能測(cè)試。模型訓(xùn)練過程中的準(zhǔn)確率和損失函數(shù)變化曲線如圖8所示。
從圖8中可以看出,在訓(xùn)練過程中,損失函數(shù)下降平穩(wěn),同時(shí),模型的驗(yàn)證集準(zhǔn)確率呈整體上升趨勢(shì),且模型的收斂速度很快,在60次迭代后即達(dá)到了較好的收斂狀態(tài)。
使用單個(gè)病害識(shí)別率、平均準(zhǔn)確率、模型內(nèi)存、平均識(shí)別時(shí)間4個(gè)指標(biāo)對(duì)訓(xùn)練好的Distilled-MobileNet模型進(jìn)行準(zhǔn)確性評(píng)估。模型在真實(shí)環(huán)境下的評(píng)估結(jié)果見表6。結(jié)果表明,模型的平均準(zhǔn)確率達(dá)到了97.62%,平均識(shí)別時(shí)間縮短至0.218 s,僅占VGG16模型的13.20%,模型大小壓縮僅為19.83 MB,相比于VGG16縮小了93.60%。綜上,Distilled-MobileNet模型通過將復(fù)雜模型轉(zhuǎn)化為簡單的小模型,使其能夠部署在單片機(jī)、智能手機(jī)中,從而能夠不受不同應(yīng)用場(chǎng)景對(duì)于模型的內(nèi)存、時(shí)間限制,更能滿足不同應(yīng)用場(chǎng)景的要求,由此證明了本方法的有效性和可行性。
5? 總? 結(jié)
本研究針對(duì)常規(guī)的植物病害識(shí)別方法存在的識(shí)別效率較低的問題,提出了基于知識(shí)蒸餾的結(jié)構(gòu)化壓縮模型Distilled-MobileNet,與經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)模型相比,本方法的優(yōu)越性是能夠在略微提高準(zhǔn)確率的同時(shí)大幅降低參數(shù)內(nèi)存占用量、縮短識(shí)別時(shí)間,從而使模型滿足更高的實(shí)時(shí)性要求。本研究對(duì)不同模型的性能進(jìn)行了對(duì)比分析,取得的主要試驗(yàn)結(jié)果及結(jié)論如下。
(1)對(duì)比了VGG16,AlexNet,GoogLeNet,MobileNet和ResNet共5種網(wǎng)絡(luò)結(jié)構(gòu)的準(zhǔn)確率及參數(shù)內(nèi)存占用量,結(jié)果表明,雖然MobileNet準(zhǔn)確率略低于VGG16和ResNet,但網(wǎng)絡(luò)參數(shù)最少,因此,本研究選擇MobileNet作為知識(shí)蒸餾中的學(xué)生模型。
(2)對(duì)比了知識(shí)蒸餾在不同教師/學(xué)生模型上的表現(xiàn),結(jié)果表明,Distilled-MobileNet模型可以在小幅提高準(zhǔn)確率同時(shí)明顯降低模型的參數(shù)量內(nèi)存,加快模型識(shí)別速度。
參考文獻(xiàn):
[1]??? KAMILARIS A, PRENAFETA-BOLD? F X. A review of the use of convolutional neural networks in agriculture[J]. The Journal of Agricultural Science, 2018, 156(3): 312-322.
[2]??? KARLEKAR A, SEAL A. SoyNet: Soybean leaf diseases classification[J]. Computers and Electronics in Agriculture, 2020, 172: ID 105342.
[3]??? TETILA E C, MACHADO B B, MENEZES G K, et al. Automatic recognition of soybean leaf diseases Using UAV images and deep convolutional neural networks[J]. IEEE Geoscience and Remote Sensing Letters, 2019, 17(5): 903-907.
[4]??? ADEEL A, KHAN M A, AKRAM T, et al. Entropy controlled deep features selection framework for grape leaf diseases recognition[J]. Expert Systems, 2020(1): DOI: 10.1111/exsy.12569.
[5]??? ZHANG X, QIAO Y, MENG F , et al. Identification of maize leaf diseases using improved deep convolutional neural networks[J]. IEEE Access, 2018(6): 30370-30377.
[6]??? 陳桂芬, 趙姍, 曹麗英, 等.基于遷移學(xué)習(xí)與卷積神經(jīng)網(wǎng)絡(luò)的玉米植株病害識(shí)別[J]. 智慧農(nóng)業(yè), 2019, 1(2): 34-44.CHEN G, ZHAO S, CAO L, et al. Corn plant disease recognition based on migration learning and convolutional neural network[J]. Smart Agriculture, 2019, 1(2): 34-44.
[7]??? 吳華瑞. 基于深度殘差網(wǎng)絡(luò)的番茄葉片病害識(shí)別方法[J]. 智慧農(nóng)業(yè), 2019, 1(4): 42-49.WU H. Method of tomato leaf diseases recognition method based on deep residual network[J]. Smart Agriculture, 2019, 1(4): 42-49.
[8]??? 雷小康, 尹志剛, 趙瑞蓮. 基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)定點(diǎn)加速[J]. 計(jì)算機(jī)應(yīng)用, 2020, 40(10): 2811-2816.LEI X, YIN Z, ZHAO R. FPGA-based convolutional neural network fixed-point acceleration[J]. Computer Applications, 2020, 40(10): 2811-2816.
[9]??? HAN R, LIU C, LI S, et al. Accelerating deep learning systems via critical set identification and model compression[J]. IEEE Transactions on Computers, 2020, 69(7): 1059-1070.
[10]? RAHMAN C R, ARKO P S, ALI M E, et al. Identification and recognition of rice diseases and pests using convolutional neural networks[EB/OL]. arXiv:1812.01
043v3 [cs.CV] 4 Mar 2020.
[11]? SHIH K H, CHIU C, LIN J A, et al. Real-time object detection with reduced region proposal network via multi-feature concatenation[J]. IEEE Transactions on Neural Networks and Learning Systems, 2020, 31: 2164-2173.
[12]? HC A, YL A, KCY B, et al. Block change learning for knowledge distillation[J]. Information Sciences, 2020, 513: 360-371.
[13]? WU M, CHIU C, WU K. Multi-teacher knowledge distillation for compressed video action recognition based on deep learning[C]// ICASSP 2019-2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, New York, USA: IEEE, 2019.
[14]? HUGHES D P , SALATHE M. An open access repository of images on plant health to enable the development of mobile disease diagnostics[EB/OL]. 2015. arXiv:1511.08060 [cs.CY].
[15]? HINTON G, VINYALS O, DEAN J. Distilling the knowledge in a neural network[EB/OL]. Computer Science, 2015. arXiv:1503.02531 [stat.ML].
[16]? SHORTEN C, KHOSHGOFTAAR T M. A survey on image data augmentation for deep learning[J]. Journal of Big Data, 2019, 6(1): ID 60.
[17]? RADFORD A, METZ L, CHINTALA S. Unsupervised representation learning with deep convolutional generative adversarial networks[EB/OL]. 2015. arXiv:1511.06434v1 [cs.LG] 19 Nov 2015.
[18]? WENG L, PRENEEL B. A secure perceptual hash algorithm for image content authentication[C]// 12th IFIP TC 6/TC 11 International Conference on Communications and Multimedia Security. Berlin Heidelberg, German: Springer Verlag, 2011: 108-121.
[19]? PAN S J, YANG Q. A survey on transfer learning[J]. IEEE Transactions on Knowledge and Data Engineering, 2009, 22(10): 1345-1359.
[20]? HOWARD A G, ZHU M, CHEN B, et al. MobileNets: Efficient convolutional neural networks for mobile vision applications[EB/OL]. 2017. arXiv:1704.04861? [cs.CV].
[21]? KAILATH T. The divergence and Bhattacharyya distance measures in signal selection[J]. IEEE Transactions on Communication Technology, 1967, 15(1): 52-60.
[22]? ASHOK A , RHINEHART N , BEAINY F, et al. N2N learning: Network to network compression via policy Gradient Reinforcement Learning[C]// 6th International Conference on Learning Representations, ICLR 2018. Vancouver, BC, Canada: International Conference on Learning Representations, ICLR, 2018.
[23]? CHEBOTAR Y, WATERS A. Distilling knowledge from ensembles of neural networks for speech recognition[C]// Proceedings of the Annual Conference of the International Speech Communication Association, INTERSPEECH. San Francisco, CA, United States: International Speech Communication Association, 2016: 3439-3433.
Distilled-MobileNet Model of Convolutional Neural Network Simplified Structure for Plant Disease Recognition
QIU Wenjie1, YE Jin1*, HU Liangqing1, YANG Juan2, LI Qili3, MO Jianyou3, YI Wanmao1
(1.School of Computer and Electronic Information, Guangxi University, Nanning 530004, China;
2.School of Agriculture, Guangxi University, Nanning 530004, China;
3.Institute of Plant Protection, Guangxi Academy of Agricultural Sciences, Nanning 530007, China)
Abstract: The development of convolutional neural networks(CNN) has brought a large number of network parameters and huge model volumes, which greatly limites the application on devices with small computing resources, such as single-chip microcomputers and mobile devices. In order to solve the problem, a structured model compression method was studied in this research. Its core idea was using knowledge distillation to transfer the knowledge from the complex integrated model to a lightweight small-scale neural network. Firstly, VGG16 was used to train a teacher model with a higher recognition rate, whose volume was much larger than the student model. Then the knowledge in the model was transfered to MobileNet by using distillation. The parameters number of the VGG16 model was greatly reduced. The knowledge-distilled model was named Distilled-MobileNet, and was applied to the classification task of 38 common diseases (powdery mildew, Huanglong disease, etc.) of 14 crops (soybean, cucumber, tomato, etc.). The performance test of knowledge distillation on four different network structures of VGG16, AlexNet, GoogleNet, and ResNet showed that when VGG16 was used as a teacher model, the accuracy of the model was improved to 97.54%. Using single disease recognition rate, average accuracy rate, model memory and average recognition time as 4 indicators to evaluate the accuracy of the trained Distilled-MobileNet model in a real environment, the results showed that, the average accuracy of the model reached 97.62%, and the average recognition time was shortened to 0.218 s, only accounts for 13.20% of the VGG16 model, and the model size was reduced to only 19.83 MB, which was 93.60% smaller than VGG16. Compared with traditional neural networks, distilled-mobile model has a significant improvement in reducing size and shorting recognition time, and can provide a new idea for disease recognition on devices with limited memory and computing resources.
Key words: disease identification; deep learning; model compression; knowledge distillation; convolutional neural network