自监督学习的出发点

对于许多研究者而言,一个通用且强大的人工智能是最终梦想,然而当今海量的标注数据和数据驱动的神经网络模型似乎是唯一的途径。有没有办法摆脱成本高昂的标注数据,把海量的无标签数据利用起来?

无论是语言和图像,他们的数据结构一定存在着内在的规律,利用数据自身结构设计预训练任务,模型了解了数据分布的先验知识,再去学习特定任务的知识,是否会有更好的表现?更进一步,如果模型可以在互联网世界海量的无标注数据中畅游,我们会得到一个怎样的 AI 模型呢?

在自然语言处理领域,以 Mask Language Model (BERT)和 Generative Pretraining (GPT)为代表的自监督预训练模型,取得了突破性的进展。在图像领域,每张图片同样蕴藏着丰富的内在结构,正是这样的内在结构的存在,分类、检测、分割乃至场景图生成等任务才能实现。

然而,在有监督学习中,越是粒度细、语义层次高的任务,标注的难度就越高,这直接限制了视觉领域的发展。通过一些人工设计的自监督任务,实现对海量数据的无监督学习,然后在下游任务中,进行有监督的微调。在经过自监督预训练后的模型,包含了预训练任务所引导的视觉理解能力,期望这样的理解能力能够帮助下游任务的学习,降低对标注样本的需求。

因此,在自监督学习中,设计合理有效的自监督任务是非常重要的。一个好的自监督任务,能够驱使模型充分探索数据的内在结构。图像理解一定是对图像的方方面面进行语义级别的理解。这样,自监督预训练模型才能有效泛化到下游任务中。为此,研究者进行了探索。

01 预训练任务 Pretext Task

研究者提出了多种多样的预训练任务(Pretext Task),五花齐放,百舸争流。参考 NLP 中的 Masked Language Model, 我们可以尝试在空间维度对图像进行部分遮掩和重建。我们也可以尝试遮掩图像中的特定通道,利用其余通道进行重建。甚至,可以基于全图的自编码任务或者生成任务学习图像的内在表征。

如果将遮挡语言模型理解成考试中的完形填空,我们也可以为图片设计一些任务,例如旋转角度预测、拼图复原、着色、相对位置预测等等。

但可以预期的是,一个好的预训练任务,必须有足够的难度,能够驱使模型进行从底层的局部特征到高层的语义特征的多层次理解。从这个特点看,上述的一些任务,着色、相对位置预测、旋转角度预测等,似乎太过简单了。

同时,与紧凑且抽象的人类语言不同的是,图像中的像素特征是高度冗余的,临近像素具有很强的相似性和关联性,进行简单的遮掩和重建也很容易被模型破解。

对比学习是近年来繁荣发展的一种预训练任务,他的一个基本出发点是:一张图片的不同视角应该具有相似的语义表示,而不同的图片大概率具有不同的语义表示。由此出发,衍生出了一系列方法,取得了非常好的效果。

02 对比学习的几种方式 ‍:SimCLR、Moco、BYOL

2.1 SimCLR:简单有效的对比学习方法

SimCLR (A Simple framework for Contrastive Learning of visual Representations) 是一个简单而暴力的基于对比学习的方法,可以帮助我们一窥对比学习的思想。同一物体在不同视角应当具有相近的语义表示,并且这样的表示应当能与其他物体区分开。

接下来,细致介绍一下 SimCLR 的框架流程:

01

一个数据增强模块将图片样本 x 进行两次随机数据增强后,得到相互关联的两个视角 x_i 和 x_j,作为正样本对。数据增强操作有三种:随机裁剪(Crop),随机颜色扭曲(Color Distortion)和随机高斯模糊(Gaussian Blur)。其中随机裁剪和颜色扭曲是至关重要的。

02

一个神经网络编码器 f 分别对增强样本x_i 和 x_j 进行特征提取,得到特征表示 h。编码器的结构是任意的,为了简便考虑,SimCLR 使用了 ResNet 结构。

03

