1. 程式人生 > >Building powerful image classification models using very little data

Building powerful image classification models using very little data

nta lan tar pre info cat reference models sin

Keras:https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html

Reference:https://jkjung-avt.github.io/keras-tutorial/

本文目的:用盡可能少的數據集,訓練出準確度盡可能高的神經網絡模型

1、如果比較少,則可以使用數據增強【類似於產生更多的數據,可以在一定程度上避免過擬合】

2、神經網絡模型不是越復雜越好,而應該視數據集的量而定

3、Fine-tuning the top layers of a pre-trained network,Using the boeeleneck features of a pre-trained network,Referring to Keras‘ Applications documentation【對於使用此方法,如果pre-trained network很復雜,則可以預先將train image和valid image流經pre-trained model產生bottleneck features,並存放起來。到了訓練的時候再將bottleneck features取出來,輸入Fully-connected classifier進行訓練------>這樣訓練的時候速度會很快】

這裏我們只微調最後的卷積塊而不是整個網絡,其目的在於防止過擬合

微調應該以非常小的學習率完成,通常使用SGD優化器而不是適應性學習率優化器,例如RMSProp

技術分享圖片

技術分享圖片

Building powerful image classification models using very little data