17.3.13 多任务学习 Multi-task learning

由于最近要读一篇用MTL来解决人脸识别的问题,所以提前学习一下MTL。本文主要内容摘自#Deep Learning回顾#之多任务学习

多任务学习(multi-task learning,MTL),从字面的意思就能理解是多个任务同时进行学习的一种方法。单任务学习就是忽略任务之间的联系,单独的进行学习的方法。相比于单任务学习方法而言,多任务学习更加注重的每个样本之间的联系和差异,联合学习。这是一种归纳迁移机制,主要目标是利用隐含在多个相关任务的训练信号中的特定领域信息来提高泛化能力,多任务学习通过使用共享表示并行训练多个任务来完成这一目标。图一为单人舞学习,图2为多任务学习。
17.3.13 多任务学习 Multi-task learning_第1张图片
图1
17.3.13 多任务学习 Multi-task learning_第2张图片
图2

在多任务学习中,当这些任务是相关的,联合的任务学习应该比单独学习每个任务的效果好,额外任务的信息有助于共享的隐层学到更好的内部表示。特别当每个任务的数据相当少的时候,在这种情况下,独自学习是很不成功的。

1.数据增强
相关任务训练信号中的额外信息相当于有效增加了样本大小,特别是训练信号中存在噪声时,相当于做了数据增强。假定有两个任务T和T’,它们的训练信号中都加入独立的噪声,都受益于计算隐层中输入的特征F。一个同时学习了T和T’的网络,如果发现了两个任务共享F,可以使用两个训练信号通过在不同的噪声处理过程中平均化F,从而更好地学习F。

2.属性选择
考虑两个任务T和T’,使用共同的特征F,假定网络有很多个输入。如果训练数据比较有限或噪声比较明显,一个学习T的网络有时难以区分与F相关的和不相关的数据。然而,一个同时学习T和T’的网络将可以更好地选择与F相关的属性,因为数据增强为F提供更好的训练信号,使该网络能更好地判断哪些输入用于计算F。属性选择是数据增强的结果。

3.信息窃取
考虑一个对任务T和T’都有用的隐层特征F,该特征在学习T时比较容易学到,而在学习T’时比较难学到(因为T’用一种更复杂的方式使用F或者没有F时T’学到的残留误差更大)。一个网络学习T将可以学到F,但一个只学习T’的网络将不能做到。如果一个网络在学习T’时还学习T,那么T’可以在隐层中窃取T已经学到的信息,因此可以学得更好。一旦T’和F的表示的建立了连接,从T’关于F的额外信息将帮助网络通过其它的机制更好地学习F。

4.表示偏置
因为神经网络以随机权重初始化,后向传播是一个随机搜索过程,多次运行很少产生同样的网络。假定任务T能够发现两个极小值区域A和B,一个学习任务T’的网络同样有两个极小值区域A和C,它们在A共享极小值,但在B和C没有重叠区域,对此做了两个实验。在第一个实验中,单独训练T的网络以均等概率找到A和B,单独训练T’的网络以均等概率找到A和C。而同时训练T和T’的网络,通常对于两个任务都只找到了A。这表明多任务学习任务偏好其他任务也偏好的隐层表示,搜索对T或T’单独学习到的表示的交集倾斜。
17.3.13 多任务学习 Multi-task learning_第3张图片
另一个实验中,选择使T对B有强烈偏好的极小值:一个训练T的网络总是落入B。然而,T’依然对A或C没有倾向。当T和T’同时在一个网络上训练,T如预料中落入B:T’未能帮助T从B拉入A。令人惊讶的是,T’通常落入C,未与T共享极小值。T在隐层表示中创建一个潮流从A流向B,而T’对A或C没有任何倾向,但受制于T创建的潮流,因此通常落入C。多任务学习任务倾向于不使用其它任务不偏好使用的隐层表示。

运用多任务学习的例子比较多,例如:
1.脸部特征点检测 [1]
2.DeepID2 [2]
3.Fast R-CNN [3]
4.旋转人脸网络 [4]

多任务学习已经在多个领域中应用,本文列举了一些可应用多任务学习的场景:使用未来预测现在,多种表示和度量,,时间序列预测,使用不可操作特征 ,使用额外任务来聚焦,有序迁移,多个任务自然地出现,将输入变成输出。
深度学习网络是具有多个隐层的神经网络,在深度学习网络中应用多任务学习是一种很自然的想法。机器视觉领域有广泛的多任务学习应用,主要方式包括:多个任务并行输出,同时做分类和回归或使用不同的损失函数;多个任务如流水线般,辅助任务附加在主任务后面。

参考文献:
[1] Z. Zhang, P. Luo, C. C. Loy, and X. Tang, “Facial Landmark Detection by Deep Multi-task Learning,” in Computer Vision – ECCV 2014: 13th European Conference, Zurich, Switzerland, September 6-12, 2014, Proceedings, Part VI , D. Fleet, T. Pajdla, B. Schiele, and T. Tuytelaars, Eds. Cham: Springer International Publishing, 2014, pp. 94–108.

[2] Y. Sun, Y. Chen, X. Wang, and X. Tang, “Deep Learning Face Representation by Joint Identification-Verification,” in Advances in Neural Information Processing Systems 27 , Z. Ghahramani, M. Welling, C. Cortes, N. D. Lawrence, and K. Q. Weinberger, Eds. Curran Associates, Inc., 2014, pp. 1988–1996.

[3] R. Girshick, “Fast R-CNN,” in The IEEE International Conference on Computer Vision (ICCV) , 2015.

[4] J. Yim, H. Jung, B. Yoo, C. Choi, D. Park, and J. Kim, “Rotating Your Face Using Multi-Task Deep Neural Network,” in The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) , 2015.

你可能感兴趣的:(深度学习,深度学习)