吴仕超作者

CMU提出「十字绣网络」,自动决定多任务学习的最佳共享层

本期推荐的论文笔记来自 PaperWeekly 社区用户 @Cratial。多任务学习是机器学习的重要组成部分,但是对于应用深度学习进行多任务学习时会遇到一个棘手的问题,那就是我们该如何确定网络的共享部分。针对不同的任务,其最佳共享层往往不同。

此外,针对不同的多任务学习,我们需要根据任务需求设计不同的共享层,并没有统一的标准。因此,本文针对这一问题设计了“十字绣”单元,通过端对端的学习来自动决定共享层

关于作者:吴仕超,东北大学硕士生,研究方向为脑机接口、驾驶疲劳检测和机器学习

■ 论文 | Cross-stitch Networks for Multi-task Learning

■ 链接 | https://www.paperweekly.site/papers/1969

■ 作者 | Ishan Misra / Abhinav Shrivastava / Abhinav Gupta / Martial Hebert

引出主题

多任务学习是机器学习的重要组成部分,但是在应用深度学习进行多任务学习时会遇到一个棘手的问题,那就是我们该如何确定网络的共享部分。针对不同的任务,其最佳共享层往往不同。 

本文使用 AlexNet 网络分别进行图像检测、图像属性生成及图像语义分割、图像平面法向量生成(Surface Normal)等多任务学习。针对两个任务,作者分别从 fc8 层进行共享,一直测试到两者完全不进行共享的为止。

 图1

实验结果如图 1 所示,其中,图 1(b)是不同共享层完全独立时的效果对比,可以看出对于任务一来说,共享部分在 conv4 时所能达到的效果,针对于任务二来说,在 fc7 层的效果最好。

此外,针对不同的多任务学习,我们需要根据任务需求设计不同的共享层,并没有统一的标准。因此,本文针对这一问题设计了“十字绣”单元,通过端对端的学习来自动决定共享层

“十字绣”单元与网络设计

Cross-stitch Unit

本文的核心就在这里,设计“十字绣”单元的思想如图 2 所示,通过在两个网络的特征层之间增加“十字绣”单元可以使网络自动学习到需要共享的特征。

 图2

其中的“十字绣”单元就是一个系数矩阵。其表达式如式(1)所示。

针对这个“十字绣”单元如何进行端对端学习呢?作者给了具体的计算公式:

在下文中,为了方便,将 αAB 及 αBA 统称为 αD 表示不同任务的权重值,αAA 及 αBB 统称为 αS 表示相同任务的权重值。

“十字绣”网络设计 

图 3 是作者通过对网络添加“十字绣”单元设计的网络。

 图3

网络设计好之后,作者又针对网络提出了以下几个问题: 

1. 如何对“十字绣”单元进行初始化,及如何设置“十字绣”单元的学习速率? 

作者认为初始值设置应该在 [0,1] 之间,此外,作者还针对初始值及学习速率的设计进行了实验,以决定如何对两者进行设计能够达到最优效果。

2. 如何对网络 A 和 B 进行初始化?

如何对 A、B 进行初始化呢?作者提出了两种方案,第一种就是网络全用由 ImageNet 训练出的参数进行初始化,然后对整个“十字绣”网络进行训练。第二种是针对一种任务在网络上进行微调,然后再添加“十字绣”单元,并对网络进行训练。 

参数选取 

针对 2.2 中提到的两个问题,作者分别尝试了不同的策略来对参数进行选择。实验结果如表 1 所示:

 表1

在对“十字绣”单元进行训练时作者发现,用来更新网络参数的学习速率相对于“十字绣”单元而言太小了,以至于无法得到好的效果,实验结果如表 2 所示:

 表2

关于如何对网络 A、B 进行初始化,作者同样进行了实验,实验结果如表 3 所示:

 表3

表 4 展示了在 αD 及 αS 取不同的初始值时,最终网络各层各个通道的 αD 及 αS 的值的分布情况。其中 αD 越大说明共享程度越大,αS 越大,说明特征的特殊性越强。

 表4

实验及结果分析

为验证本文算法的有效性,作者分别在 NYU-v2 数据集进行了图像语义分割及图片平面法向量生成实验,在 PASCAL VOC 2008 数据集上进行了物体检测和属性预测实验。 

作者分别针对单任务网络、结合两个单任务的网络(文中称为“ensemble”)、多任务网络(如图 1 中那样尝试在各个特征层共享特征)进行了实验。平面法向量生成及图像语义分割的实验结果如表 5 所示:

 表5

从表 5 可以看出,使用“十字绣”单元的网络均能在两个任务上得到较好的结果。此外,作者分析在图像语义分割任务中,存在严重的数据匮乏问,如图 5 中黑线所示,wall、floor 的数据数量远超出其余的类别数,其中,蓝色柱状表示采用“十字绣”单元的多任务学习相对于单任务学习在效果上的增益,从图中可以看出,数量越少的类别所获得增益越多。

 图5

图像检测及属性预测的实验结果及增益情况分别如表 6 及图 6 所示:

 表6

 图6

总结与分析

虽然本文作者提到他们的方法相对于传统方法不需要去依次尝试如何选取所要共享的特征层,但是增加的“十字绣”单元同样带来了很多麻烦的东西,例如,如何进行初始化,如何设置学习速率。最终的实验结果表明,使用该方法对多任务学习的性能有一定的提升。

入门
1
相关数据
Alex网络技术
AlexNet

AlexNet是一个卷积神经网络的名字,最初是与CUDA一起使用GPU支持运行的,AlexNet是2012年ImageNet竞赛冠军获得者Alex Krizhevsky设计的。该网络达错误率大大减小了15.3%,比亚军高出10.8个百分点。AlexNet是由SuperVision组设计的,由Alex Krizhevsky, Geoffrey Hinton和Ilya Sutskever组成。

机器学习技术
Machine Learning

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术
parameter

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

权重技术
Weight

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

深度学习技术
Deep learning

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。 近年来监督式深度学习方法(以反馈算法训练CNN、LSTM等)获得了空前的成功,而基于半监督或非监督式的方法(如DBM、DBN、stacked autoencoder)虽然在深度学习兴起阶段起到了重要的启蒙作用,但仍处在研究阶段并已获得不错的进展。在未来,非监督式学习将是深度学习的重要研究方向,因为人和动物的学习大多是非监督式的,我们通过观察来发现世界的构造,而不是被提前告知所有物体的名字。 至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

推荐文章
《神经网络和深度学习》系列文章二十:交叉熵损失函数
哈工大SCIR
三天速成!香港科技大学TensorFlow课件分享
思源4
《神经网络和深度学习》系列文章三十:如何选择神经网络的超参数
哈工大SCIR
返回顶部