28

解读自监督学习(Self-Supervised Learning)几篇相关paper

 4 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzI5MDUyMDIxNA%3D%3D&%3Bmid=2247493123&%3Bidx=2&%3Bsn=c48c269e877cf6390185955bd8d3d89b
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

加入极市 专业CV交流群,与 6000+来自腾讯,华为,百度,北大,清华,中科院 等名企名校视觉开发者互动交流!更有机会与 李开复老师 等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注  极市平台  公众号  , 回复  加群, 立刻申请入群~

作者:bingo

链接: https://zhuanlan.zhihu.com/p/96748604

本文 已由作者授权转载,未经允许,不得二次转载。

Supervised deep learning由于需要大量标注信息,同时之前大量的研究已经解决了许多问题。所以近期大家的研究关注点逐渐转向了Unsupervised learning,许多顶会包括ICML, NeurIPS, CVPR, ICCV相继出现一些不错的paper和研究工作。

这里主要关注Unsupervised learning一类特定的方法:Self-supervised learning(自监督学习)。自监督学习的思想非常简单,就是输入的是一堆无监督的数据,但是通过数据本身的结构或者特性,人为构造标签(pretext)出来。有了标签之后,就可以类似监督学习一样进行训练。比较知名的工作有两个,一个是:Unsupervised Visual Representation Learning by Context Prediction(ICCV15),如图一,人为构造图片Patch相对位置预测任务,这篇论文可以看作是self-supervised这一系列方法的最早期paper之一;另一个是:Unsupervised Representation Learning by Predicting Image Rotations (ICLR18),如图二,人为构造图片旋转角度预测任务,这篇论文因为想法极其简单在投稿到ICLR之后受到了极大关注,最终因为实验结果非常全面有效最终被录用。

vYrEbyU.jpg!web

图一. Patch相对位置预测

RzAzqmr.jpg!web

图二. 图片旋转角度预测

这里重点介绍最近的几篇self-supervised learning相关的paper。第一篇是RETHINKING DATA AUGMENTATION: SELF-SUPERVISION AND SELF-DISTILLATION。这篇论文的思想非常直观,如图三。首先,Data Augmentation相关的方法会对通过对原始图片进行一些变换(颜色、旋转、裁切等)来扩充原始训练集合,提高模型泛化能力;Multi-task learning将正常分类任务和self-supervised learning的任务(比如旋转预测)放到一起进行学习。作者指出通过data augmentation或者multi-task learning等方法的学习强制特征具有一定的不变性,会使得学习更加困难,有可能带来性能降低。因此,作者提出将分类任务的类别和self-supervised learning的类别组合成更多类别(例如 (Cat, 0),(Cat,90)等),用一个损失函数进行学习。

jeYJri2.jpg!web

比较有意思的一点是,作者通过简单变换证明:如果     ,论文方法就退化成Data Augmentation;如果    ,论文方法就退化成Multi-task Learning的方法,这里     是对应的分类器权重。所以,作者提出的方法本身就包含了Data Augmentation和Mult-task Learning方法,同时具有更大的使用范围。

在实际物体分类过程中,可以将不同旋转角度的分类结果进行加和,即: p(Cat) = p(Cat,0)+p(Cat,90) +p(Cat,180)+p(Cat,270),但是这样测试时间会变成原来的4倍。所以,作者提出了第二个模块,self-distillation(自蒸馏),distillation思想最早是hinton在nips14年提出来的。如下图,self-distillation思路是在学习的过程中限制不同旋转角度的平均特征表示和原始图片的特征表示尽可能接近,这里使用KL散度作为相似性度量。

IBrQJvf.jpg!web

最终,整个方法的优化目标如下:

第一项和第二项分别对应图(a)和图(b),第三项是正常的分类交叉熵损失,作为一个辅助loss。 

之前的研究思路主要是设计各种各样的pretext任务,比如patch相对位置预测、旋转预测、灰度图片上色、视频帧排序等等。CVPR19和ICCV19上,Google Brain的几个研究员发表了两篇论文,从另外的视角分析和研究self-supervised learning问题。两篇paper名字分别是:Revisiting Self-Supervised Visual Representation Learning (CVPR19)和S^4L: Self-Supervised Semi-Supervised Learning(ICCV19) 。

Revisiting这篇paper研究了多种网络结构以及多种self-supervised的任务的组合,得到了一些启发性的经验结论:

  1. 与supervised learning不同的是,self-supervised learning在不同task上的结果依赖于网络结构的选择,比如对于rotation预测,RevNet50性能最好,但是对于Patch预测,ResNet50v1性能最好。

  2. 以前的self-supervised方法通常表明,alexnet的最后几层特征性能会下降。但是这篇paper结论是对于skip-connection(resnet)结构的网络,高层的特征性能并不会下降。

  3. 增加filter数目和特征大小,对于性能提升帮助很大。

  4. 衡量无监督性能最后训练的线性分类器非常依赖学习率的调整策略。

YzIZVja.jpg!web

不同网络结构,在不同self-supervised任务上面表现各不相同

S^4L这一篇paper,非常像上面图(a)中multitask learning的策略,即有标签数据上面加一个正常的分类损失,无标签数据上加一个self-supervised的损失,具体公式如下:

   .

作者提出了两个算法,一个是 S^4L-Rotation,即无监督损失是旋转预测任务;另一个是S^4L-Exemplar,即无监督损失是基于图像变换(裁切、镜像、颜色变换等)的triplet损失。

qyYBvy3.jpg!web

S^4L算法结构图

所有的实验在10%或者1%标签的Imagenet上进行,同时作者自己从训练集划分出一小部分作为验证集进行参数调节。实验过程中,作者观察到weight decay的调节和学习率策略对最终性能有很重要的影响。

比较有意思的是,Revisiting和S^4L的作者是同一拨人,只是作者顺序不同,并且所有作者都是equal contribution。

新年假期,极市将为大家分享计算机视觉顶会 ICCV 2019 大会现场报告系列视频,欢迎前往B站【极市平台】观看,春节也学习,极市不断更,快来打卡点赞吧~

https://www.bilibili.com/video/av83388150

-End-

*延伸阅读

CV细分方向交流群

添加极市小助手微信 (ID : cv-mart) ,备注: 研究方向-姓名-学校/公司-城市 (如:目标检测-小极-北大-深圳),即可申请加入 目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割等极市技术交流群 (已经添加小助手的好友直接私信) ,更有每月 大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流 一起来让思想之光照的更远吧~

RrYj22I.jpg!web

△长按添加极市小助手

Yjqyyiq.jpg!web

△长按关注极市平台

觉得有用麻烦给个在看啦~    uE7RJjy.gif


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK