0%

syd 【ICML2020】Which Tasks Should Be Learned Together in Multi-task Learning?

MTL可以训练一个神经网络同时解决多个任务,减少时间成本,但是性能一般,因为任务间可能有竞争关系。MTL中,哪些任务应该、不应该在一个网络中一起学习?

本文提出了一个框架,将若干个任务分配给几个网络,将协作的任务分配到同一个网络,将竞争的任务分配到不同的网络。与单个大型网络、多个单任务网络相比,该框架能提供时间-精度的折中,在有限的时间内达到尽量高的精度

斯坦福;瑞士联邦理工学院;谷歌;加州大学伯克利分校;

1. 引言

MTL用一个网络同时解决多个任务,可以提高预测精度,提高数据效率,减少训练时间。但是由于负迁移、任务干扰,预测效果不佳,不如小型的独立网络;不同任务的学习率不同,可能被某一任务主导,导致其它任务性能下降;乘加loss比较难优化。MTL是否有增益取决于任务间的关系

目标:给定一系列任务,在计算成本<预算b的情况下,尽可能最大化任务性能。所以我们提出了一个计算框架,把相关的任务组成一组,在给定成本b的限制下,用几个网络覆盖所有的任务,最大化任务性能。在一个网络中额外加入一个任务,可以提高其它任务的性能,(虽然该任务的性能可能只有一点点提升)。

image-20210711120452570

如图一所示,训练网络A完成语义分割、深度估计和表面法线预测,训练网络B完成关键点检测、边检测、表面法线预测,训练网络C单独完成表面法线预测(计算代价小)。将表面法线预测也作为网络A、B的输出,可以提升其它任务的效果,将网络C的输出作为该任务的预测结果。这种任务分组方法优于一个大网络完成五个任务、优于五个小网络完成单个任务。

主要贡献:

  1. 研究了多任务学习中,网络大小、数据大小对性能的影响,以及任务如何互相影响;
  2. 提出了一个框架,如何将任务分配给网络, 在有限的时间内,尽可能达到好的预测效果,如何分组对最终的性能是至关重要的。

2. 之前的工作

MTL:hard参数共享,soft参数共享。很多情况下,MTL效果不如单任务多个网络;而且这些已有的方法,没有将任务分组,soft参数共享也没有减少推理时间

3. 实验设置

Dataset:Taskonomy,CV领域中的多任务数据集,400万样例,390万训练,5万验证,5万测试,训练集和测试集中的建筑无重叠。

任务集:任务集1包括语义分割,深度估计,表面法线预测,SURF关键点检测,canny边检测;这些任务代表了CV中的主要任务类别,任务间也有一些重叠,用于探究相似的任务一起训练是否能提高性能。任务集2包括自编码器,表面法线预测,遮挡边缘,重塑和主曲率。语义分割任务是交叉熵损失,其余都是L1损失。

结构:所有实验都采用标准的encoder-decoder结构。用改进的Xception encoder;所有的最大池化都用步长为2、卷积核为22的卷积层代替,16.5百万参数,输入大小为256,256。为了探究*网络大小对任务关系的影响,更小的网络(Xception17,4百万参数,乘加操作次数也更少)。轻量级decoder,4个转置卷积层和4个卷积层。

设置:

image-20210711162322293

setting2是对照组,setting1探究网络大小的影响,setting3探究数据集大小的影响,setting4探究其它任务关系。

训练细节:loss未加权,初始lr=0.1,每次trainingloss不下降lr就减半,validloss没有改善就停止训练,

比较:定义了计算网络代价单元,标准网络时间SNT;SNT是Xception17网络中一次乘加的时间

训练好的网络:训练了5个单任务(1-SNT),10个双任务,10个三任务,5个四任务,1个五任务网络;另外还训练了5个单任务网络(1/2-SNT)

4. 任务关系的研究

探究任务关系对多任务网络性能的影响

4.1 Setting1:小网络(Xception17)

探究任务数量对多任务网络性能的影响,表1是与独立训练的结果相比,第一行是与每个任务1-SNT的单任务网络相比,第二行是与几个任务一共1-SNT的单任务网络相比。

image-20210711170240554

单任务网络缩小到总的计算限制和多任务网络的总预算相同时,3、4、5个任务一起训练优于单任务,但是2个任务一起训练情况不同,表2显示了两个任务一起训练与1/2-SNT的网络单独训练时的对比,法线任务对每个任务都有提升。

image-20210711171906926

4.2 Setting2:对照组

为了探究网络容量对多任务中任务关系的影响,用更高容量的encoder对所有的网络重新训练,结果如表5(对应前面的表2)

image-20210711214134743

通过表5和表2的对比可以看出,网络越大,共同训练的任务性能增益越大,也有些任务共同训练时性能下降,且表5和表2不具有相关性,任务关系复杂,说明需要一个自动框架,来确定哪些任务应该被一起训练

4.3 Setting3:只用5%的训练数据

