分割任务上的Domain(一)

一、综述
在以“训练和测试数据必须来自相同的特征空间中,并且具有相同的分布”的假设下机器学习与数据挖掘技术许多算法表现良好。然而,在实际应用中,这种假设可能不成立。当分布发生改变时,绝大多数统计模型需要从头开始使用新收集的训练数据进行重建。在真实世界的应用中,重新收集训练数据并且重新训练模型是昂贵的或者不可能的。但我们在另一个感兴趣的域中有足够的训练数据,后者的数据可能在不同的特征空间中,或者遵循不同的数据分布。如果成功地进行知识迁移,将避免大量昂贵的数据标记工作,从而极大地提高学习的性能。
传统的机器学习方法大多数都假设已标注数据与未标注数据的分布是相同的。与之相反的是,迁移学习允许源空间、任务空间,并且在测试集和训练集中的分布是不同的。与迁移学习密切相关的学习技术是多任务学习框架,这个框架尝试同时学习多个任务,即使它们是不同的。多任务学习的一个典型方法是发现能使每个任务受益的共同(潜在)特征。多任务学习的一个典型方法是发现能使每个任务受益的共同(潜在)特征。
数据域(domain)由两个部分组成:特征空间和边缘概率分布。如果两个域是不同的,它们具有不同的特征空间或者不同的边缘概率分布。
一个任务(task)由两个部分组成:空间的标签 ,和一个目的预测函数.
Transfer Learning. 给定一个源域 Ds 和一个学习任务Ts,一个目标域Dt 和 一个学习任务 Tt,迁移学习的目的是使用在 Ds 和 Ts 上的知识帮助提高在目标域 Dt上的预测函数 fT(x) 的学习,其中 Ds≠Dt或者 Ts≠T。
在某些情况下,当源域和目标域彼此不相关时,暴力转移可能失败。在最坏的情况下,它甚至可能损害目标域学习的性能,这种情况通常称为负迁移。
根据源任务与目标任务数据域和任务的不同,我们将迁移学习分为以下的几类

迁移学习主要解决三个方面的问题:
(1)数据的特征空间不同(就是源任务与目标任务的特征是不同的);
(2)数据的分布是不同的(这种情况一般特征空间是相同的);
(3)标注标签的花费很昂贵以至于很难标注或者几乎不可能标注。
领域自适应(Domain Adaptation)是迁移学习中的一种代表性方法,指的是利用信息丰富的源域样本来提升目标域模型的性能。
源域(source domain)表示与测试样本不同的领域,但是有丰富的监督信息;
目标域(target domain)表示测试样本所在的领域,无标签或者只有少量标签。
源域和目标域往往属于同一类任务,但是分布不同。
根据目标域和源域的不同类型,领域自适应问题有四类不同的场景:无监督的,有监督的,异构分布和多个源域问题。
通过在不同阶段进行领域自适应,研究者提出了三种不同的领域自适应方法:
1) 样本自适应,对源域样本进行加权重采样,从而逼近目标域的分布。
(其基本思想是对源域样本进行重采样,从而使得重采样后的源域样本和目标域样本分布基本一致,在重采样的样本集合上重新学习分类器。)
2) 特征层面自适应,将源域和目标域投影到公共特征子空间。
(其基本思想是学习公共的特征表示,在公共特征空间,源域和目标域的分布要尽可能相同)
3) 模型层面自适应,对源域误差函数进行修改,考虑目标域的误差。
(其基本思想是直接在模型层面进行自适应。模型自适应的方法有两种思路,一是直接建模模型,但是在模型中加入“domain间距离近”的约束,二是采用迭代的方法,渐进的对目标域的样本进行分类,将信度高的样本加入训练集,并更新模型)。
解决域自适应问题的一般方法是通过实例加权,其中将依赖于实例的权重添加到损失函数中。域适应的另一个解决方案是迁移源域和目标域的数据表示,使它们呈现相同的观测值和标签的联合分布。
Instance reweighting和subspace learning是Domain adaptation中两种经典的学习策略,前者对source data每一个样本加权,学习一组权使得分布差异最小化,后者则是转换到一个新的共享样本空间上,使得两者的分布相匹配。另外比较重要的的一点是,实际训练当中,“最小化分布差异”这个约束条件是放在目标函数中和最小化误差一起优化的,而不是单独优化。
二、Domain在分割上的应用
Conditional Generative Adversarial Network for Structured Domain Adaptation
会议:CVPR2018
概述:通过使得生成数据source image通过网络提取的特征尽可能与真实数据domain image提取的特征分布相似,减小domain shift,使得使用生成数据训练的分割网络可以用于分割真实数据。(通过条件生成网络提高分割模型的域自适应能力)

