Building powerful image classification models using very little data

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

 

 

posted @ 2019-04-11 20:05  zjf记录点滴  阅读(201)  评论(0编辑  收藏  举报