Paper | How transferable are features in deep neural networks?

How transferable are features in deep neural networks

1. 核心贡献

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

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

  • 越高层的特征越难以迁移。

  • 迁移后网络的参数联动性被打破,导致了优化困难。

  • 迁移往往会带来泛化能力上的飞跃,即使在迁移后仍长时间迭代收敛。

解释一下第二点,可能需要看完实验部分才知道是什么意思。
假设我们的源任务S和目标任务T的网络前n层是一样的。我们想把S前n层迁移。现在有两种方法:

  1. 方法1:前n层参数固定(frozen);

  2. 方法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任务的数据集也很大呀!

    Q:是因为AnB+的总迭代次数比B更长吗?
    A:不是的,因为AnB+和BnB+都是450k+450k次迭代,但AnB+比BnB+效果更好!

    实验结果2

  6. 任务差异增大,可迁移性变差。

    见上图左上小图。上曲线为自然任务预测表现,下曲线为人造任务预测表现。白圈为基准。

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

  7. 任务差异增大,优化困难会增加。

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

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

4. 启发

迁移学习常常用于解决数据量不足、网络易过拟合的问题。

但这篇文章告诉我们,在数据量充足的情况下,如果我们能从相似的任务中获得特征->迁移初始化,那么训练出来的网络总比随机初始化表现更好。

哪怕迁移后我们长时间迭代;无论我们迁移初始化的比例(多少是迁移初始化的)有多高。

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

posted @ 2019-04-18 11:05  RyanXing  阅读(1260)  评论(0编辑  收藏  举报