基础结构Vgg+fcn(将GAN集成到FCN框架中以减少源域和目标域之间的差距)
作用:域适应旨在纠正在训练数据和测试数据之间存在一些差异,并在测试阶段将模型调整为更好的泛化。
Maximum Classifier Discrepancy for Unsupervised Domain Adaptation
会议:CVPR2018Oral
概述:通过带标签的source domain的图片和标签训练得到一个网络模型,利用target image 进行domain adaptation 操作,使得source domain训练的网络模型也能够应用在target image上。
一般的分类或者分割网络包括下采样的特征生成模块和分类模块,图片输入网络,通过特征生成模块提取为图片特征,再利用分类模块预测图片的类别,利用已有的标签对网络进行训练。

在分类网络的基础上添加了一个判别网络,主要利用对抗学习来对齐两个数据集图片特征的分布,只要图片特征的分布一样,那么源域图片训练的分类器也就可以应用在目标域图片上,以减轻数据集之间差异带来的问题。
但是由于仅仅对齐图片特征的分布,并没有考虑类别边界,使用的分类器是完全由源域图片训练得到的。这样可能导致,目标图片通过特征生成模块,可能生成类别模糊的特征。
文章提出了使用两个独立的分类模块,通过训练从而具有不同特点,那些类别模糊的特征通过两个不同分类器可能会被分为不同的类别,通过度量并且最小化这种分类矛盾区域,来解决这个问题。 (MCD_DA算法 :利用两个独立的分类器对齐源域和目标域图片特征分布
(1)利用源域图片训练特征生成器和分类器
(2)利用目标域图片最大化分类差异训练两个分类器
(3)利用目标域图片最小化分类差异训练特征生成器
(4)多次迭代训练
(5)最终使得特征生成器生成的特征越来越接近,消除分类差异)

Learning to Adapt Structured Output Space for Semantic Segmentation
会议:CVPR 18-AdaptNet
思想:在语义分割场景中,来自不同域的图片可能在外观上有很大的不同,但是他们的分割输出是结构化的,共享很多的相似性。
算法概述:为了解决分割网络在一个领域往另一个领域迁移,首先在source数据集训练一个backbone。然后对于source和target数据集抽样,通过对样本的feature map做输入,训练一个判别网络来判断target图有哪些知识是来源于source。然后用判别器得到的Ladv和Lseg同时对网络进行finetune。
自适应部分:针对目标预测计算对抗损失,并将其反向传播到分割网络。通过在两个不同层面采用两个自适应模块来说明我们提出的多层次对抗性学习。
实质:在分割的输出空间做对抗学习,来缩小源域和目标域的分布差异,提升分割的效果。

分割小结
域自适应方法主要在假设通过匹配来自不同域的特征的分布来实现自适应的情况下操作。通过最小化源域上的任务特定损失和域之间的差异来获得域不变特征。
分割任务上的域适应问题:
域适应的问题背景是两个同类的数据集,由于光照、角度等不同,存在域差异(分布不同)。面对的是两个分割的数据集D1和D2。在D1上训练得到的模型,直接用在D2上会因为存在域差异(分布差异),会导致域漂移。(既D2的数据会更多的被判断成D1场景下的数据)导致出现一些分割错误。
和传统域适应的区别
从任务上看,传统DA在分类任务上提升分类任务的准确率。作用在特征上。而在分割任务上使用DA的策略来提升分割的效果。作用在分割输出结果上。
GAN来实现DA的原因
用对抗学习来缩小源域和目标域的域差异(分布差异)。减小分布之间的差异,是GAN擅长的事情。而在分割任务中,输出空间的分割输出结果,不同的数据集对应的分割输出结果,存在分布差异。在分割结果上用GAN进行学习,可以缩小源域和目标域之间的差异。而直接在分割结果上进行对抗学习,是在比较高层的结果上减小域差异;多层的DA其实就是融合了低层和高层的特征进行学习的一个过程。

你可能感兴趣的:(计算机视觉,神经网络,机器学习)