文章目录

  • 原文地址
  • 论文阅读方法
  • 初识
  • 相知
    • 2. Method
    • 3. Results
    • 4. Ablations
    • 5. Discussion
  • 回顾
  • 代码

原文地址

https://arxiv.org/abs/2103.03230

论文阅读方法

三遍论文法

初识

背景:近两年自监督学习取得了很大的成功,其中主流的方法就是使网络学习到输入样本不同失真(distortions)版本下的不变性特征,但是这种方法很容易遭遇平凡解,现有方法大多是通过实现上的细节来避免出现collapse。

distortion:简单点说就是输入样本的各种增广

如下图所示,本文提出了一种新颖的想法,将样本经过不同增广送入同一网络中得到两种表示,利用损失函数迫使它们的互相关矩阵接近于恒等矩阵:这意味着同一样本不同的增广版本下提取出的特征表示非常类似,同时特征向量分量间的冗余最小化

值得注意是,与之前的方法不同,Barlow Twins随着特征维度的增高性能也逐渐提高,似乎打破了维度诅咒。

相知

2. Method

其实主要的思想就在上一节讲完了,这篇文章就是这么简单,这里主要讲一下细节

损失函数如下所示,C为互相关矩阵,其中invariance term使得对角元素接近于1,促使同一样本在不同失真版本下的特征一致性,redundancy reduction term使非对角元素接近0,解耦特征表示的不同向量分量

C的尺寸为网络输出的维度,λ为超参

文中还给出了互相关矩阵C的详细计算公式,如下所示:

> b表示同一batch内的样本索引,i与j表示特征的维度索引,输出值在[-1, 1]之间

实现细节

下图为实现Barlow Twins的伪代码:

图像增强:随机裁剪,resize,水平翻转,颜色抖动,转换灰度,高斯平滑,solarization。其中前两个必做,其他的以一定概率进行。

网络架构:ResNet-50,然后接一个小的映射网络(3个线性映射层,维度均为8192),前两个线性层后接BN+ReLU操作。

优化方法:LARS优化器,1000个epoch,batchsize为2048(也可以缩小到256),忽略了一些细节,详见原文

3. Results

① 在ImageNet上训练一个线性分类器:

② 在`ImageNet`上的半监督学习: ③ 迁移到其他任务上:

分类

检测与分割

4. Ablations

进行了一系列的消融实验,包括损失函数、BatchSize、增强手段、映射网络的深度与宽度、网络结构对称性

这里重点提两点,其他方面见原文:① 模型对batch size较鲁棒,与BYOL一致,作者将其归功于非对比学习的方法;② 模型性能随着输出维度的增大而增大,而其他大多方法会较早饱和。

5. Discussion

重头戏,在理论上与经验上与其他方法进行对比

① infoNCE

infoNCE的损失函数如上所示,为了方便对比,作者重写了Barlow Twins的损失函数,如下:

​ 可以看到非常相似,两者都依赖于批次统计来测量变化性,InfoNCE最大化样本对之间的距离,而Barlow Twins解耦特征向量的分类。InfoNCE可以看做是表示分布熵的非参数估计,容易遭受维度诅咒,高斯参数化下表示分布的代理(proxy)熵估计。

​ 损失函数上存在着几点不同:① InfoNCE进行维度归一化,而本文采用批次归一化;② 本文引入超参数 λ \lambda λ; ③ InfoNCE存在温度系数。

并且InfoNCE需要大的batch size,MoCo采用细节上的设计进行避免(构建memory bank),而本文对batch size鲁棒

② Asymmetric Twins:

​ BYOL和SIMSIAM没有采用对比项,只使用了简单的cosine相似度:

​ 他们通过引入非对称的结构学习策略来避免平凡解,并且与本文一样,不需要将Batch Size设置得很大。

本文直接通过目标函数的构造避免了平凡解

③ Whitening

​ W-MSE在计算余弦相似度之前,对每一批表示执行可微化的白化操作(a differentiable whitening operation,通过Cholesky分解),而本文的redundancy reduction项可以视作为白化操作的一种软约束

④ Clustering:

​ DeepCluster与swAV这类基于聚类的方法容易遭遇collapse

⑤ IMAX:

​ IMAX是一篇很老的文章了,作者试图将其在ImageNet上train起来,但是失败了,所以也没有可比性。

回顾

这篇文章非常新,3月4日发布于arXiv,由FacebookLecun出品,顶会应该是迟早的事情。相比于去年的一系列SSL工作,本文从一个全新视角出发,以一个非常简单的方法来执行自监督学习,并且结构优美,限制少。主要还达到了SOTA,这是一件很令人振奋的事情,给自监督学习注入了新鲜的血液。

关于未来的改进方向,作者最后也提到了本文只是Information Bottleneck原理在自监督上的一种应用实例而已,相信基于它们的基础上进行改进可能会达到更好的效果,例如不用孪生网络,而是直接根据单个网络的自相关矩阵计算对角项(其中作者做了初步试验,可以看原文的附录)。

代码

尚未开源


个人浅见,能力有限,如果错误,欢迎指正。

