论文:How transferable are features in deep neural networks?

1. 核心贡献

我们都知道,深度网络中的特征是逐渐特化的。如果我们将一个深度网络中的高层特征,迁移用于另一个任务,那么这个新任务的表现很有可能不理想。

这篇文章讨论的就是深度网络中特征的可迁移性,通过实验有以下3点发现:

  • 越高层的特征越难以迁移。
  • 迁移后网络的参数联动性被打破,导致了优化困难。
  • 迁移往往会带来泛化能力上的飞跃,即使在迁移后仍长时间迭代收敛。

解释一下第二点,可能需要看完实验部分才知道是什么意思。
假设我们的源任务S和目标任务T的网络前n层是一样的。我们想把S前n层迁移。
方法1:前n层参数固定(frozen);方法2:前n层参数只用于初始化但不固定,其参数可以在新任务上继续优化。
方法2看上去会更好。因为方法1打破了T网络的前n层和后几层的参数联动性,优化产生了困难。这就是第三点的由来。
但是要注意,我们之所以迁移,大多情况下是因为T任务的数据量太少,而S任务训练数据充足。如果我们继续优化前n层的特征,很可能会导致过拟合,泛化能力下降。

如果我们需要论证深度网络中特征的可迁移性,或者论证影响可迁移性的因素,那么这篇文章是有借鉴意义的。

2. 实验设置

2.1. 任务设置

一个特征的可迁移性有多强,可以通过迁移实验的好坏来评价。显然,该性质与任务之间的差异有很大关系。

为了减小偶然性,作者从ImageNet中随机选择了1000个类别,再随机分为两组。从两组中随机抽出任务A和任务B,作为迁移源任务和目标任务。

为了探究任务差异与可迁移性的关系,作者还按以下方式分组:前一组全为自然物体,而后一组全为人造物体。

2.2. 网络设置

对任务A和B,都配置一个8层网络。前n层(\(1{\le}n{\le}7\))用来迁移;图中为\(n=3\)。

为了进一步考察可迁移性,作者有以下设置:

  • BnB网络:B的前n层是从训练好的B网络内迁移得到的,且参数固定;后\((8-n)\)层随机初始化并进一步训练优化。

  • AnB网络:B的前n层是从训练好的A网络内迁移得到的,且参数固定;后\((8-n)\)层随机初始化并进一步训练优化。

  • BnB+网络:B的前n层是从训练好的B网络内迁移得到的,参数不固定,可以进一步训练优化。

  • AnB+网络:B的前n层是从训练好的A网络内迁移得到的,参数不固定,可以进一步训练优化。

目的:

  1. 探究完全迁移的优势;
  2. 探究第3层的特征是general的(迁移效果好)还是specific的(迁移效果差)。
  3. 探究限制可迁移性的因素(第3点发现)。
  4. 探究固定参数迁移的优势。

具体目的,继续看实验结果。

3. 实验结果

  1. 实验中尝试了4种分组,因此有8个数据集和网络参与了测试。上图中8个圈圈就是它们的测试结果,Top-1分类准确率大概是62.5%。

  2. 参数的联动性是很重要的。
    我们看上图的深蓝色圈圈,代表的是BnB网络的测试结果。当\(n \ge 2\)时,网络的性能比原B网络更差。
    换句话说,BP过程由于前n层的固定变得很不正常,因此参数训练得不好。
    当然了,如果n较大,那么这个网络需要训练的参数就不多了,因此效果又提升了。如图中\(n = 6,7\)时。
    这也是第一篇文献发现了:优化困难最容易在中间层发生,既不是开始也不是最后。

  3. BnB+网络的表现和基础网络基本一致,起码不会像BnB一样衰减。

  4. 底层特征泛化能力较强。
    我们看AnB的表现,当\(n=1,2\)时,网络表现是不错的。虽然参数固定,但特征仍然在B任务上表现出色。
    但层数较深时,特征可迁移性就很差了。当然,这与联动性的破坏也有关系(基于BnB的实验)。

  5. 完全自由迁移的效果真的太棒啦!
    看AnB+的表现就知道了。无论从何时开始迁移,效果都比基础网络更好!
    并且,即使我们长时间训练,迁移带来的爆炸效果仍然回荡不绝!
    Q & A
    是因为解决了过拟合吗?不是的,因为B任务的数据集也很大呀!
    是因为AnB+的总迭代次数比B更长吗?不是的,因为AnB+和BnB+都是450k+450k次迭代,但AnB+比BnB+效果更好!

  1. 任务差异增大,可迁移性变差。
    见上图左上小图。上曲线为自然任务预测表现,下曲线为人造任务预测表现。白圈为基准。
    我们取个均值,和上面的随机分组的表现相比,见上图下小图。红色曲线始终高于橙色曲线。可见,当刻意分为自然和人造时,任务差异性增强,网络的表现变差。

  2. 任务差异增大,优化困难会增加。
    见上图下小图,比较红色、橙色曲线。都是AnB网络,随着n增加,自然/ 人造分组的表现会降得更厉害,即优化困难增加得更剧烈。

绿色的不看了,那是随机滤波器。作者想说明,即便从差距较大的任务迁移,效果也要比随机滤波器好。现在看来这一点是很显而易见的,因为随机滤波器就是瞎猜嘛。

4. 启发

