RCNN网络是第一个将ILSVRC 2012上训练的用于分类的CNN 在其他数据上fine-tuning,用来object detection的,它在论文中探索了一个问题,即在ImageNet上训练的CNN分类器在多大程度上可以推广到目标检测中。
为了理解网络中的哪一层对目标检测的性能非常重要,我们分析了CNN的最后三层的结果,即pool5层、fc6层、fc7层:
pool5:已经进行了可视化,pool5的输出是6x6x256;
fc6:是全连接层,将pool5 reshape为9216x1,然后乘以一个4096x9216的矩阵权重,加上偏置,可以得到fc6层的feature map(4096 x 1);
fc7:是网络的最后一层,将fc6乘以一个4096x4096的矩阵权重,得到fc7层的feature map(4096x1)
没有finetune:
Much of the CNN’s representational power comes from its convolutional layers, rather than from the much larger densely connected layers.
所有的CNN参数都是在ILSVRC 2012上预训练得到的,实验发现,fc7层的结果比fc6层的差,也就是CNN 29%的参数可以减掉,同时不拉低mAP,更令人惊讶的是,将fc7和fc6层取掉,只用fc5层的特征,得到了很好的效果,参数却只有6%。CNN大部分的表述的能力来自卷积层,而不是连接层。
有finetune:
The boost from fine-tuning is much larger for fc6 and fc7 than for pool5, which suggests that the pool5 features learned from ImageNet are general and that most of the improvement is gained from learning domain-specific non-linear classifiers on top of them。
finetuen过之后,提升是惊人的,mAP增加了8%,fc6和fc7的微调带来的提升要比pool5大得多,这表明从ImageNet学习到的pool5功能是通用的,并且大多数改进都是通过在它们之上学习特定于领域的非线性分类器获得的。