2021(SSL) 自监督学习最新力作:Barlow Twins: Self-Supervised Learning via Redundancy Reduction相关推荐

  1. Barlow Twins:Self-Supervised Learning via Redundancy Reduction论文阅读

    Barlow Twins论文阅读 介绍 论文地址 Barlow Twins一种自监督学习的方法 创新 对比于之前的BYOL,Simsiam非对称自监督学习网络,Barlow Twins采用对称结构 并 ...

  2. 自监督学习(二十一)Barlow Twins: Self-Supervised Learning via Redundancy Reduction

    Barlow Twins: Self-Supervised Learning via Redundancy Reduction Introduction Method BARLOW TWINS方法描述 ...

  3. 【读论文1005】Barlow Twins: Self-Supervised Learning via Redundancy Reduction

    不太相关,随便看看 Barlow Twins: Self-Supervised Learning via Redundancy Reduction 基本思想 上下两个独立的网络.相同的输入,但是输入 ...

  4. Facebook人工智能的一种新的自我监督学习算法:Barlow Twins

    首先 近年来,在ImageNet等大规模计算机视觉基准中,自我监督学习已经开始与监督学习竞争.在计算机视觉中,已经引入了很多数据增强的自监督学习方式.目标是学习一个不受输入变化影响的通用表示.对于一个 ...

  5. 自监督论文阅读笔记 Barlow Twins: Self-Supervised Learning via Redundancy Reduction

    自监督学习 (SSL) 正在迅速缩小与大型计算机视觉基准上的监督方法的差距. SSL 的一种成功方法是学习 对输入样本的变形 不变的嵌入.然而,这种方法的一个反复出现的问题是存在 无效的常数解.大多数 ...

  6. 自监督学习方法Barlow Twins

    记录文章<Barlow Twins: Self-Supervised Learning via Redundancy Reduction>阅读笔记,论文地址. 1 Abstract &am ...

  7. 12层也能媲美ResNet?邓嘉团队提出最新力作ParNet,ImageNet top1精度直冲80.7%

    作者丨happy 编辑丨极市平台 导读 是否有可能构建一个高性能的Non-deep(非深度)神经网络呢 ?普林斯顿大学的Jia Deng团队的最新力作ParNet:凭借12层的深度网络在ImageNe ...

  8. 清华大学唐杰老师组:自监督学习最新研究进展

    作者|AI Box 来源|RUC AI Box 近年来,深度监督学习取得了巨大的成功.然而,它依赖于手工标签,并且易受攻击的弱点促使学者们探索更好的解决方案.近年来,自监督学习作为一种新的学习方法,在 ...

  9. 反杀人类、拯救机器狗,被虐士兵机器人化身终结者!这是“波士屯动力”的最新力作...

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 要训练一个终结者,需要几个步骤? 首先,为了锻炼它的枪法,要在训练时拿球砸它. 或者制造障碍,再给它来上一棒槌. 枪法准还不够,机器人,就得 ...

最新文章

  1. linux 6.6 最新 gblic,Centos6 升级glibc-2.17,解决Requires: libc.so.6(GLIBC_2.14)(64bit)错误解决方法(推荐)...
  2. 建议收藏,清华高材生准备的90条Python程序建议
  3. 同一个python代码绘制多种不同樱花树,你喜欢哪一种?
  4. reactive programming 1.5 monads
  5. 【数据结构与算法】之深入解析“最小栈”的求解思路与算法示例
  6. mysql中的各种join整理
  7. 深入理解mysql系列_深入理解MySQL系列之锁
  8. jracdrive变频器说明书580_jracdrive变频器err02
  9. 华为手机8.0.0怎么找到云相册_华为G9怎么找到云相册_失而复得 华为“查找手机”功能有多强大?快来了解一下......
  10. linux测试tensorflow-gpu 2.0是否安装成功
  11. 第12章 粒子同心圆(《Python趣味创意编程》教学视频)
  12. 整理一下Entity Framework的查询
  13. create---创建表
  14. WinForm实现只打开一个窗口的代码
  15. 并发编程学习之阻塞队列BlockingQueue和LinkedBlockingQueue
  16. 把图片url 伪静态 php,php使动态URL标签链接转成伪静态
  17. displaytag手册
  18. matlab cftool 最小二乘,最小二乘法与matlab拟合工具箱cftool
  19. Guice 快速入门
  20. matlab进化树的下载,mega7进化树软件下载

热门文章

  1. Java对象为什么要实现Serializable接口?
  2. vue beforeDestroy clearInterval清除定时器失效
  3. 各种跳转语句以及其适用场合+页面跳转在三种编码形式中的实现
  4. 手机访问服务器网站出现广告,【洗白白】浏览器老是弹出运营商的“小广告”?三招完美解决!...
  5. 苹果6s如何设置QQ邮箱收发服务器,苹果6s邮件怎么设置在哪里?苹果6s邮件设置方法教程...
  6. UPLOAD-lab 1-19关
  7. LOGO特训营 第二节 文字与图形的搭配关系
  8. 中国兽医补充市场趋势报告、技术动态创新及市场预测
  9. 微信小程序拨打电话功能
  10. ios沙箱软件_ios真机和模拟器沙盒文件(一)