Self-supervised Domain Adaptation for Computer Vision Tasks
全文阅读
Introduction
groud truth由于也是人为标记的,往往存在错误,因此不是绝对正确的。
几种减少使用人为标注数据的方法:
- 主动学习(active learning):通过一定算法查询最有用的未标记样本,并交由专家标记,然后用这些样本训练模型。
- Self-labeling:初始模型使用少量的标签数据,之后模型通过对未标注的数据进行预测,再用预测数据迭代进化模型。
- 迁移学习(transfer learning):通过源任务来提升目标任务的性能(e.g. fine-tuning就是一个很好的例子。)
- 领域自适应(domain adapatation):可以理解为源任务和目标任务相同,但是所给图片的域是不同的,例如在目标检测中,训练数据为卡通图片,而测试数据需要时真实图片,卡通人物和真实人物之间存在相似模式。
pretext CNN
迁移学习 vs 领域自适应
领域自适应问题是迁移学习的研究内容之一,它侧重于解决特征空间一致、类别空间一致,仅特征分布不一致的问题。而迁移学习也可以解决上述内容不一致的情况。 ——迁移学习简明手册 王晋东 中国科学院计算技术研究所
自监督学习很少用于领域自适应任务中,本文即想研究能否利用自监督学习,学习到领域不变的特征表征。
主要贡献:
* 提出了一种通用的结合自监督 领域自适应的视觉表征学习方法。
* 聚焦于图像翻转的pretext learning任务,并提出了几种变体,并研究其性能。
* 提出了几种附加策略来提升自监督领域自适应的性能。(prediction layer alignment and batch normalization calibration)
Related Work
Self-supervised visual representation learning
自监督学习的主要研究点在pretext任务的设计上。
- predicting the relative location of image patches:
- Unsupervised visual represen- tation learning by context prediction ICCV 2015
- Unsupervised learning of visual representa- tions by solving jigsaw puzzles ECCV 2016
- Learning image representa- tions by completing damaged jigsaw puzzles WACV 2018
- Improvements to context based self-supervised learning CVPR 2018
- image colorization(图片着色)
- image inpainting(图片修补)
- create image samples with corresponding labels:
- image rotation angles as labels(具备学习高级图像表征能力)
Unsupervised Domain adaptation
domain adversarial training Domain-Adversarial Training of Neural Networks ICML 2015
Method
以语义分割任务为例,语义分割是在像素级别上的分类,属于同一类的像素都要被归为一类,因此语义分割是从像素级别来理解图像的。
notations
- E encoder feature extractor
- S decoder
- E + S CNN for semantic segmentation
- source domain labeld samples
- P for pretext task
- pretext training samples ,这里的标签是可以自动生成,而无需人为标注的。
首先,利用target data构建self training samples,并输入encoder E,利用pretext task获得target data的表征。同时,source data是有标签的,将source data输入到encoder E中,进行有监督学习。因为两个域的数据的特征空间一致,encoder E可以将两个域的图片映射到同一个空间。这样main task训练出的模型,可以以target data为输入,进行主任务的推理。
框架较为简单,参数共享的思想也被用于很多多任务的工作中。
Pretext tasks
受image-patch based方法的启发,在进行图片旋转预测任务时,考虑图片的空间分布。
Image rotation prediction as pretext task
- 训练图片
- 旋转函数
自监督训练的目标为:
损失函数为:
旋转预测任务的主要作用为:
By learning to predict the image orientations, the convolutional neural networks also implicitly learn to localize salient objects in the images, recognize their orientations and object types.
有利于学习领域不变的特征表征。
全图旋转的问题:
若对全图进行旋转预测任务,可能会引入噪声,并且不能学到领域不变的特征表示。
解决方法:
从全图中随机裁剪出一个补丁(patch),并旋转。进而获得更多样的样本。
Spatial-aware rotation prediction as pretext task
在上述crop的技巧上,将全图分割成四部分。
Objective function for domain adaptation
notations
- feature maps from E
- segmentation predicitons: ,H和W是输出的高和宽,C的语义类别
目标函数:
损失函数:交叉熵
训练的总损失
改进策略
Prediction layer alignment
相关论文:
[Learning to adapt structured output space for semantic segmentation CVPR 2018]
[Adversarial alignment of class prediction uncertainties for domain adaptation ICPRAM 2019]
对于语义分割任务的decoder,简化为上采样层,相当于弱化了语义分割任务预测器的能力,这样encoder的最后一层与prediction layer更相关。
增加一个判别器,判别器需要区分encoder输出的向量是来自源数据还是目标数据。Encoder的任务即为尽力欺骗判别器,使得判别器分不清输出向量来自哪个分布的数据,这样encoder即有了提取领域不变特征的能力。
判别器的任务是一个二分类问题,它需要分清属于哪一个域,令,损失函数为二分类交叉熵:
z=0 表示来自目标域,z=1 表示来自源域。
对于Encoder来说,它的任务是在给定判别器的情况下,欺骗判别器,使得输入z=0的数据时,越大越好。对抗损失为:
整个框架的总损失为:
Batch normalization calibration
因为源域和目标域的数据分布存在差异,因此用源数据训练的模型,batch norm计算的和在应用到目标域时,会产生域偏移。作者提出,对于给定的预训练模型,将训练参数都固定住,利用目标数据重新计算Batch norm层的均值和方差。
主要思想
利用自监督学习,使得源数据和目标数据都可以无监督地进行学习,并利用域自适应方法,学习两个分布数据间的特征不变性表征。
创新点&贡献
- 在传统领域自适应框架中加入自监督学习,实验表明自监督学习有利于提升领域自适应学习的性能。
- 提出一种结合空间结构的旋转预测Pretext任务,并对比发现,这样简单的pretext任务效果和更加复杂的任务相似。
存在不足
域对抗部分存在缺陷,因为从实验来看,作者将该损失 的权重调到很小0.01,也造成了负影响。从对比实验看,加上对抗部分时,分数均有降低,这可能由于对抗学习本来就不易训练,这么多任务组合使得encoder的参数难以很好地更新。感觉可以修改对抗部分的损失,将交叉熵改成信息熵:
只需要优化目标数据的输入,使得对于目标数据,encoder可以骗过判别器。
句式&词汇学习
- subjectivity n 主观性,主观
- fatigue n 疲劳
- calibration 1. n. 调准;校准 (测量器具上的)刻度 口径测定
- pioneer 1. n. 拓荒者; 开发者 2. 先驱者; 创始者; 先锋 3. vt. 开拓, 开发, 创始