解读自监督学习(Self-Supervised Learning)几篇相关paper
作者:bingo
本文转载自知乎,作者bingo已授权,未经许可请勿二次转载。
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之后受到了极大关注,最终因为实验结果非常全面有效最终被录用。
图一. Patch相对位置预测
图二. 图片旋转角度预测
这里重点介绍最近的几篇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)等),用一个损失函数进行学习。
比较有意思的一点是,作者通过简单变换证明:如果 ,论文方法就退化成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散度作为相似性度量。
最终,整个方法的优化目标如下:
第一项和第二项分别对应图(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.衡量无监督性能最后训练的线性分类器非常依赖学习率的调整策略。
不同网络结构,在不同self-supervised任务上面表现各不相同
S^4L这一篇paper,非常像上面图(a)中multitask learning的策略,即有标签数据上面加一个正常的分类损失,无标签数据上加一个self-supervised的损失,具体公式如下:
.
作者提出了两个算法,一个是 S^4L-Rotation,即无监督损失是旋转预测任务;另一个是S^4L-Exemplar,即无监督损失是基于图像变换(裁切、镜像、颜色变换等)的triplet损失。
S^4L算法结构图
所有的实验在10%或者1%标签的Imagenet上进行,同时作者自己从训练集划分出一小部分作为验证集进行参数调节。实验过程中,作者观察到weight decay的调节和学习率策略对最终性能有很重要的影响。
比较有意思的是,Revisiting和S^4L的作者是同一拨人,只是作者顺序不同,并且所有作者都是equal contribution。
不断更新资源
获取更多精彩
长按二维码扫码关注
解读自监督学习(Self-Supervised Learning)几篇相关paper相关推荐
- 解读自监督学习(Self-Supervised Learning)几篇相关paper -
点击我爱计算机视觉标星,更快获取CVML新技术 本文原载于知乎,已或作者授权转载,禁止二次转载. https://zhuanlan.zhihu.com/p/96748604 Supervised de ...
- 监督学习(supervised learning)与非监督学习(unsupervised learning)
一,监督学习(supervised learning): 监督学习(supervised learning)的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测. 即:利用 ...
- 弱监督学习 weakly supervised learning 笔记
周志华 A Brief Introduction to Weakly Supervised Learning 2018 引言 在机器学习领域,学习任务可以划分为监督学习.非监督学习.通常,两者都需要从 ...
- 机器学习:什么是监督学习(Supervised learning)?
概念 wiki:监督学习是机器学习的一种方法,可以由训练资料中学到或建立一个模式(函数/learning model),并且依次模式推测出新的实例. 训练资料:由输入物件和预期输出组成,函数的输出可以 ...
- 1-3.监督学习(supervised learning)
定义:监督学习指的就是我们给学习算法一个数据集,这个数据集由"正确答案"组成,然后运用学习算法,算出更多的正确答案.术语叫做回归问题 [监督学习可分为]:回归问题.分类问题.两种 ...
- 技术解读:腾讯优图12篇论文入选 ICCV 2017
机器之心发布 来源:腾讯优图实验室 被誉为计算机视觉领域三大顶级会议之一的 ICCV(另外两个为 CVPR.ECCV)不久之前揭晓了收录论文名单,腾讯优图共有 12 篇论文入选,居业界实验室前列,其中 ...
- 机器学习-算法-半监督学习:半监督学习(Semi-supervised Learning)算法
人工智能-机器学习-算法-半监督学习:半监督学习(Semi-supervised Learning)算法 一.半监督学习算法提出的背景 1.监督学习算法 2.无监督学习算法 3.监督学习的特征选择方法 ...
- 自监督学习(Self-Supervised Learning)多篇论文解读(下)
自监督学习(Self-Supervised Learning)多篇论文解读(下) 之前的研究思路主要是设计各种各样的pretext任务,比如patch相对位置预测.旋转预测.灰度图片上色.视频帧排序等 ...
- 自监督学习(Self-Supervised Learning)多篇论文解读(上)
自监督学习(Self-Supervised Learning)多篇论文解读(上) 前言 Supervised deep learning由于需要大量标注信息,同时之前大量的研究已经解决了许多问题.所以 ...
最新文章
- Dynamics CRM2016 Web API之创建记录
- Indicator Weather 13.06 发布 增加 Kelvin 支持
- undo系统参数详解
- Li Fei-fei写给她学生的一封信,如何做好研究以及写好PAPER
- phpexcel.php linux,phpexcel在linux系统报错如何解决
- IIS Log的位置
- linux登录后出现_bash-4.1#终端提示符异常
- 【VMCloud云平台】SCOM配置(十五)-启用SCOM日志审计(ACS)
- 模拟退火 (poj 2420, poj 2069)
- 三津谈保险系统建设:序言
- oracle本地数据库登录之连接pdb数据库
- 什么是黑盒测试,白盒测试,灰盒测试?
- 陶哲轩实分析 附录 A 习题解答
- 基于ESP32的智能鱼缸系统
- 企业官方微博的视觉设计与营销策略分析
- linux操作系统原理与应用.第2版 陈莉君 pdf
- Android文字转语音引擎(TTS)简单比较及下载
- 基于迭代情绪交互网络的对话情绪识别
- php博客 程序 论文,php博客系统论文 (附加程序代码)
- 苹果5完美越狱_iOS 9.3.5如何越狱 iOS 9.3.5免费越狱教程「步骤详解」