?

基于卷積神經網絡和Tensorflow的昆蟲圖像識別研究

2022-07-29 10:06劉姝珺吳晟宇
光源與照明 2022年4期
關鍵詞:池化昆蟲神經元

劉姝珺,吳晟宇

南京工程學院,江蘇 南京 211167

0 引言

中國是農業大國,在傳統的農業生產中,經常會受到病蟲害問題的困擾。在解決病蟲害問題時,第一步是識別昆蟲。在傳統的昆蟲識別方法中,昆蟲專家根據專業知識觀察昆蟲的外部特征,并對照相關的昆蟲圖鑒進行識別,費時費力。如今,傳統的昆蟲識別方法逐漸被昆蟲圖像識別技術代替。目前常用的昆蟲識別技術有圖像識別法、微波雷達檢測法[1]、生物光子檢測法[2]、取樣檢測法、近紅外及高光譜法[3]、聲測法[4]等。近年來,隨著人工智能的迅速發展,深度學習技術在處理自然語言、機器視覺等方面取得了很多成果,隨著深度學習的發展,已經有研究人員開始將深度學習技術應用于昆蟲的圖像識別[5-6]。文章旨在利用基于深度學習的圖像識別技術解決昆蟲識別問題,希望能給現實生活中的病蟲害識別問題提供新的解決問題的思路。

1 深度學習方法

深度學習方法是一種多層次抽象學習的方法,在機器學習的基礎上發展而來。深度學習通過對底層數據的相關學習,抽取出相關特征,再通過非線性的映射函數進行從底層到高層的傳遞與轉換,最終形成機器模型。深度學習方法識別的對象都比較復雜,通常訓練獲得的特征遠大于傳統的人工識別獲取的特征,并且分布式特征提取能夠很好地處理非線性關系,也更符合生活中的實際情景。深度學習方法發展至今,通過對基本模型的優化和訓練得到了很多性能良好的模型,如受限玻爾茲曼機RBM、自動編碼器AC和卷積神經網絡CNN等較基礎的深度學習模型。

2 Tensorflow與卷積神經網絡

2.1 Tensorflow

Tensorflow是谷歌發布的第二代人工智能系統[7],它是一個開源軟件庫,用于機器學習與神經網絡研究。Tensorflow支持短期記憶網絡LSTMN、循環神經網絡RNN和卷積神經網絡CNN等神經網絡模型[8]。

2.2 卷積神經網絡

2.2.1 卷積

神經網絡由大量神經元相互連接而成[9],神經元可以在線性組合輸入后加上非線性激活函數進行非線性變換,然后輸出,神經網絡公式如下:

式中:ai1、ai1-1分別為神經網絡中的一個神經元,分別位于第l層和第l-1層第j個;Wij1為權重;bi1為偏置項;函數f為激活函數。

卷積神經網絡通過局部連接和共享權值方法降低了網絡復雜度,緩解了過擬合問題。其中,層與層的神經元不再是全連接,通過卷積運算相鄰層之間只有部分神經元連接,使用相同卷積核進行卷積操作構成特征圖。輸入輸出特征圖的關系公式如下:

式中:Ai1、Ai1-1分別為第l層和第l-1層第i個特征圖,符號“*”表示卷積運算;Kij1為第l層第i個特征圖與第l-1層第j個特征圖之間進行卷積映射的卷積核。

圖像卷積運算的過程如圖1所示。特征圖像與卷積核都以矩陣形式存在,卷積核中的權值與輸入特征圖上對應的數值進行對應元素相乘,并對所得元素值進行累加,最終得到輸出特征圖的值。卷積操作通常以設定步長滑動的方式在特征圖上進行,圖1的滑動步長為1。

圖1 卷積運算過程

2.2.2 池化

池化又稱為子采樣或下采樣,因為圖像相鄰區域的特征極可能重合,所以卷積層輸出中包含的大部分信息是多余的。池化是將圖像全局的特征進行聚合統計,簡化卷積網絡計算復雜度,有效防止過擬合。池化運算常用的方法有均值池化[10]和最大值池化[11],池化運算過程如圖2所示,圖2的池化操作滑動步長為2。

圖2 池化運算過程

2.2.3 激活函數

激活函數將非線性因素引入網絡[12],可以提升網絡處理復雜模式的能力。卷積網絡中常用的激活函數有tanh、Sigmoid、ReLu等。對比ReLu激活函數,Sigmoid激活函數和tanh激活函數均為飽和函數,存在梯度消失問題,采用了冪運算,計算量相對較大。因此,ReLu激活函數是目前在卷積網絡中最常用的激活函數。

ReLu激活函數的優點如下:(1)Relu激活函數是非飽和函數,導數為1,能有效防止梯度消失;(2)小于0的部分返回值為0,只有大于0的部分才有效,可以適當減少計算量;(3)小于0的部分輸出值為0,帶來網絡稀疏性,減少了參數間相互依賴的關系,可以緩解網絡的過擬合問題。

ReLu也存在一定的缺點。由于ReLu函數在x<0時梯度為0,可能導致該神經元后的梯度永遠為0,造成神經元壞死,無論進行任何訓練神經元的參數,都無法再更新。為了解決上述問題,研究學者提出了改進的ReLu激活函數,如LReLu(Leaky ReLu)、PReLu(Parametric ReLu)和 RReLu(Randomized Leaky ReLu)。其中,LReLu采用固定的a值;PRelu通過學習得到a值;RReLu的a值采用服從高斯分布的隨機值。

