极简笔记 Taskonomy: Disentangling Task Transfer Learning

极简笔记 Taskonomy: Disentangling Task Transfer Learning

论文地址:https://arxiv.org/abs/1804.08328

本文是CVPR2018 best paper,核心是提出了一种计算不同任务相似性的方法,以及利用不同任务相似性,在少量训练数据条件下进行多任务组合学习的分配方法。

文章的终极目标,是通过计算任务相似性,进一步计算选取(不是手动设计)针对目标任务的multi-task组合进行训练,并实现以少量数据尽可能接近fully supervised learning性能。
极简笔记 Taskonomy: Disentangling Task Transfer Learning_第1张图片

该计算流程主要分为4个步骤,在介绍算法流程之前再做一些背景和符号介绍。我们现在有一堆任务集合,可以划分为两个集合:源任务集合 S={s1,s2,...} S = { s 1 , s 2 , . . . } 表示可以从零开始训练的任务(样本太少就不能从零训练了),和目标任务集合 T={t1,t2,...} T = { t 1 , t 2 , . . . } 表示我们感兴趣的任务。两个集合是有重叠的。称 V=S+T V = S + T 为任务词典,也就是手头上所有任务的集合。对于输入图片 I I ,它在任务t t 下的标签记作 ft(I) f t ( I )

接下来就开始分步介绍算法流程。算法大致分2大步,4小步。前3小步是第1大步,量化不同任务间的相似性;第4小步就是第2大步,从相似性针对目标任务计算出最优的多任务学习组合方式。

单任务网络建模

对于所有源任务集合中的任务,分别fully supervised训练一个网络。文章中提到encoder部分用了resnet-50,decoder部分视任务而定。

迁移网络建模

首先对于单个源任务 sS s ∈ S 和目标任务 tT t ∈ T ,冻结 s s encoder部分的参数,并用其encoded特征作为输入训练s s t t 的transfer function D D 。记被冻结的encoder为 Es E s ,误差计算公式可表示为:

Dst:=argminθEID[Lθ(Dθ(Es(I)),ft(I))] D s → t := arg ⁡ min θ E I ∈ D [ L θ ( D θ ( E s ( I ) ) , f t ( I ) ) ]

同时,由于不同任务特征可能有互补的性质,文章还尝试了多任务组合特征作为输入,称作高阶关联。因为高阶的任务组合数量太大,文章基于一阶表现选择了一部分的组合进行迁移学习。对于小于五阶的高阶,文章根据一阶的表现,将前五的所有组合作为输入。对于n>5阶,文章选择结合一阶表现前n的起始任务作为输入。
极简笔记 Taskonomy: Disentangling Task Transfer Learning_第2张图片

量化相似性

从不同任务迁移到目标任务 t t 所产生的loss因为t t 的不同而不在一个量级上,需要进行归一化。文章采用了运筹学中的层次分析法(AHP)进行量化。AHP可参考博客https://blog.csdn.net/u013007900/article/details/45932851

首先对于每一个目标任务构建pairwise tournament矩阵 Wt W t ,其纵轴和横轴均对应所有的起始任务及我们计算过的高阶组合。给定一个测试集。给定一个测试集 Dtest D t e s t ,每一个元素 wi,j w i , j 表示在测试集中,有多大几率 si s i t t sj s j t t 误差更小(有几成IDtest I ∈ D t e s t 使得 Lt(Dsit(I))<Lt(Dsjt(I)) L t ( D s i → t ( I ) ) < L t ( D s j → t ( I ) ) )。然后计算 Wt=Wt/WTt W t ′ = W t / W t T ,现在 Wt W t ′ 的第(i,j)项表示 si s i 的表现比 sj s j 好几倍。
极简笔记 Taskonomy: Disentangling Task Transfer Learning_第3张图片

在此之后就是正常的AHP计算了,最终得到affinity matrix

BIP (Binary Integer Programming) 最优化

利用affinity matrix,从任务字典里抽取一组任务和迁移方式,等价于一个子图选取问题。子图选取问题可以抽象成一个BIP问题求解。文章针对这个最优化问题给了三个约束:
1. 如果选了一种迁移,那么该迁移的源任务和目标任务都要出现在子图中;
2. 每个目标任务有且只有一个迁移(将从零学习在图中定义为从自己到自己的迁移,即一条自己到自己的edge);
3. 监督信息加和不超过预算。
通过解BIP问题最终得到针对目标任务的multi-task组合

文章的实验结果这里就不列了,上述笔记部分参考CVPR 2018 Best Paper Taskonomy 作者解读 https://zhuanlan.zhihu.com/p/38425434

你可能感兴趣的