一个小的多层 MLP 网络对得到的特征表示进行非线性变换,得到新的表示 z,SimCLR 将在新的表示空间进行对比学习。

从对比学习的损失函数,我们可以更清楚地了解这个预训练任务:

其中,sim 代表相似度函数,\tau 表示温度系数。一张图片的两个视角构成一个正样本对,训练中同一 batch 中的其他样本构成负样本。损失函数驱使正样本对的表示相互靠近,从而能够在一个 batch 中正确地找到成对样本的另一半。

尽管基本思想是简单的,但是有一些重要的细节要求,使得这样的自监督任务能够工作。SimCLR 进行了细致的实验探究,得到了一些有价值的结论。

在对比学习中,数据的增强方式是十分重要的,Crop 加上高强度的 Color Distortion 是一个基本的有效组合。数据增强太弱,模型可以轻易地通过色彩统计特性完成对比学习任务,无法得到有效的表征。

将图像表示进行非线性变换 z = g(h) 后,再进行对比学习,可以大幅提高性能。针对对比学习的这一特定任务,非线性变换 g 将图像表征从通用表征空间变换到任务空间。

虽然存在收益饱和,但是对比样本的数量越多,效果越好。训练时间越长,效果越好。

为了比较 simCLR 表示和 ImageNet 有监督预训练,我们看一看两者迁移到不同分类任务的表现,可以发现自监督训练表示实际上已经不逊色于有监督预训练。

2.2 Moco:通过 momentum queue 保存对比样本

在前文中提到,SimCLR 将同一 batch 中的不同图片作为对比负样本,而且对比样本越多,效果越好。这就要求大 batchsize,SimCLR 实验采用 4068 batchsize,这对机器硬件有很高要求。Moco 是 SimCLR 同期的工作,两者都基于对比学习的基本思想,具有相同形式的损失函数。不同的是,Moco 利用一个滞后的 momentum encoder 处理样本,并保存到队列中,作为对比学习的负样本。Moco 的做法将对比样本的数量和 batchsize 解耦,保证了对比样本的数量,达到了很好的效果。

Moco 的示意图如上,一张图片经过两次不同的数据增强,输送给 Encoder 和 Momentum Encoder。其中 Momentum encoder \theta_k 根据 Encoder \theta_q 以动量形式更新:

动量系数 m = 0.999,momentum encoder 的更新实际上是很缓慢的。Momentum Encoder 的输出会额外保存到队列中,留作后面对比使用,每次对比学习使用的负样本便是队列中的全部样本。随着训练的进程,Momentum encoder 逐步更新,同时队列也以先进先出的方式逐步更新对比样本,保证队列中样本的时效性。

类似于 SimCLR, Moco 在识别任务中也有着很好的表现。除了在识别任务,Moco 验证了对比学习预训练在细粒度任务的表现,可以发现,预训练模型在检测、分割、关键点等任务中基本上达到甚至超越了有监督预训练。

2.3 BYOL:抛弃对比也是可行的?

在前文中,Moco 和 SimCLR 都强调了对比负样本的重要性,对比样本越多,效果越好。BYOL (bootstrap your own latent) 模型架构类似于 Moco,但是抛弃了对比样本,却意外地取得了很好的效果。

类似于 Moco ,BYOL 同样采用 Momentum Encoder,图中的 sg 代表 stop gradient, 也就是此处梯度不回传。

同一图片的不同视角分别经过编码器 f 和投影层 g 之后得到两个表示 z_{\theta} 和 z_{\zeta},与对比学习不同的是,BYOL 不再致力于从正负样本中找到正样本对,而是直接基于正样本对中的一个视角预测另一个视角,也就是基于 z_{\theta} 预测 z_{zeta}。相应的,对比损失也变成了归一化后的回归损失:

我们看看 BYOL 的迁移性能,线性评估 (Linear Evaluation) 固定特征编码器,只训练线性分类层,因此线性评估指标可以很好地评估特征的可用性。从线性评估看,BYOL 超越了SimCLR 和 Moco,甚至逼近了有监督学习表征。考虑到 BYOL 完全没有使用标签信息,不得不令人称赞,其背后的原因,也值得深思。

