极简笔记 Multi-task Self-Supervised Visual Learning

极简笔记 Multi-task Self-Supervised Visual Learning

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

文章核心是利用自监督的任务对模型进行pretrain,再将得到的模型迁移到相关任务进行finetuning(这时候对不更新骨架网络参数,来进行对比,只学习不同任务的head),期望得到的性能接近带有额外label的pretrain模型。

文章提到了多种自监督任务,这些任务的标注可以直接得到而不用额外标注:1. relative position,即随机切两块patch送给网络,回归之间的相对位置;2. 单通道图像上色;3. 生成伪类;4. 针对视频预测哪些像素将会发生移动

文章主要发现为:1. 深层网络比浅层网络在self-supervised任务上更加work;2. multi-task self-supervised在语义要求高的任务上得到的性能比单任务高,但是在语义要求低的任务(比如深度预测),单任务性能甚至超过ImageNet pretrain model;3. ImageNet pretrained model和multi-task self-supervised预训练模型的性能在不同benchmark上会有不同,但比较接近(当然ImageNet pretrain是作为实验性能上限啦);4. 在self-supervise task中对输入进行和谐化处理和对weight进行Lasso约束,没有太大性能提升;5. 结合自监督任务能够加速网络训练。

极简笔记 Multi-task Self-Supervised Visual Learning_第1张图片

看一眼网络结构,在多任务的时候就是从骨架网络各层拿出来乘个系数加起来,然后给个任务的head结构。对不同任务输入的和谐化(统一),就是把图像转到Lab颜色空间,然后把a和b的channel丢了,L通道复制三次,这样就能同时适用于不同任务需求(上色要求单通道图像,其他要三通道图像)。

接下来列一些实验性能对比,随意看一下,结论都在前面写了已经。
极简笔记 Multi-task Self-Supervised Visual Learning_第2张图片极简笔记 Multi-task Self-Supervised Visual Learning_第3张图片
极简笔记 Multi-task Self-Supervised Visual Learning_第4张图片极简笔记 Multi-task Self-Supervised Visual Learning_第5张图片

自监督生成pretrained model,思路不错。现在都拿imagenet pretrained model做初始化,但是不同任务效果不同,也许在一些特定任务上可以设计与特定任务相关的self-supervised方式进行预训练。

你可能感兴趣的:(极简笔记)