【調參記錄】基於CNN對5類花卉植物數據一步步提升分類準確率

背景

學習深度學習的框架,積累調參經驗

數據集

5類花卉圖像數據,分別是向日葵、鬱金香、玫瑰、蒲公英、雛菊,每類花卉在700到1000張左右,圖像尺寸大小不統一,常見尺寸是320x240,數據並不乾淨,有些混雜的圖片。
任務是利用CNN方法對其進行分類識別。

模型記錄

1.基本CNN模型進行分類

  • 卷積層1:32個卷積核、大小5x5、步數1,激活函數ReLU,最大池化、步數2,輸入150x150x3
  • 卷積層2:64個卷積核、大小3x3、步數1,激活函數ReLU,最大池化、步數2
  • 卷積層3:96個卷積核、大小3x3、步數1,激活函數ReLU,最大池化、步數2
  • 卷積層4:96個卷積核、大小3x3、步數1,激活函數ReLU,最大池化、步數2
  • 全連接層1:512個神經元,激活函數ReLU
  • 全連接層2:256個神經元,激活函數ReLU
  • 分類層:5個神經元,激活函數softmax

batch_size=16,epoch=50。
效果如下,並不理想,出現了過擬合,識別率在65%左右,val_loss不減反增,令人畏懼。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

2.數據增強

在上面的基礎上,加上了圖像增強處理,具體方式是,隨機旋轉範圍10度,隨機縮放0.9~1.1範圍,水平和豎直偏移爲範圍0.2。
epoch還是50,效果如下,識別率在77%左右,loss_val下降後反彈,波動較大,訓練loss持續下降,似乎可以繼續下降:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

3.模型改進

在上面的基礎上,對cnn模型進行改進,添加了權重衰減、Dropout層、批正則化層(BN)

  • 卷積層1:32個卷積核、大小5x5、步數1,激活函數ReLU,最大池化、步數2,輸入150x150x3
  • 加入BN層,介於卷積層和池化層之間
  • 卷積層2:64個卷積核、大小3x3、步數1,激活函數ReLU,最大池化、步數2
  • 加入BN層,介於卷積層和池化層之間
  • 卷積層3:96個卷積核、大小3x3、步數1,激活函數ReLU,最大池化、步數2
  • 加入BN層,介於卷積層和池化層之間
  • 卷積層4:96個卷積核、大小3x3、步數1,激活函數ReLU,最大池化、步數2
  • 加入BN層,介於卷積層和池化層之間
  • 全連接層1:512個神經元,激活函數ReLU,加入權重衰減
  • 加入Dropout層,0.3
  • 全連接層2:256個神經元,激活函數ReLU,加入權重衰減
  • 加入Dropout層,0.3
  • 分類層:5個神經元,激活函數softmax

epoch150,效果如下,發現最後的識別率在83%左右。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

4.自調整學習率

規則是,如果在5個epoch內,val識別率還是不增加,就讓lr變爲原來的0.1倍

epoch50,batch_size增加,效果如下,loss趨於平坦,識別率在85%左右,說明合適的學習率很重要,但是最後lr變成了1e-10甚至以下,loss平坦,說明lr越小,收斂越沒有效果。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

5.增加cnn網絡深度

方法是在每個卷積層後面repeat同樣數量的2個卷積層。效果就不上傳了,只提升了0.5%~1%左右的識別率。

總結

1.卷積核尺寸不能超過圖像尺寸,否則訓練下來沒什麼效果
2.過擬合時候,採用合適的數據增強十分有效,而且對於訓練效果也很有幫助,數據增強中,水平翻轉比豎直翻轉更有效,因爲沒有倒立的花朵,其他方法也可以多嘗試下。
3.在預處理階段,讓X_train歸一化會具有一定效果
4.在網絡改進中,BN層(批正則化,讓數據分佈均勻)的加入和dropout層(隨機失效,避免過擬合)的效果尤爲明顯
5.深度網絡似乎並沒有什麼很明顯的提升,甚至可能會導致梯度問題,但是深度網絡的理解能力肯定要比非深度網絡要好。
6.學習率的選擇非常重要,越大,收斂越快,但達不到最優的點,越小,收斂越慢,可能會導致局部最優。在訓練中自適應調整是一種很好的方法。
7.基本cnn:65%,數據增強:77%左右,模型改進83%左右,自適應調整學習率,85%左右,深度cnn網絡,沒有很明顯的提升。

附個圖

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
參考鏈接:
https://www.kaggle.com/alxmamaev/flowers-recognition(數據集來源)
https://zhuanlan.zhihu.com/p/29534841(受啓發的文章)

要代碼的人比較多,所以公開數據集+代碼的百度網盤鏈接:
鏈接:https://pan.baidu.com/s/1-0u55gO38V0PckMZ0IyYSA
提取碼:wkhi

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章