最近比较关注无监督论文,因此只要发现有新的文章都会读一遍,facebook近期刚出了一篇Unsupervised Learning of Visual Features by Contrasting Cluster Assignments,这是记录的第二篇讲无监督的文章,和之前那篇思路差别还是比较大的,文章也很良心,有git代码,也顺便看了下实现,文档很详细,代码写的也比较规范,准备后面有时间实验一下效果~

概述

unsupervised image representations在近些年的工作中已经缩小了和有监督之间的距离,这其中contrastive learning有很不错的进展,但是contrastive learning由于需要显示的去对pair对进行feature级别对比导致计算量非常大,因此文章主要就提出一种online的算法,swAV能够借鉴contrastive learning的思路但是又可以避免大量的计算,主要贡献如下:

  • 提出了一种scalable online clustering loss能够在imagenet上相比现有的self-supervision方法至少提升2%以上,并且能够在大和小的batch size上训练,同时不需要很大的内存开销或者momentum encoder
  • 引进了multi-crop的策略能够在不增加过多的内存和计算开销下提升一张图片的views的数量,使用这种技术在多个self-supervised 方法上能够一致提升2%-4%的效果在imagenet上
  • 把上述相关改进放到resnet模型上训练能够相比self-supervised方法在imagenet上提升4.2%以上,并且相比有监督算法在imagenet上pretrain模型在多个下游任务上都能表现更好

Methodology

整体来说文章提出了一个online clustering-based self-supervised的方法,传统的clustering-based方法一般是根据image feature在全部数据集做cluster(codes),在一个训练step中会对很多image views做cluster,但是这种方法通常需要扫很多遍数据集不适合online场景。本文的方法并不考虑用codes作为目标,而是通过一张图片不同的views的codes需要保持一致来进行学习,因此本方法可以理解为是一张图片的多个不同views需要对应相同的cluster而不是直接用他们feature来做。

如下图所示,可以看到本方法SwAV和contrastive instance learning方法的异同,主要就是在features对比这块,SwAV使用了一个codes去表达features进而来保持一致性,可以看到训练主要包括两部分

  • z(features)如何通过c(prototypes)映通过射得到Q(codes)
  • Q如何通过Swapped Prediction完成loss计算

Swapped Prediction

, z是feature,q是codes,s和t下标标识通过不同的augmentations对image进行转换的,而分项loss的计算公式如下:

最终进行变化以后的训练loss展开如下所示,比较复杂,我就截图了

Computing codes online

计算Q主要就是去最大化Q和C之前的相似性,其中都是在一个batch内部去优化的,下面公式的字母含义:

,其中q和z上面已经介绍了,c是prototypes的含义

文章继续提到因为上述公式求解后的Q是连续值,但是如果我们取整变成离散值以后通常发现实际效果很差,这里面解释到有可能是因为变成离散值以后收敛速度变快反而可能学到一个比较差的解,因此在实现中主要就是通过迭代以下公式求解:

,其中u和v是一个renormalization vectors

这里文章还提了下如果batch size很小的时候,在计算上面的Q的时候,我们需要用到之前的batch来一起学,实际中一般会存储3K features,这相比之前传统的contrastive 方法需要至少存储65k instances也要少了很多

Multi-crop

传统的从图片中crop出一些小图出来,往往随着crop的数量增多,计算量和内存开销增加也会非常明显,因此本文主要策略是使用两个正常分辨率的crop再加上V个低分辨率的crop来做,低分辨率的图片往往对性能开销影响不大,因此最终的loss公式如下:

这个公式要注意的是  只是用了两个正常分辨率的,因为在实验中发现如果采用低分辨率的crop得到的codes会效果不好,一个解释是feature到code这一步对于低分辨率图片而言可能映射效果不好

实验

评估无监督学习出来的特征在imagenet的表现

  • 将学习出来的特征固定住,用线性分类器去学习,效果能够比现有无监督高4.2%,只比有监督效果低1.2%,如下图左
  • 通过改变模型的宽度,观察不同算法的效果,可以看到SwAV和有监督模型算法趋势相同,并且能够进一步缩小和有监督模型的差距,如下图右

  • 在半监督场景下SwAV的效果也是最好的,分别对比了在1%和10%的标注情况下的效果,如下所示

评估通过Transfer learning在下游任务的表现

  • 在ResNet-50上通过SwAV在ImageNet上训练的feature在下游任务上表现,分别对比通过学习线性分类器和finetuning两种方法,效果都比有监督学习的要更优异

  • 在batch size较小的情况下相比其他self-supervised算法更好,并且相比MoCov2(65536)算法能够只需要存储更少的features(3840)

Ablation Study

multi-crop效果验证下图左

  • DeepCluster-v2和SeLa-v2是clustering-based的算法
  • SimCLR是contrastive learning的算法
  • 可以看到multi-crop在clustering-based的算法效果提升比contrastive要多,但是在supervised上面没有提升

training longer效果验证下图右

  • 提升epoch轮数可以提升SwAV的效果

