Propagate Yourself 探索无监督视觉表示学习的像素级一致性

发布 : 2021-07-02 分类 : 深度学习 浏览 :

摘要

用于无监督视觉表示学习的对比学习方法已经达到了显着的迁移性能水平。我们认为对比学习的力量尚未完全释放,因为当前的方法仅针对实例级前置任务进行训练,导致表示对于需要密集像素预测的下游任务可能不是最佳的。在本文中,我们介绍了用于学习密集特征表示的像素级前置任务。第一个任务直接在像素级别应用对比学习。我们另外提出了一个 pixel-to-propagation 的一致性任务,它产生了更好的结果,甚至大大超过了最先进的方法。具体来说,当迁移到 Pascal VOC 对象检测(C4)、COCO 对象检测(FPN/C4)它实现了 60.2AP、41.4 / 40.5 mAP 和 77.2 mIoU。使用 ResNet-50 骨干网络的 Cityscapes 语义分割,分别为 2.6 AP、0.8 /1.0mAP 和 1.0mIoU 比之前基于实例级对比学习的最佳方法好。此外,发现像素级前置任务不仅对常规骨干网络的预训练有效,而且对用于密集下游任务的头网络也有效,并且是对实例级对比方法的补充。这些结果证明了在像素级别定义前置任务的强大潜力,并提出了无监督视觉表示学习的新途径。

贡献

  • 提出两个像素级对比学习方法(PixContrast,PixPro)
  • 像素级方法是对已有实例级方法的补充,前者擅长学习空间敏感特征,后者提供更好的分类能力。

3 方法

3.1 像素级对比学习

z 正如大多数实例级对比学习方法那样,PixContrast 首项从同一图像增强采样两份,两份图像具有相同分辨率。分别送入常规编码器和动量编码器去计算图像特征。编码器网络由骨干网络(本文默认采用 ResNet)和投影头组成,前者可用于任意图像神经网络,后者由两个连续的 1x1 卷积层(分别输出 2048 通道和 256 通道)组成,在其中间有一个 BN 层和一个 ReLU 层,以产生特定分辨率的特征图,例如 7x7。以前的方法为每个增强视图计算单个图像的特征向量,而 PixContrast 计算可以用于像素级前置任务的特征图。然后将学习到的骨干网络表征用于特征迁移。架构的说明如图 2 所示。
image.png

Pixel Contrast

通过从两个视图计算出两个特征图,我们可以构建用于表示学习的像素对比前置任务。在特征图中的每个像素首先被扭曲到原始图像空间,然后计算两个特征图所有像素对之间的距离。这个距离被归一化到特征图对角线长度,以解释增强视图之间的比例差异。归一化后的距离,还基于阈值 T 生成正/负对。
image.png
其中 i 和 j 是来自两个视图的像素;dist(i,j)表示像素 i 和 j 在原始图像空间中的归一化距离。阈值默认被设置为了 T=0.7。
与实例级对比学习方法类似,我们采用对比损失进行标注学习:
image.png
其中 i 是第一个视图中的像素,它也位于第二个视图中。$\Omega_{p}^{i}$和$\Omega_{n}^{i}$分别是在第二视图中关于像素 i 的正集和负集。$\mathbf{x}_{i}$和$\mathbf{x}_{j}^{\prime}$是两个视图上的像素特征向量;$\mathcal{T}$是一个标量 temperature 超参数,默认设置为 0.3。损失在位于两个视图交集的第一个视图上的所有像素上取平均值。类似地,第二个视图上的像素 j 的对比损失也被计算和取平均值。最终 loss 是 mini-batch 所有图像对取均值。
正如后面实验所展示的那样,这种将实例级对比学习直接扩展到像素级在表征学习中表现良好。

3.2 Pixel-to-Propagation Consistency

学习表示的空间敏感性和空间平滑度可能会影响需要密集预测的下游任务的迁移性能。前者衡量区分空间接近像素的能力,需要在标签变化的边界区域进行准确预测。后者属性鼓励空间上接近的像素相似,这有助于预测属于同一标签的区域。上一小节中的 PixContrast 方法仅仅鼓励学习具有空间敏感性的特征。在下文中,我们提出了一个新的像素级前置任务,它额外的在表征学习中引入了空间平滑性。
这想新的前置任务涉及两个关键的组件。第一个是 pixel propagation module,它通过传播相似像素的特征来过滤一个像素的特征。这种传播对学习的表示具有特征去噪、平滑的效果,导致像素级预测任务中像素之间的解决方案更加一致。第二组件是是一个非对称结构,它其中一个分支产生常规特征图。另一分支合并 pixel-propagation module。前置任务寻找两个分支特征图之间的一致性而不考虑负对。一方面,这个设计从某种程度上保持了学习表征的空间敏感性,这归功于 regular branch。另一方面,对比学习的性能已知受到负对处理方式的严重影响,这非对称设计使得表征学习仅依赖正对之间的一致性,不存在仔细调整负对的问题。我们把这种前置任务称为 picel-to-propagation consistency(PPC)。
image.png

Pixel Propagation Module

对于每个像素特征$\mathbf{X}_{i}$,像素传播模块通过传播来自同一图像 $\Omega$ 内的所有像素$\mathbf{X}_{j}$的特征来计算它的平滑变换$\mathbf{y}_{i}$:
image.png
其中$s(\cdot, \cdot)$是定义如下的相似度函数:
image.png
其中$\gamma$是控制相似度函数锐度(sharpness)的指数,默认设置为 2;$g(\cdot)$是一个转换函数,可以由$l$个线性层实例化,其两个连续层之间有一个 BN 层和 ReLU 层。当$l=0$,$g(\cdot)$是一个恒等函数,方程(3)将是一个非参数模块。根据经验,我们发现所有$l={0,1,2}$都表现良好,我们默认设置$l=1$,因为它的结果稍好些。图 3 展示了提出的 pixel propagation 模块。

Pixel-to-Propagation Consistency Loss

在非对称架构设计中,有两个不同的编码器:常规编码器,其后应用像素传播模块以产生平滑特征,和一个没有传播模块的动量编码器。两个增强视图都通过两个编码器,并且鼓励来自不同编码器的特征保持一致:
image.png
其中 i 和 j 是根据式 1 中的分配规则来自两个增强视图的正像素对;$\mathbf{x}_{i}^{\prime}$和$\mathbf{y}_{i}$分别是动量编码器和传播编码器的像素特征向量。这种损失在每个图像的所有正对上进行平均,然后在小批量中进一步对图像进行平均以驱动表示学习。

3.4 Combined with Instance Contrast

采用流行的实例级方法 SimCLR,与像素级前置任务的动量编码器对齐。在这种组合中,像素级和实例级前置任务的两个损失由乘法因子$\alpha$平衡,默认它被设置为 1。
image.png
通常来说,这两个任务是互补的:像素级前置任务适合空间推理的表示,而实例级前置任务学习分类表示。

学习、记录、分享、获得

微信扫一扫, 向我投食

微信扫一扫, 向我投食