How transferable are features in deep nerual networks? 【paper review】

迁移学习是什么:
 迁移学习就是用已经学过的知识【源域,source data】来进行新知识的学习【目标域,target data】,也就是说举一反三,用一个已经训练好的模型,去训练一个新的模型。

论文地址:点击打开链接

【有了这个基本的认知后,我们来看下这篇论文】:

在很多训练好的DNN模型中,前几层是作用于通用特征的识别,比如识别一个图片里面有没有一条线,而不是特有特征的识别。所以前几层可以使用于更多的dataset和tasks, 而后几层就是帮助模型完成从common到specific识别的过程,所以一般后几层并不适用于很多其他种类的dataset。这种现象不仅出现在supervised learning上,还出现在density learning和unsupervised learning 上
【当target data远远小于source data的时候,迁移学习是很有帮助的,而且还不会出现过拟合】

transfer learning 的基本方法:
1. 用source data训练一个模型
2. 将该模型的前几层复制到要训练的target domain的模型上 (复制 权重)
3. 将target domain的模型的后几层初始化,再开始训练

准备工作:
在ImageNet里面,100个类里面,随机平分,一半数据集我们记为A,另一半记为B (A,B中没有overlapping subset)。分别训练模型Abase和模型Bbase。这两个模型都是8层的CNN。其中有7层为网络。

下面我们来验证一下,是不是对于DNN来说,前几层是通用的:
我们以第三层为例,建立如下四种模型:
B3B: 保留Bbase模型的前三层,在此基础上初始化其余4~8层,并训练出一个基于B的模型
A3B: 保留Abase模型的前三层,在此基础上初始化其余4~8层,并训练出一个基于B的模型
B3B+: 类似于B3B,但前三层进行了fine-tuned(调优)
A3B+: 类似于A3B,但前三层进行了fine-tuned(调优)
下面针对1~7层,分别重复做上述四种模型:实验结果图如下:

How transferable are features in deep nerual networks? 【paper review】

How transferable are features in deep nerual networks? 【paper review】

1.白色圆圈代表Bbase模型,准确率在 62.5%
2.BnB模型的performance却有点奇怪:保留第一层和第二层的结果与Bbase基本一致。然而,在保留前3,4,5,6层时,尤其是保留4,5两层,performance却很不好。这说明,这几层的学习相关的,不能单独学习,固定前几层也不能学习出这几层的特征来(co-appected features)。而当保留前7和前8的时候,performance又好了。
3.BnB+结果与BnB基本一直
4.AnB在layer3有点下降,layer4~7有明显偏差。这个除了是co-appected features导致的,还因为特征的generality变小了
5.AnB+的结果最令人吃惊,不管哪一层都超过了Bbase。 一个可能的原因是迁移层有机会学到目标网络自身不能学到的图像特征,因此具有更好的泛化性。

【下面我们来对比相似性低的两种数据集的划分】
How transferable are features in deep nerual networks? 【paper review】