基于keras的猫狗分类(预训练网络)

时间:2019-01-11
本文章向大家介绍基于keras的猫狗分类(预训练网络),主要包括基于keras的猫狗分类(预训练网络)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

前言:

        上一篇,我们介绍了小型卷积神经网络训练分类模型,这次我们将采用预训练网络。

二、使用预训练的卷积神经网络

        想要将深度学习应用于小型图像数据集,一种常用且非常高效的方法是使用预训练网络(pretrained network)。预训练网络是一个保存好的网络,之前已在大型数据集上训练好。如果这个原始数据集足够大且足够通用,那么我们就可以把预训练网络应用到我们的问题上。

        我们将使用VGG16架构,它由Karen Simonyan和Andrew Zisserman在2014年开发。对于ImageNet,它是一个简单而又广泛使用的卷积神经架构,尽管它远不如如今的最先进结构,但它胜在简单,适合初学者。

        使用预训练网络有2种方法:特征提取(feature extraction)和微调模型(fine-tunning)。

2.1 特征提取

        特征提取是使用之前网络学习到的表示来从新样本中提取出有趣的特征,然后将这些特征输入一个新的分类器,从头开始训练。

        我们已经知道,用于图像分类的卷积神经网络包含两部分:首先是一系列卷积层和池化层,最后是一个密集连接分类器。第一部分叫做模型的卷积基(convolutional base)。对于卷积神经网络而言,特征提取就是取出之前训练好的网络的卷积基,在上面运行新数据,然后在输出上面训练一个新的分类器,如下图:

保持卷积基不变,改变分类器