必须指出的是,BYOL 抛弃了对比,却带来了另一个问题——模型塌缩。可以试想,只要模型将所有输入都预测为同一输出,例如 0,就可以完美解决 BYOL 所设计的预训练任务,这就是模型塌缩。后续的研究表明 (Simsiam),如果在投影模块(projector) 和 预测模块(predictor)去掉批归一化层(batch-normalization),自监督训练的性能就会大幅下降。

批归一化层将一个 batch 内的数据表示进行强行变换和区分,在某种意义上进行了 batch 之内的对比,从而减少了塌缩的可能性。在 BYOL 之后,许多文献研究了避免塌缩的机制,并提出了一些替代方法。尽管笔者并未十分清楚,但是进行适当的设计以避免模型塌缩应当是必须的。

2.4 总结与展望

总结来看,基于对比学习的自监督方法已经取得了非常好的成绩,相关研究在近年蓬勃发展,达到并超越了有监督学习。人们对于自监督的方法、优势和应用场景都有了深入的研究。

自监督学习作为基本的表征学习方式,也极大地推动了其他领域的研究,一个优秀的基础表征,也很可能是优秀的少样本乃至零样本学习器。

simCLR v2 表明大型自监督模型也是强大的少样本学习器。DINO 则表明自监督模型能够进行 patch 级别的“语义”理解,STEGO 对 DINO 表征进行优化后刷新了无监督分割的 SOTA。一些研究也表明,在广泛数据进行自监督学习后,也具有很好的域适应和泛化能力。自监督表征对于下游数据不均衡也有一定的鲁棒性。自监督学习正推动着许多下游任务的进步。

03 业务应用

自监督学习作为普遍有效的表征学习方法,通过利用海量无标签数据,一方面可以降低下游任务对标签数据的依赖,降低研发成本;另一方面,一个已经熟悉广泛无标签数据的模型,也必然是一个效果更优、泛化能力更强的专家模型。

网易易盾不断将前沿技术应用到业务领域,在以效果为核心的战略框架下,不断打磨模型效果,提升客户体验。易盾 AI 团队对自监督学习进行了深入研究,探索了一套稳定有效的落地方案,当前已经在检索、人体等多个业务场景落地,获得了可观的效果提升。

参考文献:
1.SimCLR : A Simple framework for Contrastive Learning of visual Representations
2.SimCLR v2: Big Self-Supervised Models are Strong Semi-Supervised Learners
3.BYOL:Bootstrap your own latent: A new approach to self-supervised Learning
4.Simsiam: Exploring Simple Siamese Representation Learning
5.DINO: Emerging Properties in Self-Supervised Vision Transformers
6.STEGO: Unsupervised Semantic Segmentation by Distilling Feature Correspondences
7.Self-supervised Learning is More Robust to Dataset Imbalance
8.Universal Domain Adaptation through Self-Supervision

