【VALSE 前沿技术选介17-09期】自监督学习近期进展

2017 年 10 月 20 日 VALSE Winsty

什么是自监督学习?为什么需要自监督学习?

简言之,自监督学习是一种特殊目的的无监督学习。不同于传统的AutoEncoder等方法,仅仅以重构输入为目的,而是希望通过surrogate task学习到和高层语义信息相关联的特征。这方面的研究得到了大量顶级研究组的关注,一个详尽的survey参见我之前的一个talk:http://winsty.net/talks/self_supervised.pptx

Representation Learning by Learning to Count

这篇文章希望通过spatial equa-variance的信息来做self-supervised learning,即一张图片分成若干部分后得到的特征求和,应当等于整个图片直接的特征求和。数学表达如下:

一个直观的解释便是这样一个方法其实是在“数”一些重要元素的个数,这些元素的个数是满足这样一个equivariance性质的。个人觉得这样的解释过于牵强了,这一点在后续中也会提到。文章中的例子,如下图所示:

在实际操作中,如果没有别的约束,这样的学习方式一定会导致trivial solution,即所有输出全为0 。为了避免这样的问题,作者在目标函数中还加入了另外一个负样本作为约束限制,即要求这若干部分的特征求和和任意sample的一张不相关图片的特征表示差异尽量大。整个方法的示意图如下:

文章中一些有趣的观察包括:

  1. 在ImageNet和COCO上,最后fc的1000个输出中,虽然只有30和42个非零元素,但是在卷积层学到的特征仍然对于后续分类/检测/分割任务起到了极大的帮助。

  2. 在学习过程中,网络不应该区分出不同的输入是来自于crop还有downsample。否则CNN可能会使用一些low level feature来满足这样的学习条件,而不是我们希望的semantic feature。(个人觉得作者在这里举的例子并不恰当,所以不在这里列出。)所以作者使用了随机选择downsample方法和灰度图来缓解这个问题。

  3. 不出意外,通过这样预训练得到的特征可以帮助后续High level vision的任务的性能。在可视化neuron的过程中,作者发现在最后层输出“counting”特征的norm比较大的图片一般都对应有明确的语义信息,比较小的一般都是low level纹理或颜色。但是其实这里存疑的是,low level的纹理其实也可以对应着明确可以counting的信息,如下图所示,(a) (b)分别对应ImageNet数据集中最高和最低的图片,(c) (d)对应COCO数据集。可以明显看到就算在norm较低的样本中,也存在大量可数的物体。所以个人觉得counting的这个解释是十分牵强的。


Transitive Invariance for Self-supervised Visual Representation Learning

利用Context类和Video类的self-supervised方法其实本质上是互补的:Context类的方法,如预测相当位置或拼图,对于inter-instance的变化有很好的适应性,例如同一类物体之间的一些;Video类的办法对于intra-instance的变化,例如pose,viewpoint等具有很好的适应性。这篇文章呢,其实就是希望这两种办法取长补短,能够拓展出更多的training data。如下图所示:

在具体实施过程中,作者并不是简单地通过multitask来同时进行两种self-supervised learning,而是通过一个逐步构建similarity graph的方式来拓展训练集。在拓展后的训练集上,再使用一个Triplet Network(一对相似样本,和一个sample出的负样本使用Triplet Loss)来做特征学习。学习的过程相对来说传统,所以就不再赘述,下面主要介绍一下前面构建similarity graph的方式。

首先,作者在Youtube 100K数据上找到moving object proposal,然后在这些proposal上通过训练好的inter-instance模型,对训练集中所有的样本计算特征。由于样本集数目巨大,为了保证每个sub-cluster的purity,作者提出了two stage的方法:首先通过kmeans首先进行粗略聚类,然后对于每个样本,在大类内找出10近邻。为了保证足够高的精度,在此之后,作者去寻找了所有的大小为4的全连接group(即,这4个样本分别在剩余3个样本的10NN中)。通过这样的办法,可以至少保证每个sub-cluster在inter-instance模型中很相似。随后再从这些样本,通过tracking的方法拓展出去,去挖掘同样instance的intra-instance变化。这样就可以传递这些相似性到同类但不同pose不同viewpoint的样本中去了。一个直观解释如下图:

在实验中,这个方法在PASCAL VOC和COCO检测任务中得到了非常接近于ImageNet pretrain model的结果,在另外的Surface Normal Estimation任务中,成功超越了ImageNet pretrain model,足以证明结合两种视角的self-supervised方法的威力。


Multi-task Self-Supervised Visual Learning

这是一篇更偏向工程性的工作,花了大量的精力同时训练不同种类互补的self-supervised任务以期待得到最好的feature learning结果。这些互补的self-supervised任务包括:1)预测相对位置 2)颜色预测 3)单样本学习 4)运动分割 。在多任务同时训练的过程中,使用了两种结构,一种是共享trunk网络,然后针对不同任务有不同head网络的传统方式;另一种通过对不同层的feature进行稀疏组合,以期待得到更大的灵活性。如下图所示:

不同的alpha对应不同residual block相加的权重。除此之外,文章中还描述了大量训练细节,比如不同类型的任务需要不同输入,以及如何在多机之间能够完成大规模分布式训练等等,详情有兴趣的读者可以参见原始的paper,这里就不再赘述。

在实验中,作者在self-supervised方法中常用的几个任务中做了测试:ImageNet分类,PASCAL VOC detection,以及NYU Depth深度估计。一个有趣的趋势是在需要语义信息越强的任务中,融合多种任务得到的效果就会越好,在NYU Depth中语义信息相对来说不需要这么强的任务中,单任务甚至取得了最好的结果。

总结

可以看到现在self-supervised一个发展的趋势是往大规模,实用化发展,虽然现阶段在强语义任务上仍然比不上ImageNet大规模监督训练的结果,但是这两年差距在快速缩小,我们期待在不遥远的未来可以达到ImageNet Pre-training的结果甚至超越。


登录查看更多
13

相关内容

自监督学习(self-supervised learning)可以被看作是机器学习的一种“理想状态”,模型直接从无标签数据中自行学习,无需标注数据。
【开放书】SLAM 中的几何与学习方法,62页pdf
专知会员服务
109+阅读 · 2020年6月5日
少标签数据学习,54页ppt
专知会员服务
198+阅读 · 2020年5月22日
【浙江大学】对抗样本生成技术综述
专知会员服务
91+阅读 · 2020年1月6日
【ICIP2019教程-NVIDIA】图像到图像转换,附7份PPT下载
专知会员服务
54+阅读 · 2019年11月20日
从 CVPR 2019 一览小样本学习研究进展
AI科技评论
11+阅读 · 2019年7月25日
【领域报告】小样本学习年度进展|VALSE2018
深度学习大讲堂
26+阅读 · 2018年6月14日
【领域报告】主动学习年度进展|VALSE2018
深度学习大讲堂
15+阅读 · 2018年6月12日
CVPR 2018 笔记
计算机视觉战队
3+阅读 · 2018年5月25日
2017上半年无监督特征学习研究成果汇总
北京思腾合力科技有限公司
4+阅读 · 2017年9月15日
Image Segmentation Using Deep Learning: A Survey
Arxiv
45+阅读 · 2020年1月15日
Deep Learning for Deepfakes Creation and Detection
Arxiv
6+阅读 · 2019年9月25日
Mobile big data analysis with machine learning
Arxiv
6+阅读 · 2018年8月2日
Arxiv
6+阅读 · 2018年6月21日
VIP会员
相关资讯
从 CVPR 2019 一览小样本学习研究进展
AI科技评论
11+阅读 · 2019年7月25日
【领域报告】小样本学习年度进展|VALSE2018
深度学习大讲堂
26+阅读 · 2018年6月14日
【领域报告】主动学习年度进展|VALSE2018
深度学习大讲堂
15+阅读 · 2018年6月12日
CVPR 2018 笔记
计算机视觉战队
3+阅读 · 2018年5月25日
2017上半年无监督特征学习研究成果汇总
北京思腾合力科技有限公司
4+阅读 · 2017年9月15日
Top
微信扫码咨询专知VIP会员