Multi-Task Learning Overview

简介

通过在相关的task上共享representation,我们在原本的任务上可以泛化得更好。这种方法就叫做Multi-Task Learning (MTL)。MTL还有别的说法:joint learning、learning to learn和learning with auxiliary tasks。如果optimize多个loss,就可以看作是MTL。

动机

可以把MLT看作是一种inductive transfer。Inductive transfer可以通过引入inductive bias改善模型。例如,L1正则化。

两种MTL方法

hidden layer的hard和soft参数共享的方法

hard parameter sharing

Hard parameter sharing:所有task共享hidden layers,同时特定task输出层独立。

soft parameter sharing

Soft parameter sharing: 每个task有自己的参数。不同model之间的参数距离进行正则化。

为什么MTL能work?

隐式的data augmentation:因为data都含有noise,多个task可以帮助忽视data-dependent noise。不同task有不同noise pattern,一个model同时学两个task,可以学到更general的representation。

注意力集中:MTL可以帮助model关注那些真正有用的features上(通过别的task提供evidence)。

Eavesdropping:一些feature对于某些任务可能比较难学,通过引入别的task可以学的更好。

Representation bias: MTL bias representation 使得task都可以接受。

Regularization

非神经元MTL模型

Block-sparse regularization

A是所有task的参数矩阵,具有稀疏性,用L1/Lq进行正则化。

Learning task relationships

因为上述稀疏性,每个task只使用一些feature。之前的方法都假设MTL中的task非常相关。如果任务不相关,可能会降低performance,这种现象叫做negative transfer。

限制task相关性:loss of clustering of tasks.

cluster regularizer

... 很多假定task关系的方法

MTL for Deep Learning

Deep Relationship Networks

在CV上,通常共享CNN,特定task使用独立的fc layers。在fc层,place matrix prior,让model学任务间的关系。

DRN

Fully-Adaptive Feature Sharing

从thin network开始用类似task grouping的标准动态扩展开。

图片说明

Cross-stitch Networks

两个分离的model用soft parameter sharing。用cross-stitch unit通过之前layer的输出的combination允许model决定特定task的网络使用另外task的信息。

图片说明

Joint Many-Task Model

包含几个NLP task的分层结构

图片说明

Weighting losses with uncertainty

考虑每个task的不确定性,使用正交的方法。通过基于最大化Gaussian likelihood with task-dependent uncertainty的multi-task loss,调整每个task的相对权重。

图片说明

Tensor factorisation

matrix factorisation的方法

Sluice Networks

综合Deep Learning中MTL方法例如hard parameter sharing、cross-stitch network和block-sparse regularization的方法。这个model可以学什么layer应该要share,什么layer学的representation最好。

图片说明

在model中应该共享什么?

tasks若不是十分相关,hard parameter sharing 可能无效。

Auxiliary tasks

例如,自驾车中预测路的特征作为预测驾驶方向的辅助任务。学query分类和网页搜索。

Adversarial task

在domain adaptation方面取得成功。在一个例子中,adversarial task是预测input的domain,通过reverse adversarial task的gradient,使得adversarial task的loss最大,因为迫使model学分不清domain的representation,所以对于main task有帮助。

Hints

把预测feature当作auxiliary task。例如,预测input中是否含有positive或negative的词当作情绪分析的auxiliary task。

Focusing attention

auxiliary task 也可以用来让网络注意之前被忽视的地方。

Quantization smoothing

连续的feature对于training更有益处。使用量化的auxiliary task可能有帮助。

Predicting inputs

有些情况下,一些feature对于目标没有帮助。把feature当作输出可能有帮助。

Using the feature to predict the present

有些feature只有在做出预测之后才知道正确的结果,这种情况这个任务可以当作auxiliary task。

Representation learning

Autoencoder也可以看作是auxiliary task。

什么样的auxiliary task有帮助

对于main task在某种方面相关的。--使用同样的feature--有同样的inductive bias

通常,main task很快plateau,auxiliary task没有plateau可能会有帮助。

论文

An Overview of Multi-Task Learning in Deep Neural Networks

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 12:31
以前小时候我最痛恨出轨、偷情的人,无论男女,为什么会出轨?现在我成了自己最讨厌的人,没想到分享的东西在牛客会被这么多人看,大家的评价都很中肯,我也认同,想过一一回复,但我还是收声了,我想我应该说说这件事,这件事一直压在我心里,是个很大的心结,上面说了人为什么出轨,我大概能明白了。我们大一下半年开始恋爱,开始恋爱,我给出了我铭记3年的承诺,我对她好一辈子,我永远不会背叛,我责任心太重,我觉得跟了我,我就要照顾她一辈子,我们在一起3年我都没有碰过她,她说往东我就往东,她说什么我做什么,她要我干什么,我就干什么!在学校很美好,中途也出过一些小插曲,比如男闺蜜、男闺蜜2号等等等。但我都强迫她改掉了,我...
牛客刘北:两个缺爱的人是没有办法好好在一起的,但世界上哪有什么是非对错?你后悔你们在一起了,但是刚刚在一起的美好也是真的呀,因为其他人的出现,你开始想要了最开始的自己,你的确对不起自己,21岁的你望高物远,你完全可以不谈恋爱,去过你想要的生活,你向往自由,在一起之后,你要想的不是一个人,而是两个人,你不是变心了,就像你说的,你受够了,你不想包容了,冷静几天是你最优的选择,爱人先爱己。
社会教会你的第一课
点赞 评论 收藏
分享
06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务