知物由学 | 垃圾内容肆虐,自监督学习助力“内容风控”效果提升相关推荐

  1. 谛听安全如何从5W模式入手,助力内容审核

    新媒介环境下,"人人都有麦克风"."把关人"缺失.不受时空限制的网络传播渠道使得内容可以迅速扩散.这些都给内容安全带来了挑战,内容审核成为内容平台的重中之重.无 ...

  2. 内容分发技术平台_内容分发平台及排名_编辑机器人|Giiso智搜

    智搜(Giiso)科技成立于2013年是中国领先的"人工智能+资讯"领域的国家级高新技术企业,其自主研发的写作机器人,编辑机器人是可以从各个行业领域快速编辑写稿的人工智能机器人. ...

  3. java二维数组从键盘更改_互换二维数组的行列。要求数组的行数、列数以及各元素均从键盘输入;输出互换前数组内容和互换后数组内容。(要求循环输入进行测试)Java...

    1. 互换二维数组的行列.要求数组的行数.列数以及各元素均从键盘输入:输出互换前数组内容和互换后数组内容.(要求循环输入进行测试) package com.mingrisoft; import jav ...

  4. R语言配置可视化内容中的字体为斜体(italic)实战:标题斜体、轴标签斜体、文本内容斜体、或者部分内容斜体

    R语言配置可视化内容中的字体为斜体(italic)实战:标题斜体.轴标签斜体.文本内容斜体.或者部分内容斜体 目录

  5. Py之Xlrd:Xlrd简介、安装、使用方法(读取xlsx文件的shee表头名/总行数/总列数、每一行的内容、指定列的内容)之详细攻略

    Py之Xlrd:Xlrd简介.安装.使用方法(读取xlsx文件的shee表头名/总行数/总列数.每一行的内容.指定列的内容)之详细攻略  导读      xlrd,xlwt和xlutils是用Pyth ...

  6. YouTube怎么判断影片内含侵权内容? 解析Content ID内容识别系统的原理及功能

    你有没有发现YouTube上有许多没有声音,或是画面翻转的影片? 这些主要都是为了逃避YouTube全自动的内容识别系统 (Content ID)监测. YouTube为了保护版权影片,发展出这一套强 ...

  7. linux 发文件被过滤的内容,linux文件过滤以及内容编辑处理

    vi/vim纯文本编辑器快捷键 vi :打开文件. vi oldbay.txt 直接打开后无法进行编辑,需要点击i,进入编辑模式 修改完毕后,Esc退出编辑模式,:+wq保存并退出,:q 直接退出,! ...

  8. 如何将两部手机内容互换_什么是内容营销?如何将内容营销做到深入人心?

    内容营销是以内容为载体,通过内容传播进而使用户获取品牌信息的一种方式.内容营销里最关键的是内容,企业能够生产或者利用有价值的内部或者外部内容来传播自己的产品和服务,吸引目标用户的主动关注,并形成购买. ...

  9. 【报告分享】B2B内容营销指南—制定有效内容策略-领英.pdf(附下载链接)

    大家好,我是文文(微信:sscbg2020),今天给大家分享领英于2020年6月发布的报告<B2B内容营销指南-制定有效内容策略.pdf>.本报告共48页,包含如下七大章节: 1.找到全球 ...

最新文章

  1. android 面试汇总二
  2. php输出多余的空格或者空行
  3. WPF 可触摸移动的ScrollViewer控件
  4. wps怎么把ppt里的字体一起保存_PPT基础教程!看懂少走弯路!
  5. Python 字符串语法,for
  6. 体验极速Android SDK的更新与下载
  7. Axure综合小案例(动态时钟)
  8. python如何运行js代码
  9. rmvb 转 avi 方法
  10. echarts拓扑图一些功能实现
  11. 计算机硬盘能达到5g的速度,5G网络速度达到1G,但硬盘读写速度才几十兆,怎么办...
  12. Qt图形视图框架图片图元QGraphicsPixmapItem
  13. SecureCRT中常用linux命令
  14. 互联网公司技术网站 公众号
  15. [回溯法] 回溯法介绍-回溯与递归的区别
  16. java语音、视频、其他文件下载
  17. 606.根据二叉树创建字符串
  18. node安装不能正常使用 Error: ENOENT: no such file or directory, mkdir ‘D:\‘
  19. 网易实况足球获取服务器信息,网易实况足球:游戏疑难杂症解惑,快速通过“老司机”的考核...
  20. java 调用天气预报接口_java调用天气预报接口案例

热门文章

  1. springboot实现读取excel插入数据库
  2. 2010年3月编程语言排行榜
  3. Tomcat无法自动解压缩webapps下的war包
  4. K8S ingress nginx 如何设置访问白名单
  5. 一个啥都不懂但还不知天高地厚的我
  6. 边缘设备、系统及计算杂谈(17)——Ansible学习
  7. 【组合数学】卡特兰数 / 大施罗德数 相关
  8. 使用POI操作Excel时new XSSFWorkbook ()报错java.lang.NoSuchMethodError解决方式
  9. 阿里巴巴成立科技伦理治理委员会 推动技术治理、践行“好科技”
  10. Mina State machine状态机讲解