2.2.4 分類器

邏輯回歸分類器只能解決二分類問題,為了構建神經網絡的多分類模型,通常使用Softmax分類器。對于給定的輸入x,計算每一種分類結果的出現概率p= (y=j|x)。假設訓練樣本集為 { (x(1),y(1)), … , (xm,ym)},y(i)∈ {1 , 2,...,k},模型參數為W,Softmax函數要輸出一個k維向量來估計k分類概率值,公式如下:

式中:為輸出值;k為輸出神經元個數;為歸一項,即確保函數所有輸出值總和為1,且每個值分布在(0, 1)范圍內。

損失

函數L(W)是衡量模型輸出和真實值的標準,需要通過不斷優化使損失函數降低,公式如下:

式中:l{y(i)=j}為真函數時,值為1,反之,值為0;m為訓練樣本;λ為權重衰減參數。

3 昆蟲圖像模型的建立

3.1 昆蟲圖像數據采集

在模型訓練之前,選取10個昆蟲種類作為訓練數據集的內容,然后通過網絡爬蟲,針對每個種類的昆蟲各爬取200份數據,經過人工篩選,過濾掉錯誤和不合適的圖片后,留下143份訓練數據,最后按照近似7∶3的比例劃分數據集。得到每個昆蟲種類含有100張圖片的訓練集和含有43張圖片的測試集。

3.2 昆蟲圖像數據預處理:獨熱編碼

獨熱編碼(one-hot encoding)又稱為一位有效編碼,主要采用N位狀態寄存器對N個狀態進行編碼,每個狀態都有獨立的寄存器位,并且在任意時候只有一位有效。在實驗中,將圖片數據集轉換成數組形式,并將其亂序,對變遷數據集進行獨熱編碼,為后續模型訓練做準備。

3.3 Tensorflow卷積神經網絡的搭建

搭建卷積神經網絡時選取的是經典的LeNet-5模型[13],定義了2層卷積池化層和3層全連接層。為了防止模型參數過擬合,設置dropout隨機失活器,dropout值設置為0.5。

文章的研究重點是討論不同優化器的使用和學習率的設置對模型最終測試結果的影響,在對各個優化器進行測試時,將采用已被廣泛采用的參數值作為參考,在參考值的小幅度區間內進行試驗,由此確定模型預測準確性的變化。

3.3.1 Adam優化器(Adam optimizer)

Adam是指自適應矩估計(adaptive moment estimation),是梯度下降法的一種變形[14],其每次迭代參數的學習率都有一定的范圍,不會因為梯度過大而導致學習率過大,參數值相對穩定。

Adam優化器的預測準確率如圖3所示,昆蟲識別效果如圖4所示。雖然訓練數據有限,但在0.01~0.001的學習率下,Adam優化器的預測準確率可以達90%左右,效果較好。當學習率大于0.01以后,預測的準確率開始下降。

圖3 Adam優化器的預測準確率

圖4 昆蟲識別效果示意圖

3.3.2 GD優化器(gradient descent optimizer)

標準梯度下降法(gradient descent, GD)常用于求解機器學習算法模型參數,通過梯度下降,一步步迭代求解,從而得到最小化的損失函數。

GD優化器的訓練結果如圖5所示,昆蟲識別效果如圖6所示。在使用GD優化器時,效果并不理想。學習率初始設置為0.05時,預測的準確率極低;當學習率大幅度調大時,情況稍有好轉,但預測準確率仍不能令人滿意;當學習率大幅度調小時,情況未發生好轉。由此看出,在文章的實驗條件下,GD優化器不適合作為實驗的優化器。

圖5 GD優化器訓練結果

圖6 昆蟲識別效果示意圖

3.3.3 Adagrad優化器(Adagrad optimizer)

Adagrad是一種基于SGD的算法[15],其核心思想是對不同的數據集用不同的學習率去調整參數,用較小的學習率調整常見數據集的參數,用較大的學習率調整罕見數據集的參數。Adagrad算法比較適合用于數據稀疏的數據集。

Adagrad優化器的訓練結果如表1所示,昆蟲識別效果如圖7所示。Adagrad優化器學習率的初始值設置為0.005,當將其調小時預測準確率出現較大的下降;當將學習率按一定梯度調大時,預測的準確率出現好轉,最好的情況是學習率為0.01時,測試準確率接近90%,但總體的準確率基本維持在80%左右。

圖7 昆蟲識別效果示意圖

表1 Adagrad優化器的訓練結果

4 結論

文章基于Tensorflow搭建了卷積神經網絡進行昆蟲識別,并重點討論了不同優化器的使用和學習率的設置對模型最終測試結果的影響。文章主要對三種優化器進行了實驗,分別是Adam優化器、GD優化器和Adagrad優化器,并分別設置了不同的學習率。最終發現Adam優化器在學習率為0.009時表現最好,預測準確率達91%。本次實驗的數據集較小,且選擇的卷積神經網絡的深度較淺,在預測準確度方面仍存在很大的提升空間。

猜你喜歡
池化昆蟲神經元
基于Sobel算子的池化算法設計
基于高斯函數的池化算法
RFID昆蟲閱讀放大鏡
卷積神經網絡中的自適應加權池化
借昆蟲上課
基于卷積神經網絡和池化算法的表情識別研究
我最喜歡的昆蟲——知了
躍動的神經元——波蘭Brain Embassy聯合辦公
昆蟲的冬天
ERK1/2介導姜黃素抑制STS誘導神經元毒性損傷的作用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合