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

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

图1

图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’单独学习到的表示的交集倾斜。

另一个实验中,选择使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.

17.3.13 多任务学习 Multi-task learning相关推荐

  1. Multi task learning多任务学习背景简介

    2020-06-16 23:22:33 本篇文章将介绍在机器学习中效果比较好的一种模式,多任务学习(Multi task Learning,MTL).已经有一篇机器之心翻译的很好的博文介绍多任务学习了 ...

  2. 密集预测任务的多任务学习(Multi-Task Learning)研究综述 - 网络结构篇(上)

    [ TPAMI 2021 ] Multi-Task Learning for Dense Prediction Tasks: A Survey [ The authors ] • Simon Vand ...

  3. 多任务学习(Multi-Task Learning, MTL)

    目录 [显示] 1 背景 2 什么是多任务学习? 3 多任务学习如何发挥作用? 3.1 提高泛化能力的潜在原因 3.2 多任务学习机制 3.3 后向传播多任务学习如何发现任务是相关的 4 多任务学习可 ...

  4. 多任务学习(Multi-Task Learning, MTL)、其他分类形式、与迁移学习的关系

    多任务学习(Multi-Task Learning, MTL).其他分类形式.与迁移学习的关系 目录 多任务学习(Multi-Task Learning, MTL).其他分类形式.与迁移学习的关系

  5. 【论文笔记】多任务学习(Multi-Task Learning)

    1. 前言 多任务学习(Multi-task learning)是和单任务学习(single-task learning)相对的一种机器学习方法.在机器学习领域,标准的算法理论是一次学习一个任务,也就 ...

  6. 多智能体强化学习Multi agent,多任务强化学习Multi task以及多智能体多任务强化学习Multi agent Multi task概述

    概述 在我之前的工作中,我自己总结了一些多智能体强化学习的算法和通俗的理解. 首先,关于题目中提到的这三个家伙,大家首先想到的就是强化学习的五件套: 状态:s 奖励:r 动作值:Q 状态值:V 策略: ...

  7. Multi Task Learning在工业界如何更胜一筹

    摘要: 本文主要介绍多任务学习和单任务学习的对比优势以及在工业界的一些使用.如何从单任务学习转变为多任务学习?怎样使AUC和预估的准确率达到最佳?如何对实时性要求较高的在线应用更加友好?本文将以淘宝实 ...

  8. 多任务学习(Multi-task Learning)方法总结

    多任务学习(multi task learning)简称为MTL.简单来说有多个目标函数loss同时学习的就算多任务学习.多任务既可以每个任务都搞一个模型来学,也可以一个模型多任务学习来一次全搞定的. ...

  9. [译]深度神经网络的多任务学习概览(An Overview of Multi-task Learning in Deep Neural Networks)...

    译自:http://sebastianruder.com/multi-task/ 1. 前言 在机器学习中,我们通常关心优化某一特定指标,不管这个指标是一个标准值,还是企业KPI.为了达到这个目标,我 ...

  10. 多任务学习 (Multitask Learning) 汇总

    1 前言 多任务学习(Multi-task learning)是和单任务学习(single-task learning)相对的一种机器学习方法.在机器学习领域,标准的算法理论是一次学习一个任务,也就是 ...

最新文章

  1. linux scp移动文件夹,linux scp远程拷贝文件及文件夹
  2. python数据库应用开发实例_纯Python开发的nosql数据库CodernityDB介绍和使用实例
  3. word-break:break-all和 word-wrap:break-word区别
  4. label smoothing(标签平滑)
  5. 为什么我的索尼电视显示服务器异常,索尼液晶电视有哪些故障 索尼电视故障代码大全【详解】...
  6. 通过解析URL实现通过Wifi的用户查找
  7. 曾经我也是运营着两个淘宝店铺的小卖家
  8. MingW环境下的windows编程
  9. Leetcode: Pascal's Triangle II
  10. java语言程序设计复习重点_java语言程序设计期末复习要点
  11. [算法]数组排序之后相邻数的最大差值
  12. Oracle搜索所有表查找关键字,根据关键字查询oracle中所有表的记录
  13. 详解双曲函数(对比三角函数推导)
  14. 我们为你精选了一份Jupyter/IPython笔记本集合 !(附大量资源链接)-上篇
  15. 笔记——数据归一化 scikit-learn中的Scaler
  16. Node.js模拟登录强智科技教务系统
  17. spring的singleton和prototype
  18. mysql5.6.23winx64,mysql 5.6.23 winx64.zip安装详细教程
  19. 视频太大,如何把视频压缩到最小
  20. Distiller tutorial: Pruning Filters Channels

热门文章

  1. 项目中的Html和JS使用的随便总结
  2. lisp 焊缝标注_焊接符号标注 图纸
  3. 计算机设备显示感叹号,设备管理器有感叹号和问号未知设备的解决方法
  4. spring boot+thymeleaf+bootstrap 简单实现后台管理系统界面
  5. 数据分析 - pandas(7)
  6. 《VoIP技术构架(第2版·修订版)》一1.4 语音与数据网合二为一的驱动力
  7. 分割视频的方法有哪些?
  8. 解决保存的图片为CGI格式的问题
  9. 记录:Base64编码步骤详解
  10. canvas 擦除动画_HTML5 实现橡皮擦的擦除效果