胡文藝, 王洪坤, 杜育佳
(成都理工大學(xué)計(jì)算機(jī)與網(wǎng)絡(luò)安全學(xué)院,四川 成都 610059)
2020 年3 月,聯(lián)合國(guó)糧農(nóng)組織、世界衛(wèi)生組織和世界貿(mào)易組織總干事發(fā)表聯(lián)合聲明,各國(guó)必須采取措施確保糧食安全[1]。番茄作為全球栽培最廣、消費(fèi)量最大的蔬菜作物,是國(guó)家出口創(chuàng)匯和農(nóng)民增收致富的重要途徑[2]。番茄富含VC、番茄紅素和礦物質(zhì),具有抗癌、防衰老和提高人體免疫力等功能[3]。番茄品種類型豐富,既可作水果又可鮮食作蔬菜,還可加工成各種如番茄醬、沙司及果汁的番茄制品,常被作為重要的研究對(duì)象及模式植物,在遺傳學(xué)、細(xì)胞生物學(xué)、生物工程、分子生物學(xué)和基因組學(xué)等科學(xué)研究領(lǐng)域具有重要研究?jī)r(jià)值[4]。在番茄的生產(chǎn)過(guò)程中,常伴有病蟲害的發(fā)生,會(huì)造成產(chǎn)量的巨大損失,其中以氣候濕潤(rùn)區(qū)晚疫病對(duì)番茄產(chǎn)量的影響尤為明顯[5]。因此,防治番茄病蟲害是提高番茄產(chǎn)量和品質(zhì)的關(guān)鍵,提供疾病早期的檢測(cè)和鑒定對(duì)選擇正確的防治方法和阻止疾病的傳播極為重要[6]。
近年來(lái),基于深度學(xué)習(xí)的機(jī)器學(xué)習(xí)和物聯(lián)網(wǎng)技術(shù)在農(nóng)業(yè)領(lǐng)域的應(yīng)用,提高了作物葉片病蟲害識(shí)別的效率和精度。傳統(tǒng)機(jī)器視覺(jué)算法需要根據(jù)目標(biāo)任務(wù)和先驗(yàn)知識(shí)選擇合適的特征(包括圖像顏色、形狀、紋理等),用來(lái)提取這些特征的特征提取器需要人為構(gòu)建,較為煩瑣和缺乏泛化能力[7-9]。卷積神經(jīng)網(wǎng)絡(luò)方法可以根據(jù)數(shù)據(jù)及其類別自行調(diào)整權(quán)值參數(shù)以構(gòu)建合適的特征提取器,相對(duì)高效便捷,構(gòu)建的特征提取器還具備更優(yōu)異的泛化能力,可以有效克服傳統(tǒng)方法的缺陷[10]。鄒永杰等[11]提出了一種結(jié)合HOG、LBP 特征的番茄病蟲害檢測(cè)模型。呂權(quán)[12]提出了一種基于神經(jīng)網(wǎng)絡(luò)的番茄葉部病害識(shí)別方法。JIANG D 等[13]采用深度學(xué)習(xí)的方法提取番茄葉片的斑葉枯病、晚疫病和黃化曲葉病等病害特征。劉志勇等[14]提出了基于改進(jìn)LeNet5 并通過(guò)數(shù)據(jù)增強(qiáng)方式擴(kuò)充數(shù)據(jù)的網(wǎng)絡(luò)模型。柴帥等[15]提出基于VGG-19 卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行遷移學(xué)習(xí),可提高番茄病蟲害的圖片分類精度。CHENG X 等[16]提出了注意力機(jī)制與殘差結(jié)構(gòu)相結(jié)合的PARNet 番茄葉部病害識(shí)別模型。
本文針對(duì)番茄病蟲害識(shí)別問(wèn)題,基于Kaggle 網(wǎng)站上的Tomato 數(shù)據(jù)集,引入壓縮與激勵(lì)(Squeeze-and-Excitation,SE)模塊的深度殘差網(wǎng)絡(luò)(ResNet),研究提升病番茄蟲害識(shí)別精度的方法,對(duì)番茄病蟲害及時(shí)監(jiān)測(cè)和處理具有重要的指導(dǎo)意義。
在深度學(xué)習(xí)不同的體系結(jié)構(gòu)中,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是一種特殊的空間數(shù)據(jù)多層神經(jīng)網(wǎng)絡(luò),其架構(gòu)靈感來(lái)自于生物視覺(jué)對(duì)外界的感知[17]。卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)是由HUBEL 和WISEL 在1959 年發(fā)現(xiàn)的,他們表示動(dòng)物視覺(jué)皮層中的細(xì)胞可以在小的感受野中識(shí)別光[18]。KUNIHIKO 等[19]受到這項(xiàng)工作的啟發(fā),在1980 年提出了新認(rèn)知機(jī),該網(wǎng)絡(luò)也被認(rèn)為是CNN 的第1 個(gè)理論模型。1998 年,LECUN Y等[20]開發(fā)了早期卷積神經(jīng)網(wǎng)絡(luò)的代表性結(jié)構(gòu)LeNet5,用于手寫數(shù)字識(shí)別。2021 年,KRIZHEVSKY 等將卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)行多層擴(kuò)展,設(shè)計(jì)了一個(gè)更大深度的網(wǎng)絡(luò)AlexNet,并在ILSVRC 上表現(xiàn)出優(yōu)異的性能[21-22]。
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)(CNN) 是由卷積層(Convolution)和池化層(Pooling)的單個(gè)或多個(gè)塊接上一個(gè)或多個(gè)全連接層(FC),最后跟上一個(gè)輸出層組成,如圖1 所示。卷積層是CNN 的核心部分,是卷積核的計(jì)算過(guò)程。卷積核通過(guò)每次移動(dòng)相同步長(zhǎng),將圖像像素和卷積核的對(duì)應(yīng)權(quán)重相乘,并對(duì)結(jié)果應(yīng)用非線性激活函數(shù),得到新的特征映射[23]。經(jīng)過(guò)多個(gè)卷積層的運(yùn)算,最后得到圖像在不同尺度的抽象表示。池化層將卷積輸出的一小部分作為輸入,并對(duì)其進(jìn)行下采樣以產(chǎn)生單個(gè)輸出。常見的池化操作有最大池化和平均池化兩種。通過(guò)池化降維,可以縮減模型大小提高計(jì)算速度,同時(shí)降低過(guò)擬合概率提升特征提取魯棒性[24]。CNN 的全連接層通常存在于前饋神經(jīng)網(wǎng)絡(luò)中,其本質(zhì)是一個(gè)矩陣乘法,相當(dāng)于一個(gè)特征空間變換,起到了將學(xué)習(xí)的“分布式特征表現(xiàn)”映射樣本標(biāo)記空間的作用[16]。
圖1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig. 1 Structure of convolutional neural networks
在圖像分類中,CNN 可以看作是兩個(gè)部分的組合:特征提取部分和分類部分。卷積層和池化層的操作都是特征提取的過(guò)程,以番茄葉片為例,從底層到高層的不同卷積層檢測(cè)出葉片的殘缺、卷曲、菌斑等各種特征,以便進(jìn)一步識(shí)別。在這些特征之上,添加FC 層作為分類器,并為輸入圖像分配一個(gè)作為何種癥狀的概率。除了層次設(shè)計(jì)外,CNN 的改進(jìn)還取決于激活函數(shù)、歸一化方法、損失函數(shù)、正則化、優(yōu)化和處理速度等方面。
ResNet(Residual Neural Network)由微軟研究院HE Kaiming 等提出,通過(guò)使用ResNet Unit 成功訓(xùn)練出了152 層的神經(jīng)網(wǎng)絡(luò),并在ILSVRC 2015 比賽中取得冠軍,在top5 上的錯(cuò)誤率為3.57%,同時(shí)參數(shù)量比VGGNet低,效果非常突出[25]。ResNet 的結(jié)構(gòu)可以極快地加速神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,模型的準(zhǔn)確率也有比較大的提升。同時(shí)ResNet 的推廣性非常好,甚至可以直接用到InceptionNet 網(wǎng)絡(luò)中[26]。
神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)會(huì)隨著網(wǎng)絡(luò)層數(shù)的不斷增加而變得越來(lái)越深,結(jié)構(gòu)加深會(huì)導(dǎo)致梯度消失,從而使得模型的學(xué)習(xí)越來(lái)越困難。因?yàn)楫?dāng)梯度被反向傳播到前面時(shí),重復(fù)相乘會(huì)導(dǎo)致梯度變得無(wú)限小,此時(shí)卷積神經(jīng)網(wǎng)絡(luò)的性能不會(huì)再提升,甚至有下降的趨勢(shì)[27]。這種下降并不是由過(guò)度擬合引起的,而是向適當(dāng)深度的模型中添加更多層導(dǎo)致的更高訓(xùn)練誤差造成的[28-29]。為了解決這個(gè)問(wèn)題,有學(xué)者提出引入全等映射的思想,提出殘差結(jié)構(gòu)學(xué)習(xí)單元,如圖2 所示?;舅枷胧遣幌M總€(gè)堆疊的層都直接符合所需的底層映射,而是顯示地讓這些層符合殘差映射。在形式上表現(xiàn)為,假設(shè)網(wǎng)絡(luò)的輸入是x,期望的底層映射是H(x),讓堆疊的非線性層符合F(x)=H(x)?x這個(gè)映射。原始的映射將會(huì)被重新定義為F(x)+x。由此,保護(hù)了輸入信息的完整性,整個(gè)網(wǎng)絡(luò)只需要學(xué)習(xí)輸入與輸出有差別的那一部分,簡(jiǎn)化了學(xué)習(xí)目標(biāo)和難度。
圖2 殘差結(jié)構(gòu)模塊Fig. 2 Residual structure module
殘差結(jié)構(gòu)單元不僅能有效地解決深度神經(jīng)網(wǎng)絡(luò)中梯度消失和精度退化的問(wèn)題,而且可以在不額外增加計(jì)算量和網(wǎng)絡(luò)參數(shù)的情況下提升模型的準(zhǔn)確度和計(jì)算速度[27]。
SENet (Squeeze-and-Excitation Networks)獲 得 了ImageNet2017 分類比賽冠軍,其提出的SE 模塊思想簡(jiǎn)單,易于實(shí)現(xiàn),并且很容易加載到現(xiàn)有的網(wǎng)絡(luò)模型框架中[30]。SE 是一個(gè)可由任意給定的變換組成的計(jì)算單元,結(jié)構(gòu)如圖3 所示,對(duì)于任意給定的信息進(jìn)入網(wǎng)絡(luò)模塊后進(jìn)行如式(1)所示的轉(zhuǎn)換。
圖3 SE 結(jié)構(gòu)Fig. 3 SE structure
式中,F(xiàn)tr為轉(zhuǎn)換操作(一個(gè)或一組標(biāo)準(zhǔn)的卷積操作),X是輸入的圖片,U是提取的特征,W、H、C分別是寬度、高度和通道數(shù)。特征U首先經(jīng)過(guò)一個(gè)壓縮操作,將空間維度為H×W的特征圖聚合成一個(gè)特征描述符。這個(gè)描述符包含了通道維度上特征響應(yīng)的全局分布情況,使較低級(jí)別的層也可以獲得來(lái)自網(wǎng)絡(luò)的全局感受野的信息。接下來(lái)是激勵(lì)過(guò)程,用一個(gè)樣例特化(sample-specific)的激活函數(shù),通過(guò)基于通道相關(guān)性的門限機(jī)制(self-gating mechanism)學(xué)習(xí)控制每個(gè)通道的激活情況。每個(gè)特征圖U將會(huì)被重新賦予權(quán)重并得到SE 輸出,可以直接輸出到下一層,在輸出之前,這個(gè)過(guò)程會(huì)被分成壓縮和激勵(lì)兩部分。
(1)壓縮(嵌入全局信息)。
為了解決通道間相關(guān)性的利用問(wèn)題,應(yīng)該首先輸出特征圖中每個(gè)通道的信號(hào)。每個(gè)卷積核都是作用在局部感受野上,這導(dǎo)致每個(gè)變換輸出U的單元不能利用這個(gè)范圍之外的環(huán)境信息,這個(gè)問(wèn)題在感受野很小的較低層級(jí)中會(huì)更加嚴(yán)重。為了減輕這個(gè)問(wèn)題,JIE H 等[30]將全局空間信息壓縮成一個(gè)通道描述符。利用全局平均池化得到一個(gè)通道維度(特征維度)上的統(tǒng)計(jì)數(shù)據(jù)。統(tǒng)計(jì)值z(mì)∈RC是由式(2)壓縮具有空間維度H×W的U得到的。
式中,F(xiàn)sq為壓縮過(guò)程,變換輸出U可以被解釋為一個(gè)局部描述符的集合,這些描述符的統(tǒng)計(jì)信息可以表達(dá)整幅圖像,利用這些信息在特征工程的研究中是很常見的[31-33]。
(2)激勵(lì)(自適應(yīng)重定標(biāo))。
為了能夠利用壓縮操作得到的聚合信息,下一步的目標(biāo)是完整捕獲通道維度上的依賴性。為了實(shí)現(xiàn)這個(gè)目標(biāo),這個(gè)函數(shù)必須具有滿足兩個(gè)標(biāo)準(zhǔn)。第一,足夠靈活,能夠?qū)W習(xí)通道間非線性的相互作用。第二,能夠?qū)W習(xí)一個(gè)非互斥(non-mutually-exclusive)的關(guān)系,以確保多個(gè)通道都能被強(qiáng)調(diào),這與獨(dú)熱激活(one-hot activation)方式相反。為了滿足這兩個(gè)標(biāo)準(zhǔn),選擇了一個(gè)帶有sigmoid 激活函數(shù)的簡(jiǎn)單門限機(jī)制,如式(3)所示。
ResNet 的殘差塊可以很好地利用淺層特征來(lái)獲取更多的關(guān)鍵特征值,在圖像分類和識(shí)別任務(wù)中,它經(jīng)常被用作主要的特征提取結(jié)構(gòu)。本文采用ResNet 作為主體結(jié)構(gòu),在此基礎(chǔ)上引入SE 模塊,構(gòu)建出了SEResNet 網(wǎng)絡(luò)結(jié)構(gòu),如圖4 所示。通過(guò)加入一個(gè)全局池化層來(lái)生成特征分布,并以此完成信息編碼的提取。為了獲得各通道之間的相關(guān)性,結(jié)合ReLU 激活函數(shù)和sigmiod 門控制機(jī)制來(lái)完成特征的重標(biāo)定[34]。另外,為了簡(jiǎn)化模型參數(shù)的復(fù)雜性,還在ReLU 函數(shù)的兩端分別采用了1 ×1的全連接層[35]。
圖4 SE-ResNet 網(wǎng)絡(luò)結(jié)構(gòu)Fig. 4 SE-ResNet structure
原始的ResNet 最后一層是一個(gè)全連接層,并且是一個(gè)輸出為1 000 維的線性層,為了讓該網(wǎng)絡(luò)適應(yīng)本文的番茄蟲害識(shí)別模型,做了一定的修改。
(1)將原來(lái)的1 層線性層改為3 層線性層,并且最后一個(gè)線性層的輸出維度是10,因?yàn)楸疚难芯康膯?wèn)題是一個(gè)10 分類問(wèn)題。
(2)在網(wǎng)絡(luò)的特征提取部分中使用PReLU 激活函數(shù)[36]。因?yàn)樵摷せ詈瘮?shù)可以有效防止網(wǎng)絡(luò)中的神經(jīng)元失活,還能在幾乎不增加網(wǎng)絡(luò)計(jì)算成本的情況下提升網(wǎng)絡(luò)的擬合能力。
(3)在前兩個(gè)線性層之后使用Dropout 方法[37]。Dropout 將網(wǎng)絡(luò)中的神經(jīng)元以設(shè)定的概率丟棄掉,這樣可以減少參數(shù)數(shù)量,在一定程度上提升網(wǎng)絡(luò)的訓(xùn)練效率。
(4)在最后一個(gè)線性層之后使用SoftMax 回歸作為網(wǎng)絡(luò)的輸出層。SoftMax 能將網(wǎng)絡(luò)的輸出映射到(0,1)之間,將最后結(jié)果轉(zhuǎn)化為每一個(gè)類別的概率。
試驗(yàn)數(shù)據(jù)集采用Kaggle 網(wǎng)站上的Tomato 數(shù)據(jù)集,共有9 種番茄病蟲害類別,部分病蟲害示例如圖5 所示。為了增加網(wǎng)絡(luò)模型的訓(xùn)練量,提高模型的泛化能力,在原始數(shù)據(jù)的基礎(chǔ)上利用數(shù)據(jù)增強(qiáng)的思想,擴(kuò)充番茄病蟲害數(shù)據(jù)集,最終使數(shù)據(jù)達(dá)到22 930 張,其中訓(xùn)練集數(shù)據(jù)達(dá)18 345 張,測(cè)試集數(shù)據(jù)達(dá)4 585 張,所有數(shù)據(jù)的統(tǒng)計(jì)如表1 所示。具體的數(shù)據(jù)增強(qiáng)方式:①以0.3 的概率對(duì)原始圖像進(jìn)行上下翻轉(zhuǎn)或者左右翻轉(zhuǎn);②用1∶1∶10 的平移尺度對(duì)圖片進(jìn)行平移;③按照?10°∶1°∶10°的旋轉(zhuǎn)角度對(duì)圖片進(jìn)行隨機(jī)旋轉(zhuǎn);④采用1∶1∶10 的增強(qiáng)范圍對(duì)圖片進(jìn)行對(duì)比度增強(qiáng);⑤以均值為0、標(biāo)準(zhǔn)差為1∶1∶5 對(duì)圖片進(jìn)行噪聲注入。
表1 數(shù)據(jù)統(tǒng)計(jì)Tab. 1 Data statistics單位:張
圖5 番茄病蟲害示例Fig. 5 Example of tomato pests and diseases
試驗(yàn)平臺(tái)為Windows10 操作系統(tǒng),16 GB RAM,CPU 為Intel(R) Core(TM) i5-10400F,處理器主頻為2.90 GHz,GPU 為RTX2060。使用的編程語(yǔ)言為Python,深度學(xué)習(xí)框架為Pytorch1.7.1,數(shù)據(jù)分析工具為matplotlib。
在經(jīng)典ResNet 網(wǎng)絡(luò)模型的基礎(chǔ)上進(jìn)行修改,使用SoftMax 回歸作為網(wǎng)絡(luò)的分類器,損失函數(shù)選擇交叉熵?fù)p失函數(shù),并使用Adam 優(yōu)化器進(jìn)行優(yōu)化和更新。在ResNet 的基礎(chǔ)上,將原來(lái)BasicBlock 模塊中的激活函數(shù)改為PReLU 函數(shù),并在網(wǎng)絡(luò)中加入SE 模塊,最后搭建出不同深度的網(wǎng)絡(luò)模型,分別為ResNet34、ResNet50、SE-ResNet34 和SE-ResNet50。
網(wǎng)絡(luò)模型搭建好后,將所有的圖片進(jìn)行裁剪使其大小固定在2 24×224像素,同時(shí)提取出用于訓(xùn)練和驗(yàn)證的圖片,訓(xùn)練集的圖片參與網(wǎng)絡(luò)模型的訓(xùn)練使其學(xué)習(xí)出對(duì)應(yīng)的參數(shù),測(cè)試集的圖片用來(lái)評(píng)價(jià)網(wǎng)絡(luò)模型的精度。試驗(yàn)方法采用遷移學(xué)習(xí)的方式,因?yàn)檫w移學(xué)習(xí)降低了構(gòu)建深度學(xué)習(xí)網(wǎng)絡(luò)需要的訓(xùn)練數(shù)據(jù)量和計(jì)算力,能夠很好地解決小容量數(shù)據(jù)集在模型上的過(guò)擬合問(wèn)題[38-39]。試驗(yàn)中設(shè)定模型的訓(xùn)練次數(shù)為40 次,數(shù)據(jù)批處理量(batchsize)為64,學(xué)習(xí)率為0.000 3。網(wǎng)絡(luò)模型參數(shù)設(shè)置好以后,保持其他條件的一致性,分別使用ResNet34、ResNet50、SE-ResNet34 和SE-ResNet50 網(wǎng)絡(luò)模型進(jìn)行試驗(yàn),并對(duì)結(jié)果進(jìn)行比較。
為了直觀看到試驗(yàn)效果和驗(yàn)證方法有效性,采用經(jīng)典ResNet 網(wǎng)絡(luò)和改進(jìn)的SE-ResNet 網(wǎng)絡(luò)方法對(duì)番茄病蟲害識(shí)別做對(duì)比試驗(yàn),評(píng)價(jià)指標(biāo)為準(zhǔn)確率和損失值,結(jié)果如表2 和表3 所示。
表2 平均準(zhǔn)確率對(duì)比Tab. 2 Comparison of average accuracy
表3 特定類別的識(shí)別準(zhǔn)確率對(duì)比Tab. 3 Comparison of recognition accuracy for specific categories單位:%
由表2 可知,ResNet34 網(wǎng)絡(luò)模型的平均識(shí)別準(zhǔn)確率最高可達(dá)94.23%,ResNet50 比ResNet34 的平均識(shí)別準(zhǔn)確率低,這是因?yàn)镽esNet50 對(duì)晚疫病和番茄花葉病毒的識(shí)別準(zhǔn)確率雖然較高,但是對(duì)其他種類病害的識(shí)別準(zhǔn)確率有一定程度的下降,尤其是在健康類別上,最終導(dǎo)致模型的平均識(shí)別準(zhǔn)確率有所下降。由圖6 可知,改進(jìn)的2 個(gè)網(wǎng)絡(luò)模型的平均正確率均高于原始網(wǎng)絡(luò)。這是因?yàn)橐肓薙E 模塊方法后,加強(qiáng)了網(wǎng)絡(luò)對(duì)輸入圖片的動(dòng)態(tài)適應(yīng)性,增強(qiáng)了網(wǎng)絡(luò)的區(qū)分能力,在一定程度上提高了網(wǎng)絡(luò)的識(shí)別正確率。在改進(jìn)的SE-ResNet34 和SE-ResNet50 兩個(gè)模型中,SE-ResNet34 的平均正確率最高,達(dá)到97.96%,比沒(méi)有SE 模塊的ResNet50 結(jié)果高5.89%,證實(shí)了模型的有效性。
圖6 不同模型的準(zhǔn)確率Fig. 6 Accuracy of different models
從表3 可以看出,加入SE 模塊的ResNet 網(wǎng)絡(luò)對(duì)病蟲害種類的識(shí)別正確率普遍高于經(jīng)典ResNet 網(wǎng)絡(luò)。以SE-ResNet 網(wǎng)絡(luò)為例,該網(wǎng)絡(luò)在健康和黃葉卷曲病毒上的識(shí)別準(zhǔn)確率相比經(jīng)典ResNet 分別提升了9.02%和3.48%,但是對(duì)葉霉病的識(shí)別準(zhǔn)確率卻下降了1.63%。這是因?yàn)镾E 模塊能自動(dòng)獲取到各通道特征的重要性,讓網(wǎng)絡(luò)模型學(xué)習(xí)到更重要的特征,由此讓網(wǎng)絡(luò)在學(xué)習(xí)特征時(shí)變得更加均衡,但正是由于這種均衡,會(huì)導(dǎo)致對(duì)健康和黃葉卷曲病毒類別的識(shí)別準(zhǔn)確率提升,而對(duì)葉霉病類別的識(shí)別準(zhǔn)確率有一定程度的下降。
對(duì)4 個(gè)網(wǎng)絡(luò)模型結(jié)構(gòu)進(jìn)行遷移學(xué)習(xí),訓(xùn)練過(guò)程中的損失值如圖7 所示??梢钥闯鯯E-ResNet34 和SEResNet50 的損失值均低于ResNet34 和ResNet50,這表明改進(jìn)后網(wǎng)絡(luò)模型的預(yù)測(cè)值和目標(biāo)值之間的差距越小,性能也越好。
由圖7 可知,在30 個(gè)epoch 后,損失值趨于平穩(wěn),但是依然存在一些小的波動(dòng)。從損失曲線上可以看出存在很多個(gè)極小值,這就是局部最優(yōu)解,網(wǎng)絡(luò)模型的每一訓(xùn)練都會(huì)使得參數(shù)的變換朝著模型的局部最優(yōu)解接近,但是局部最優(yōu)解相對(duì)于全局最優(yōu)解來(lái)說(shuō)存在著一定的偏差,所以會(huì)出現(xiàn)曲線上下波動(dòng)的情況。其次,學(xué)習(xí)率也會(huì)影響網(wǎng)絡(luò)模型的訓(xùn)練效率,較低的學(xué)習(xí)率會(huì)使loss 曲線下降緩慢;較高的學(xué)習(xí)率會(huì)使loss 曲線出現(xiàn)水平不變的情況。從圖中可以看出,SE-ResNet34 和SE-ResNet50 網(wǎng)絡(luò)模型的loss 曲線是先快速下降后緩慢下降再趨于平穩(wěn)的情況,同時(shí)它們的波動(dòng)也相對(duì)較小,這符合優(yōu)秀模型的loss 曲線分布。
圖7 不同模型的損失值Fig. 7 Loss values for different models
本文在經(jīng)典ResNet 網(wǎng)絡(luò)模型結(jié)構(gòu)的基礎(chǔ)上嵌入了SE 模塊,并改進(jìn)了最后一層的全連接層結(jié)構(gòu),用一個(gè)10 分類的3 層全連接層取代原來(lái)ResNet 模型的1 000類分類層,對(duì)番茄的9 種病蟲害加一種健康類別共10種類型進(jìn)行研究。通過(guò)遷移學(xué)習(xí)的方法,將Pytorch 官網(wǎng)預(yù)訓(xùn)練好的模型應(yīng)用到網(wǎng)絡(luò)中,基于不同深度的代表性網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)建了4 種病蟲害識(shí)別模型,其中最高平均正確率達(dá)到了97.96%,證明了方法是有效可行的。試驗(yàn)結(jié)果表明,加入SE 模塊的ResNet 網(wǎng)絡(luò)模型在提升網(wǎng)絡(luò)精度、獲得有效的病蟲害圖片特征、識(shí)別復(fù)雜圖片等方面都取得了不錯(cuò)的效果。
但是現(xiàn)實(shí)生活中番茄病蟲害的種類不僅僅是本文所示的種類,要想網(wǎng)絡(luò)模型具有更強(qiáng)的泛化能力和更好地應(yīng)用在實(shí)際生產(chǎn)中,還需要收集更全面、更多種類的數(shù)據(jù)集。下一步研究重心將會(huì)放在如何收集更大更全面的數(shù)據(jù)集,以及網(wǎng)絡(luò)模型的進(jìn)一步訓(xùn)練優(yōu)化上。