定义
Multitask Learning is an approach to inductive transfer that improves learning for one task by using the information contained in the training signals of other related tasks.
多任务学习是一种归纳迁移的方法,它通过利用其他相关任务的训练信号中所包含的信息来改善对一个任务的学习,并行学习,互相帮助学习。广义的讲,只要loss有多个就算MTL。
具体地,基于共享表示(shared representation),把多个相关的任务放在一起学习。用相关任务的训练信号来提升主任务的泛化效果。
挑战
与标准的单任务相比,在学习共享表示的同时训练多个任务有两个主要挑战:
Loss Function(how to balance tasks):多任务学习的损失函数,对每个任务的损失进行权重分配,在这个过程中,必须保证所有任务同等重要,而不能让简单任务主导整个训练过程。手动的设置权重是低效而且不是最优的,因此,自动的学习这些权重或者设计一个对所有权重具有鲁棒性的网络是十分必要和重要的。
Network Architecture(how to share):一个高效的多任务网络结构,必须同时兼顾特征共享部分和任务特定部分,既需要学习任务间的泛化表示(避免过拟合),也需要学习每个任务独有的特征(避免欠拟合)。
一个优秀的多任务网络应该具备:(1)特征共享部分和任务特定部分都能自动学习(2)对损失函数权重的选择上更robust。
End-to-End Multi-Task Learning with Attention
【CVPR 2019】
【Shikun Liu,Edward Johns,Andrew J. Davison】
【Department of Computing, Imperial College London】
https://zhuanlan.zhihu.com/p/82234448?utm_source=wechat_session
Abstract
提出了新的多任务学习结构,学习特定任务的、特征级别的注意力模块,即Multi-Task Attention Network(MTAN)。MTAN包括:一个带有全局特征池的共享网络,针对每个任务的soft-attention模块,从全局特征中学习特定任务的特征。该网络可以实现端到端训练,可以构建在任何前馈神经网络上。在图像预测和分类任务中作了实验,超过目前的方法,对多任务损失函数中的各种加权机制比较鲁棒。
Introduction
CV实际应用中,需要同时处理多任务,相关任务之间共享信息、特征。MTL中,学习共享表示的关键挑战:
- 网络结构(任务共享层特征表示和特定任务的特征表示)
- loss function(如何平衡各个任务,自动学习权重,设计一个对不同权重具有鲁棒性的网络)
之前的MTL只关注其中一个,本文模型同时解决了两个挑战:
- 自动学习任务共享特征和特定任务的特征
- 对loss加权机制的选择具有鲁棒性
MTAN包括两部分:1.一个共享网络,学习所有任务特征的全局特征池,2.针对每个任务,在共享网络的每个卷积块上都加一个soft attention mask获取对自己有用的feature。以自监督、端到端的方式分别学习任务共享特征、特定任务特征,这种灵活性使我们能够学习到更有表现力的特征组合。自动选择任务共享特征、特定任务特征使得模型参数更少,更高效。
MTAN可应用于任何FNN,本文中基于SegNet构建MTAN,完成语义分割和深度估计( CityScapes ),表面法线估计(NYUv2),基于Wide Residual Network完成图像分类。试验结果表明,MTAN效果超过目前的方法,同时参数效率更高,对loss funciton加权机制的选择更加鲁棒。提出了动态加权平均DWA。根据每个任务loss的变化率来调整权重。
Multi-Task Attention Network
如何基于SegNet构建MTAN
3.1 结构设计
MTAN包括:一个共享网络,K个特定任务的注意力网络,连接到共享网络。每个注意力模块对共享网络的特定层应用一个soft attention mask(可以看作特征选择器,端到端自动学习),以学习特定任务的特征;共享网络可以看做是一个跨任务的特征表示。
图2给出了基于VGG16的MTAN可视化,也就是SegNet的encoder部分,每个注意力模块学习一个soft attention mask,共享网络特征和soft attention mask可以同时学习。
3.2 特定任务的注意力模块
通过对共享网络特征应用soft attention mask, 让特定任务网络学习与任务相关的特征,共享网络第j层的特征记为$p^j$,该层中学到的第$i$个任务的attention mask记为${a}_i^{(j)}$,特定任务特征$\hat{a}_i^{(j)}$为:
第一个注意力模块输入只有共享网络的特征,后续注意力模块输入包括共享网络特征和前一层的特定任务特征。
3.3 模型目标
输入X和K个标签Y,loss function如下:
是各任务loss的线性组合,具体到图像分割、深度估计、图像分类loss function不同:
语义分割:像素级的交叉熵损失
深度估计:预测深度和真实深度的L1范数
表面法线估计:
图像分类:交叉熵损失
Experiments
4.1 Image-to-Image Prediction (One-to-Many)
4.1.1 数据集
数据:CityScapes,高解析度街景影像; 任务:语义分割&深度检测
数据:NYUv2,RGB-D室内场景图像(更复杂); 任务:语义分割,深度估计,表面法线估计
4.1.2 Baseline
基于SegNet的两个单任务+三个多任务方法
单任务:原始SegNet
单任务:STAN(MTAN的单任务形式)
多任务,Split(Wide,Deep):标准的多任务学习,调整卷积核个数为Wide,调整卷积层数为Deep
多任务,Dense:共享网络+特定任务的网络,但是任务特定的网络包括了共享网络中的全部特征,没有注意力机制
多任务,Cross-Stitch(十字绣):一种自适应多任务学习方法,构建在SegNet上
4.1.3 DWA
为了寻找各任务之间的平衡,提出简单有效的自适应加权方法DWA。根据GradNorm启发,考虑根据每个任务loss的变化率,随时间平均各任务权重, DWA只需要数值上的loss,比GradNorm更简单。第k个任务的权重如下:
$w$是相对下降率;T越大,不同任务之间越平均,K是所有权值求和。
4.1.4 结果(Image-to-Image Prediction)
MTAN与baseline对比,加权方式对比(平均,随机,DWA)
MTAN+DWA的优势:1)参数少,效率高;2)鲁棒性:在不同的加权机制下,我们的模型表现都差不多
4.1.5 任务复杂性效应
在不同级别的语义分割任务中,2分类时,单任务训练也很好;问题变复杂时,需要共享特征、有效利用参数。随着问题变复杂,多任务模型都能提高性能,MTAN提升的最多。不同任务的attention mask作为选择器,选出来的特征是不一样的。
Conclusions
提出了 Multi-Task Attention Network (MTAN),包括全局特征池,特定任务的注意力模块,以端到端模式自动学习任务共享特征、特定任务特征,效果超过了大多数现有模型。还提出了DWA(损失函数的加权机制),保证了鲁棒性,参数高效性。