how transferable are features in

2017-12-15  本文已影响0人  FireJohnny

第一次书写这样的文章,问题颇多,还望指正。

本文来源:arxiv.org/pdf/1411.1792.pdf

最近在写开题报告,被老师怼的死去活来。老师竟然不知道我想表达什么,这就很尴尬了,于是萌生了写一些文章,提升一下自己的写作能力的想法。

接下来进入正题,本文做了些什么:

特征的迁移是在哪一层最有效的

作者介绍了深度学习以往的一些迁移算法,认为:迁移学习中的前几层是提的一般性特征,最后的几层提取的是该任务下的专有特征。

然后提出出疑问,迁移是如何在深度学习中进行的:

图1

1.迁移学习哪些层次提取的是一般性特征,哪些是特征是针对性的

2.这些迁移的特征是突然发生在哪一层的,还是分散开的

3.这些迁移主要发生的位置,开始,中间或是最后?

随后作者根据这些问题设计了实验并去验证。

实验设计

作者设计了一个8层的卷积网络用于特征提取并验证特征的迁移(或是权重的迁移?)如下图所示:

图2

数据的切分

作者在ImageNet上将ImageNet的1000类以500类为一个数据集,且分为两种情况:1、假如有13中类似的数据:如:4种不同的猫,2种不同的狗,4中不同狮子,3种不同的豹子,尽量均衡的将他们分来两个数据集中去,称这两个数据集为baseA,baseB;2、原数据中有551中是人为实体数据,449中自然数据(不太理解,不过意思应该是前者数据之间的类别比后者数据类别之间的差距小)。

迁移的设计

在获取到数据后,就需要对网络的权重进行重构,由图2可知道作者做了4种类别的试验。

网络中的第0层为数据的输入,1-8层为卷积层,最后一层为分类层

第一步:先将A、B两个数据自己训练自己的网络,得到一个训练好权重的网络Wa1-Wa8和Wb1-Wb8(不知道怎么下标,请教一下);

第二步:然后在将网络的前几层(不包含最后一层的权重,即W8,这一层是针对本任务下的权重训练)的权重迁移到另一个网络,在此曾网络之后再添上新的网络重新组成一个8层网络再次训练。

第一种情况

训练好了网络之后可以得到一个8层的卷积网络,第一种做法,将在baseB上的前n(n<8)层网络,固定权值,对其余的(8-n)层网络随机初始画圈中之后再次的在baseB上训练,作者称其为BnB(图中的B3B表示前网络的前三层的权重用于迁移)。对应的将固定的权重进行fine-tuned(微调),作者称其为BnB+。

第二种情况

同样是训练好网络,但是这一次将在baseA上训练好的权重的前n层固定,其余网络随机初始化后,再次的在baseB数据集上训练,这种方式表示为AnB,同样通过微调这些迁移来的权重的方式表示为AnB+。

实验结果

作者的代码可以他的主页下找到yosinski.com/transfer,不管其他直接上图对结果进行分析:

图3

图3是在相似的数据集上做的试验,即baseA和baseB中的数据类别类似。

图3中的上图是不同迁移层次对结果(accuracy)的影响,layers=0表示没有迁移(白色圆圈),

蓝色圆圈表示自迁移,但是没有微调,淡蓝色中有十字的表示自迁移且微调,

红色菱形表示从baseA中迁移来的权重层,但没有微调,最后一种是有微调的训练。

下图表示对应层次重新被训练后的结果,将准确率点直接连接起来画出的图。

结果分析

1.作者得到的结果比原来比赛的结果好是应因为只训练了一般的数据,可能是过拟合,也是因为分类的类别小了(只有500,原来有1000类)所以得到的结果比原来的结果高。

2.图3上中前2层的迁移和7层的迁移对结果的影响不大,而在第3,4,,5,6层是准确率开始下降。特征是在第4、5时表现的非常明显。由此证明了原始网络中层次之间的适应性是非常脆弱的。即以一种复杂的方式或非常不稳定的方式在层次之间传递特征;

3.对于BnB+的方式图中可以看见微调之后的结果与原结果的非常相似,但是在前几层的方式却比BnB的方式略差;

4.对于AnB的方式可以看见在低层(low layer)特征提取时,效果并不会有多大的影响,而越靠后,准确率下降的越是厉害。可以看见在第4、5、6、7时同在BnB时的第4,5,6的结果是很相似的,这些下降说明了层次之间的相互影响下降了,一般性(general)的特征学习的越来越少.

5.最后的AnB+可以看出在微调的情况下,迁移的层次越多,准确率竟然有了上升。此前人们都是在小的数据集上预训练,而这里证明了即使数据集很大,迁移依然能够得到非常好的训练效果,且随着层次的增加,效果也会有轻微的上升。在图4中可一看出来

图4

结果分析2

结果分析2的来源是将数据集分为man_made/nature image 两种数据集,同时也比较了随机权重,且不训练这些权重的情况。结果如下图所示:

图5

图5左的上方的线表示在nature image上训练后迁移到man-made上在训练,下方先相反。

图5右表示前n层不训练,但是会给每一层一个随机权重值。

图5下表示的上方的两条线对前两种实验结果的取平均值,第三条线,表示随机权重的情况下。

可以看出,有训练的迁移效果大于随机权重的效果,而数据相似之间的迁移的效果又比不相似的效果要好。

总结

作者的总结可以在论文中直接看,在此简单总结一下

1、数据有迁移的情况下比没有迁移的效果好

2、数据之间相似情况下迁移比不相似的效果要好

3、特征在迁移之后,经过微调可以得到较好的效果。

此次是我第一次写的论文阅读记录,有任何问题请直接私信我,侵删。

上一篇下一篇

猜你喜欢

热点阅读