Barlow Twins: Self-Supervised Learning via Redundancy Reduction

  • Introduction
  • Method
    • BARLOW TWINS方法描述
    • 执行细节
  • Results
    • Linear Evalution
    • 消融实验
    • Batch size的作用
    • 移除一些数据增广操作

Introduction

本文是由Facebook AI团队做的自监督学习的工作,作者包含Yann LeCun和Ishan Misra等大佬,论文地址如下:原文地址。
该方法不需要区分正负样本,输入的数据为图像经过变换之后得到的不同增广数据 A A A和 B B B,作者认为网络对 A A A和 B B B提取得到的特征 Z A Z^A ZA和 Z B Z^B ZB应该是尽可能相似的。文章提出了一种降低冗余度的损失函数,具体来说就是求 Z A Z^A ZA和 Z B Z^B ZB的互相关矩阵,学习的目标是使互相关矩阵为单位阵。
方法的总体结构如下:

Method

BARLOW TWINS方法描述

首先输入的数据为 X X X,是一个batch sample,经过数据增广变换,得到两组数据分别为 Y A Y^A YA和 Y B Y^B YB,经过网络提取特征为 Z A Z^A ZA和 Z B Z^B ZB。对于一个batch来说,网络的损失函数为:

其中, C C C为互相关矩阵,可以用下面的方式计算:

这里, b b b代表的是不同的batch sample,也就是说计算 C C C中的每个元素是从batch的维度计算的。
个人理解,这里从batch维度计算是很重要的,但是好像实验部分没有尝试从别的维度计算,因此无从得到这个的影响大小。我的理解是从batch的维度可以保证每次的输出都有变化,不至于出现特征坍塌的现象。

执行细节

首先文中给出进行的数据变换为随机裁剪,resize到(224,224),水平翻转,颜色变换,转化为灰度图,高斯模糊等,之后前两个是每一个变换都要做的,后面的变换随机做。
使用的backbone为ResNet50,后面跟着一个三层的MLP,隐神经元个数为8192。前两层后面会跟着批量归一化和ReLu。
使用LARS优化器训练100个epoch,在ImageNet训练集上训练,batchsize为2048,不过作者也同时强调了batch size为256的时候该方法同样可以取得不错的效果。

Results

目前自监督表示学习的效果已经到了瓶颈了,该方法在实验阶段的结果并不是非常突出,因此对于和其他方法对比的结果,就不做过多的介绍,只介绍一些典型的,具体的可以看原文。本部分重点会介绍一些消融和分析实验,也就是看不同的部分对结果的影响,希望综合不同的论文,可以总结出自监督表示学习未来的发展方向以及一些实用的技巧。

Linear Evalution

以下是该方法在ImageNet验证集上应用于线性分类的结果,不是最好的结果。

消融实验

以下是消融实验的结果。第一行为baseline,第二行和第三行为在损失函数中只保存限制对角线元素和非对角线元素的部分,可以看出,只使用对角线元素还可以取得一定的效果,但是只使用非对角线元素结果直接崩溃。另外,从第三部分中可以看出,normalize的方法不是很重要,但是必须得有,不然结果会大幅下降,但是MLP中的BN可以不要。

Batch size的作用

下图显示了该方法在不同batchsize下的效果,可以看出,该方法不需要很大的batch size也可以取得不错的效果,但是随着batchsize的增加,效果反而会下降,这个的影响主要来源于求 C C C的时候,batch size越大,一次抽出来的特征维度就越大。

移除一些数据增广操作

下图展示了移除一些数据增广操作的影响。说明增加数据增广是非常有必要的,能加就多加。

自监督学习(二十一)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. 【读论文1005】Barlow Twins: Self-Supervised Learning via Redundancy Reduction

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

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

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

  4. 2021(SSL) 自监督学习最新力作:Barlow Twins: Self-Supervised Learning via Redundancy Reduction

    文章目录 原文地址 论文阅读方法 初识 相知 2. Method 3. Results 4. Ablations 5. Discussion 回顾 代码 原文地址 https://arxiv.org/ ...

  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. python数据挖掘课程】二十一.朴素贝叶斯分类器详解及中文文本舆情分析

    #2018-04-06 13:52:30 April Friday the 14 week, the 096 day SZ SSMR python数据挖掘课程]二十一.朴素贝叶斯分类器详解及中文文本舆 ...

  8. 监督学习(supervised learning)与非监督学习(unsupervised learning)

    一,监督学习(supervised learning): 监督学习(supervised learning)的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测. 即:利用 ...

  9. 弱监督学习 weakly supervised learning 笔记

    周志华 A Brief Introduction to Weakly Supervised Learning 2018 引言 在机器学习领域,学习任务可以划分为监督学习.非监督学习.通常,两者都需要从 ...

最新文章

  1. 归根到底,大家都是出来卖的!有的人月入十万,有的人月入三千!差距!
  2. 简简单单实践ERD Commander2005破解Windows密码
  3. layui表格使用复选框批量删除_word表格技巧:如何对表格进行样式批处理
  4. 转载 SharedPreference.Editor的apply和commit方法异同
  5. 论坛 php 最好的,新手问下,这是人气最好的php论坛吗?
  6. linux top交叉编译_Linux 系统下ARM Linux交叉编译环境crosstool工具
  7. 无数踩坑系列(3)-配置pytorch
  8. Qt文档阅读笔记-Qt4 Lower-Level API扩展Qt Applications(Qt4中Plugin的使用)解析与实例
  9. 【Java小项目】简单的天气预报
  10. 并发编程(十一)—— Java 线程池 实现原理与源码深度解析(一)
  11. 模仿人人网客户端应用源码
  12. 夜间灯光数据dn值_探讨DMSPOLS夜间灯光数据的校正
  13. avc水平什么意思_avc是什么意思(pvc是什么材质)
  14. 服务器虚拟机怎么安装win7系统教程,虚拟机怎么安装win7系统 虚拟机安装win7系统教程...
  15. 使用typedef定义数据类型
  16. php病人叫号的源码,diy uan4 医院叫号系统页面,用在 排队 ,各大 ,人数很多, 很长 WEB(ASP,PHP,...) 238万源代码下载- www.pudn.com...
  17. MATLAB学习笔记(二)——使用GUIDE构建App
  18. VxWorks 任务使用的学习
  19. 如何通过TXT文件批量生成EAN14条码
  20. RedFlag 6.0 SP1的一些设置

热门文章

  1. vue-router路由配置
  2. 数智运营 创见未来| 2023永洪科技城市峰会·北京站成功举办
  3. C# 实现 微软WebRequestMethods.Ftp类中的FTP操作功能
  4. 安装了office2019版本的,打开却依旧是2016的
  5. 转行软件测试第一步,功能测试这8大重点要好好的掌握
  6. Android远程办公,安卓办公神器 瑞芯微Light Office OS深度评测
  7. 【LM401】USART串口配置过程 uart.c 代码解析
  8. 二次开发shopnc默认的修改密码流程
  9. 爬虫html转换成pdf,爬取html生成pdf
  10. JAVA计算机毕业设计成人自考信息与推荐系统录屏Mybatis+系统+数据库+调试部署