迁移学习常常用于解决数据量不足、网络易过拟合的问题。
但这篇文章告诉我们,在数据量充足的情况下,如果我们能从相似的任务中获得特征->迁移初始化,那么训练出来的网络总比随机初始化表现更好。
哪怕迁移后我们长时间迭代;无论我们迁移初始化的比例(多少是迁移初始化的)有多高。

当然,在实际应用时,我们更应该考虑数据的清洁、训练的合理性。否则迁移学习的效果是很难看到的。

Paper | 深度网络中特征的可迁移性的更多相关文章

  1. 深度网络中的Tricks

    数据增强(Data augmentation) 预处理(Pre-processing) 初始化(Initializations) 训练中的Tricks 激活函数(Activation function ...

  2. 深度学习Bible学习笔记:第七章 深度学习中的正则化

    一.正则化介绍 问题:为什么要正则化? NFL(没有免费的午餐)定理: 没有一种ML算法总是比别的好 好算法和坏算法的期望值相同,甚至最优算法跟随机猜测一样 前提:所有问题等概率出现且同等重要 实际并 ...

  3. 深度学习中 batchnorm 层是咋回事?

    作者:Double_V_ 来源:CSDN 原文:https://blog.csdn.net/qq_25737169/article/details/79048516 版权声明:本文为博主原创文章,转载 ...

  4. 深度学习卷积网络中反卷积/转置卷积的理解 transposed conv/deconv

    搞明白了卷积网络中所谓deconv到底是个什么东西后,不写下来怕又忘记,根据参考资料,加上我自己的理解,记录在这篇博客里. 先来规范表达 为了方便理解,本文出现的举例情况都是2D矩阵卷积,卷积输入和核 ...

  5. 卷积网络中的通道(Channel)和特征图

    转载自:https://www.jianshu.com/p/bf8749e15566 今天介绍卷积网络中一个很重要的概念,通道(Channel),也有叫特征图(feature map)的. 首先,之前 ...

  6. 【论文笔记】如何理解深度学习中的End to End

    End to end:指的是输入原始数据,输出的是最后结果,应用在特征学习融入算法,无需单独处理. end-to-end(端对端)的方法,一端输入我的原始数据,一端输出我想得到的结果.只关心输入和输出 ...

  7. Deep Learning 学习随记(五)Deep network 深度网络

    这一个多周忙别的事去了,忙完了,接着看讲义~ 这章讲的是深度网络(Deep Network).前面讲了自学习网络,通过稀疏自编码和一个logistic回归或者softmax回归连接,显然是3层的.而这 ...

  8. Local Binary Convolutional Neural Networks ---卷积深度网络移植到嵌入式设备上?

    前言:今天他给大家带来一篇发表在CVPR 2017上的文章. 原文:LBCNN 原文代码:https://github.com/juefeix/lbcnn.torch 本文主要内容:把局部二值与卷积神 ...

  9. 深度学习中Dropout原理解析

    1. Dropout简介 1.1 Dropout出现的原因 在机器学习的模型中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象. 在训练神经网络的时候经常会遇到过拟合的问题 ...

随机推荐

  1. SpringBoot之SOAP WebService

    SpringBoot的Web Service类型常见有RESTful Web Service和SOAP Web Service两种,RESTful风格的web服务比较常用,但实际工作中仍有部分场景用到 ...

  2. ES match match_phrase term willcard的查询原理

    比如:要求实现SQL中like “%xxxx%”的匹配效果. wildcard通配 这种效果在ES中最匹配的做法是用wildcard query通配,这种情况不会对query分词,而是直接遍历倒排索引 ...

  3. Zabbix 各种报错信息和遇到的问题处理(持续总结更新~~~~~)

    问题1:Zabbix poller processes more than 75% busy 解决: 1.修改配置文件: # vim /etc/zabbix/zabbix_server.conf St ...

  4. poj 2778 AC自动机+矩阵快速幂

    题目链接:https://vjudge.net/problem/POJ-2778 题意:输入n和m表示n个病毒,和一个长为m的字符串,里面只可以有'A','C','G','T' 这四个字符,现在问这个 ...

  5. linux之egrep命令

    1.介绍 egrep工具是grep工具的扩展,相当于grep -E 2.用法 查找1个或1个以上前面的字符为例 查找0个或1个前面字符 egrep 'o?' 1.txt 匹配roo或者body egr ...

  6. sql yog出现2013错误

    首先用telnet检查一下你的防火墙端口,如果连接失败,配置防火墙. 配置防火墙,开启3306端口 find -name iptables vim /etc/sysconfig/iptables -A ...

  7. AUDIOqueue 为什么会播放一段时间就听不到声音

    转自简书:非常有用 AudioQueue缓冲区为空时,那么AudioQueueOutputCallback回调不会再调用 这个其实很好理解,AudioQueue的回调本事就是数据播完了才回调的 Aud ...

  8. python 修改的函数装饰器

    把好的代码记录下来 方便以后学习 修改的函数参数装饰器 from functools import wraps import time import logging def warn(timeout) ...

  9. V2019 Super DSP3 Odometer Correction Vehicle List

    Comparing v2017 Super DSP3 mileage programmer, the newest V2019 Super DSP III adds newer vehicles, i ...

  10. [树上倍增+二分答案][NOIP2012]运输计划

    题目背景 公元 2044 年,人类进入了宇宙纪元. 题目描述 公元 2044 年,人类进入了宇宙纪元 L 国有 nn 个星球,还有 n-1n−1 条双向航道,每条航道建立在两个星球之间,这 n-1n− ...