Unsupervised pretraining on a large uncurated dataset效果如下图

  • 选用了一个不准确的数据集-1B random instagram images
  • 左图可以看到如果fix住特征以后基本效果会很差,在这种情况下SwAV效果比SimCLR要高6.1%个点,同时在finetune下效果也最好
  • 右图可以看到随着模型尺寸变大以后training from scratch的效果就不提升了而SwAV依然在提升,这个里面Weak supervision只是做一个对照,表示在这种场景下和现有最好算法效果也比较接近了

facebook新无监督论文-Unsupervised Learning of Visual Features by Contrasting Cluster Assignments相关推荐

  1. Unsupervised Learning of Visual Features by Contrasting Cluster Assignments(SwAV)---论文阅读笔记

    Unsupervised Learning of Visual Features by Contrasting Cluster Assignments 文章目录 摘要 介绍 方法 数据增强方法 总结 ...

  2. Unsupervised Learning of Visual Features by Contrasting Cluster Assignments

    文章目录 前言 一.相关知识 1.在线学习和离线学习 离线学习 在线学习 2.对比学习 数据增强 编码 损失最小化 二.前言 2.方法 前言 无监督图像表示显著地减少了与监督预训练的差距,特别是与对比 ...

  3. SwAV:Unsupervised Learning of Visual Features by Contrasting Cluster Assignments

    无监督对比方法通常在线工作,并且依赖于大量显式的成对特征比较,这在计算上具有挑战性. 在本文中,我们提出了一种在线算法 SwAV,它利用对比方法而无需计算成对比较.SwAV在对数据进行聚类的同时强制为 ...

  4. Deep Cluster:Deep Clustering for Unsupervised Learning of Visual Features

           DeepCluster,一种联合学习神经网络参数和结果特征的聚类分配的聚类方法.DeepCluster使用标准聚类算法kmeans对特征进行迭代分组,并使用后续分配作为监督来更新网络的权 ...

  5. PULT:Progressive Unsupervised Learning for Visual Object Tracking(用于视觉目标跟踪的渐进式无监督学习)

    Progressive Unsupervised Learning for Visual Object Tracking(用于视觉目标跟踪的渐进式无监督学习 ) 因为是无监督学习,所以需要对样本数据充 ...

  6. 自监督学习(十)Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles

    Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles Introduction Method 排列选择 p ...

  7. 翻译们又要失业?Facebook最新无监督机器翻译成果,BLEU提升10个点!

    作者 | 琥珀 出品 | AI科技大本营(公众号ID:rgznai100) 神经机器翻译(NMT)关注的是通过 AI 在不同人类语言之间进行翻译的过程.2015 年,蒙特利尔学习算法研究所的研究人员开 ...

  8. 伯克利新无监督强化学习方法:减少混沌所产生的突现行为

    作者 | Glen Berseth 译者 | Arvin 编辑 | 夕颜 出品 | AI科技大本营(ID: rgznai100) [导读]所有生命有机体都在环境中占据一席之地,使它们在周围不断增加的熵 ...

  9. Machine Learning Algorithms Study Notes(4)—无监督学习(unsupervised learning)

    1    Unsupervised Learning 1.1    k-means clustering algorithm 1.1.1    算法思想 1.1.2    k-means的不足之处 1 ...

最新文章

  1. python 浏览器显示本地文件夹_从浏览器中打开本地文件文件夹
  2. MYSQL数据文件--.frm文件(只有.frm文件时的表结构恢复)
  3. Spring过滤器组件自动扫描
  4. UCloud想吃科创板的“第一个螃蟹”
  5. 捕捉所有异常_详解Java中异常的分类
  6. 从Pycharm说起
  7. STM32的优先级NVIC_PriorityGroupConfig的理解及其使用(转)
  8. C语言二叉树之二叉链表
  9. 事件和委托的编译代码
  10. 你的计算机无法启动一键还原,电脑一开机就进入dos之家的一键还原硬盘版,无法进入系统...
  11. 怎么吸引百度蜘蛛抓取自己的网页
  12. mysql实战22 | MySQL有哪些“饮鸩止渴”提高性能的方法?
  13. 金属类的大宗商品创下新高,对冲基金疯狂买涨
  14. 台式机局域网电脑通过笔记本的无线网络上网
  15. #java读书笔记#基础知识
  16. 全自动软化水设备:全自动软化水设备选型指南
  17. 生于忧患,死于安乐-时刻保持危机感
  18. 将map转换成json字符串
  19. Android视频直播源码开发直播平台、点播播放器哪家强?
  20. 在打印服务器中新增纸张规格后,在打印机首选项中的自定义纸张中看不到的原因

热门文章

  1. C++ 偏微分数值计算库_【动手学计算机视觉】第一讲:图像预处理之图像去噪...
  2. linux文件 i节点结构,Linux 文件描述符 文件表项 i节点结构
  3. Linux 单用户模式修改密码与救援模式修改密码总结
  4. 深入解析Android关机
  5. 【POJ 3041】Asteroids (最小点覆盖)
  6. vs单元测试之顺序测试
  7. Linux系统下wetty安装和使用说明
  8. out与ref的区别
  9. 关于oracle spfile配置文件问题
  10. MAC软件下载比较好的三个第三方网站