自监督学习(三)Unsupervised Visual Representation Learning by Context Prediction
Unsupervised Visual Representation Learning by Context Prediction
Introduction
这篇文章是一篇“Context Based”自监督学习的方法,即通过构造Pretext task,使网络能学到图像中的上下文(Context)信息,而这些信息对于目标检测等任务有帮助。作者首先将随机采样一个区域(patch1),输入到网络中,之后将区域周边分成八个patch,随机选取一个patch2,再输入到网络中,预测patch2相对于patch1的偏移,如下图所示。为了避免网络学习到不必要的图像细节,作者还添加了几个防止过拟合的方法。这篇文章发表在ICCV2015上,论文地址 。
Method
方法部分主要包括三个要点:切片的选取方式,网络的结构和避免过拟合的方法。
Patch Sample
文中提到网络是依次输入两个切片,切片大小是96x96,其中第一张切片是随机采样的,第二个切片的选取方法是:
以第一个切片为中心,将其周边的区域切分为8个96x96的切片,依次编号为1,2,…,8,如下图所示。其中,蓝色的区域为第一次随机采样得到的patch,而第二次输入的patch是从周边的8个patch中随机选择得到的。同时,为了增加任务的难度,相邻的patch要有一个48像素的间隔,并且有-7到7个像素的随机变化。
Nework Architecture
作者在这里使用了类似于孪生网络的结构,如下图所示:
conv1到fc6之间的这些卷积层是两个patch共享的,之后fc6得到的特征进行融合,输入到fc7~9中,输出偏移位置,作者在这里是把偏移的预测当做是一个分类问题。
Avoiding “trivial” solutions
自监督学习的目标是要学习到图像的一些高层的语义特征,尽可能避免学习到一些低层次特征,低层次的特征很可能造成自监督模型过拟合。如果将过拟合的模型当做其他任务的预训练模型,很可能不会提高性能,反而拉低其他任务的性能。作者发现,除了使用数据増广方法避免常见的过拟合之外,还有一种过拟合的现象需要注意:色差(chromatic aberration)。也就是说,训练的过程中,网络会过度依赖图像的颜色信息,造成了过拟合。为了避免这种现象,作者采用了两种策略,一种是对原先的颜色空间进行变化;另一种是随机丢掉两个波段的数据,以高斯噪声代替。
Experiments
为了说明该方法的效果,作者主要进行了三个实验:利用最近邻方法分析网络是否学到了上下文信息,验证该方法作为预训练模型在目标检测上的效果和在图像检索方面的效果。这里主要介绍前两个实验。
Nearest Neighbors
作者认为论文中提到的方法如果有效果,那么可以说明,相邻patch之间是具有高层特征的相似性的,因此,可以通过对于patch进行聚类,验证该方法时候有效。作者在这里首先设置了这个实验,利用网络fc6的输出,对特征进行聚类,然后聚类结构的相似程度。下图是实验的结果:
Object Detection
使用pascal voc07数据集验证目标检测的性能,将自监督训练的模型作为目标检测网络的预训练参数,得到的结果如下图所示:
可以看到该方法相比于随机初始化训练方法,有约6%的提升,但是相对于ImageNet预训练,仍然有约7%的差距。
Accuracy on the Relative Prediction Task Task
这一部分作者分析了自监督任务本身的性能,作者发现网络预测偏移的性能相对是比较低的。这个其实也是和上一篇博客中的结论有相似的地方,自监督的任务需要难一些,更有助于性能提升。
Conclusion
本文提出了一种Context Based的自监督学习方法,利用类孪生网络预测patch的偏移,从而学习到图像中的上下文信息。同时,提出了预防自监督任务过度过拟合的策略。从结果来看,比随机初始化有明显的提升,但是相比于ImageNet预训练,仍然有不小的差距。这也是比较早的在深度学习中使用自监督的文章,之后很多文章都借鉴了该文章的思路。