面对解决小型图像数据集,一种常用且非常高效的方法是使用预训练网络。那么什么是预训练网络呢?
定义:
预训练网络(pretrained network)是一个保存好的网络,之前已经在大型数据集(通常是大规模图像分类任务)上训练好。
作用:
如果这个原始数据集足够大且足够通用,那么预训练网络学到的特征的空间层次结构可以有效地作为视觉世界的通用模型,因此这些特征可用于各种不通的计算机视觉问题,即使这些新问题涉及的类别和原始任务完全不同。
这种学到的特征在不同问题之间的可移植性,是深度学习与血多早期浅层学习方法相比的重要有事,它使得深度学习对小数据问题非常有效。
例子:
在ImageNet上训练了一个网络(其类别主要是动物和日常用品),然后将这个训练好的网络应用于某个不相干的任务,比如图像识别中识别家具。
预训练网络的方法:
1)特征提取(feature extraction)
2)微调模型(fine-tuning)
一、特征提取
原理:
特征提取是使用之前网络学到的表示来从新样本中提取出有趣的特征。然后将这些特征输入一个新的分类器,从头开始训练。
过程:
用于图像分类的卷积神经网络包含两部分:首先是一系列池化层和卷积层,最后是一个密集连接分类器。第一部分叫做模型的卷积基