Multi-task, multi-domain learning: Application to semantic segmentation and pose regression
写于2020年8月1日,算是看过的第一篇较为完整的multi-task,multi-domain的文章,也是第一篇纯自己看,网络没有总结的文章。师兄说是SCI二区文章比较简单,但我还是懵懵的。
目录
一、总结
1. multi-task,multi-domain
data,label:
输入: x i k x_i^k xik patch(一个像素和它周围的像素组成patch)
标签: y i k y_i^k yik
D k = { x i k , y i k } D_k=\{x_i^k,y_i^k\} Dk={
xik,yik},其中 k = 1... K k=1...K k=1...K和 i i i是patch的索引
标签空间在数据集上是不同的,因此每个 y i k y_i^k yik都可以在空间 L k L^k Lk中取值。
multi-task:
与多标签分类不同,我们必须从每个标签集 L k L^k Lk中预测一个且恰好一个标签,而不是预测每个标签的存在或不存在。合并数据集还会产生域适应问题:所有数据集可能属于同一类型(例如RGB图像),但是输入分布在各个数据集之间差异很大。
2. 各个任务独立训练的限制
在K个数据集上训练K个模型:
- (i)参数多,每个模型都要不断优化参数,参数 θ k = { W l , b l } l = 1 L \theta_k=\{W^l,b^l\}_{l=1}^L θk={ Wl,bl}l=1L包括所有卷积的滤波器以及所有全连接层的权重和偏差,导致参数很多。从有限(且通常很少)的训练数据中学习如此大量的参数非常具有挑战性。
- (ii)标签空间之间的关系没有考虑
3. joint feature training with selective loss
针对问题1设置带有选择损失的联合特征训练:
联合特征训练:用联合数据集来训练一个网络,让网络决定在每一层到哪些特征是通用的,哪些特征属于特定任务的。从不同数据集中采样训练,使得提取的特征对于每一个子数据集都有用。
选择损失函数:定义了数据集级别的softmax(每个数据集生成一个概率向量),对于数据集k中的每个标签j,
f ( j , θ ( x , Θ ) ) = e θ ( x , Θ ) j ∑ j ′ ∈ L k e θ ( x , Θ ) j ′ f(j,\theta(x,\Theta))=\frac{e^{\theta(x,\Theta)_j}}{\sum_{j^{'}\in L^k}e^{\theta(x,\Theta)_{j'}}} f(j,θ(x,Θ))=∑j′∈Lkeθ(x,Θ)j′eθ(x,Θ)j
在实践中,在学习过程中,将基于数据集的soft-max与交叉熵损失函数相结合,以构建所谓的选择性交叉熵损失函数:
J ′ ( k , x , y , Θ ) = − θ ( x , Θ ) y + l o g ( ∑ j ∈ L k e θ ( x , Θ ) j ) J'(k,