探究训练集大小对结果的影响,只用了199498训练数据,接近于其它多任务数据集的大小。假设是,MTL可能在low-data(低数据)场景下表现更好,可以集中监督。但是表6的结果与假设相悖,与表2相比,表6大部分任务性能都下降了,最后的average是提升也是因为edge这个任务的大幅提升。

image-20210711222212818

4.4 Setting4:使用任务集2

除了auto encoder任务,其余的四个任务基本上都对其它任务有提升作用,这四个任务是比较相似的3D任务,似乎相似的任务可以互相提升,法线任务似乎可以提高和它一起训练的所有任务,这可能是因为法线在表面上有统一的值,并且保留了3D边缘。

所以,选择哪些任务进行一起训练是非常关键的,那么如何对任务进行分组,达到最好的性能

image-20210711225103364

5. 任务分组框架

对所有的任务子集都训练网络,选择最合适的分组,但是这样计算代价很高,所以提出了两种策略,来预测训练结果。

定义:想要在给定预算b内最小化一系列任务上的loss,每个网络$n$解决任务集中的子集,其代价为$c_n$,该网络在每个任务上的loss为$L(n,t_i)$,$S$是解决所有任务的网络集合,代价是所有网络的$c_n$之和,某个任务上的loss$L(S,t_i)$为S中所有网络在该任务上loss的最小值,总体性能就是每个任务上的loss求和。我们的目标就是在给定预算的条件下,寻找任务分组和对应的网络,使得总体loss最小。

5.1 考虑哪些网络?

不仅考虑“每对”任务一起训练时是否有提升,还要考虑哪些“组合”一起训练可以提升性能,所以候选网络一共有$(2^{|T|}-1)$个。本实验有5个任务,有31个网络,其中5个是单任务网络。

考虑网络大小的影响,另外有5个单任务网络,网络大小是标准网络的一半(1/2-SNT),所以一共36个网络

5.2 网络选择

假设已经有训练好的一系列网络$C_0={n_1,n_2,…n_m}$,每个网络解决某个任务子集,目标是选择$C_0$的一个子集,能在成本限制下解决所有任务,达到最小loss,NP-hard问题,可以选择分支定界法,二进制整数规划解决,得到最优解

5.3 为减少训练时间作的近似

减少训练时间的两个技术:1)每个网络只训练一小段时间;2)基于两个任务一起训练的基础上,引入更多的任务,看表现如何。不过这些近似都会影响最后的精度

5.3.1 早停近似(ESA)

无需训练充分,在收敛之前早停,先进行网络选择,训练时间大幅提升,但是这样选择的网络并不一定是最优的。

5.3.2 高阶近似(HOA)

已经有同时训练AB的网络,同时训练AC的网络,同时训练BC的网络,以及各任务在各网络中的loss,可以由此推断同时训练ABC三个网络,各任务的loss,从低阶预测高阶

image-20210712161449845

用该方法预测三个或更多的任务一起训练时,可以基于充分训练的双任务网络预测网络的性能,然后进行网络选择,从头开始训练高阶网络。

6. 任务分组评估

baselines:五个单任务网络,一个网络训练所有任务,将任务随机分组,全局性能最差的分组(pessimal)

6.1 Setting1

图3是不同计算成本限制下的不同任务分组策略,以及最终的总体loss

最优分组性能最佳,两种近似方法中,虽然效果都不及最优分组,但是HOA近似与最优分组的结果差距不大。

image-20210712164300650

图2是baseline以及本文三种方法的loss比较,当计算限制为1SNT时,都是用一个网络训练所有任务;当计算限制>1.5SNT时,将任务分组表现更好,当计算限制为5SNT时,五个网络,其中s d e的网络需要其余两个任务的辅助,而n k这两个网络单独训练效果比较好。

image-20210712171037595

6.2 Setting2

在该设置下(网络容量大),我们的方法超过了别的方法,而且拉开了很大差距。ESA和HOA两种近似方法,ESA与最优方法差距较大,HOA比较接近。

image-20210712211942415

6.3 Setting3

即使在小数据集情况下,我们的方法也优于其它方法:

image-20210712212429067

6.4 Setting4

该设置下的任务协作的很好,所以单独训练、分组训练没有很突出的优势:

image-20210712212805811

6.5 讨论

在四种设置下,最优分组的表现都是最好的,HOA近似能和最优分组达到类似的水平,ESA近似不如最优分组的表现

7. 结论

我们描述了任务的兼容性,分析任务关系,多任务中的任务关系受很多因素的影响,所以需要一个计算框架,确定哪些任务应该一起训练,哪些任务应该单独训练;探索所有的可能性训练时间过长,所以我们提出了两种近似策略,大大减少训练时间。

我们将最优分组、两种近似策略与单任务、一个网络训练所有任务以及其它基线方法进行对比,我们的方法优于基线方法,且HOA近似方法性能接近于最优分组。