第二卷 第四章 微调网络
在上一章中,我们学习了如何将预训练的卷积神经网络视为特征提取器。使用这个特征提取器,我们通过网络向前传播我们的图像数据集,提取给定层的激活,并将值保存到磁盘。然后在CNN特征之上训练一个标准的机器学习分类器(比如逻辑回归),就像我们使用手工设计的特征(如SIFT、HOG、LBPs等。这种称为迁移学习的CNN特征提取器方法获得了显着的准确性,远远高于我们之前在Animals、CALTECH-101或Flowers-17数据集上的任何实验。
但是还有另一种类型的迁移学习,如果您有足够的数据,它实际上可以胜过特征提取方法。这种方法称为微调,需要我们进行“网络手术”。首先,我们用手术刀从预训练的卷积神经网络(例如VGG、ResNet或Inception)中切掉最后一组全连接层(即网络的“头部”)。然后我们用一组新的具有随机初始化的全连接层替换头部。从那里开始,头部下方的所有层都被冻结,因此它们的权重无法更新(即,反向传播中的反向传播不会到达它们)。
然后,我们使用非常小的学习率来训练网络,这样新的FC层集就可以开始从网络中先前学习的CONV层中学习模