首页 > 其他分享 >Bootstrap Your Own Latent A New Approach to Self-Supervised Learning论文阅读笔记

Bootstrap Your Own Latent A New Approach to Self-Supervised Learning论文阅读笔记

时间:2024-03-09 21:24:08浏览次数:25  
标签:Own Latent 在线 Self 网络 视图 xi theta BYOL

Bootstrap Your Own Latent A New Approach to Self-Supervised Learning论文阅读笔记

Abstract

​ 我们提出了BYOL,一种新的自监督图像表示学习的方法。BYOL依赖于两个神经网络,即在线网络和目标网络,它们相互作用和相互学习。从一个图像的增广视图出发,我们训练在线网络来预测同一图像在不同的增广视图下的目标网络表示。同时,我们用在线网络的慢移动平均值来更新目标网络。虽然最先进的方法依赖于负对,但BYOL在没有它们的情况下实现了一种新的优异状态。

Introduction

​ 说目前的图像自监督学习依赖辅助任务,图像增强的选择和对负对进行检索。

​ 在本文中,我们介绍了BYOL,一种新的自监督学习算法。BYOL在不使用负对的情况下,获得了比最先进的对比方法更高的性能。它迭代地引导网络的输出,以作为增强表示的目标。此外,BYOL对图像增强的选择比对比方法更具有鲁棒性;我们怀疑不依赖负对是其提高鲁棒性的主要原因之一。虽然以前基于引导的方法使用了伪标签、聚类索引或一些标签,但我们建议直接引导表示。特别是,BYOL使用两种神经网络,被称为在线网络和目标网络,它们相互作用和相互学习。从一个图像的增强视图开始,BYOL训练其在线网络来预测目标网络对同一图像的另一个增强视图的表示。虽然这个目标允许折叠解,例如,对所有的图像输出相同的向量,但我们的经验表明,BYOL并不收敛于这样的解。我们假设,(i)在在线网络中添加一个预测器和(ii)使用在线参数的移动平均值的组合,因为目标网络鼓励在在线投影中编码越来越多的信息,并避免了崩溃的解决方案。

Method

​ 许多成功的自监督学习方法都建立在引入的跨视图预测框架之上。通常,这些方法通过预测同一图像彼此之间的不同视图(例如,不同的随机作物)来学习表示。许多这样的方法将预测问题直接放在表示空间中:一个图像的增强视图的表示应该可以预测同一图像的另一个增强视图的表示。然而,可以在表示空间中直接进行预测可能会导致崩溃表示:例如,在视图中保持恒定的表示总是可以完全预测其本身。对比方法通过将预测问题重新定义为分类问题来规避这个问题:从一个增强视图的表示中,他们学习区分同一图像的另一个增强视图的表示,和不同图像的增强视图的表示。在绝大多数情况下,这就阻止了训练找到可折叠的表征。然而,这种区分方法通常需要将增强视图的每个表示与许多负面例子进行比较,以找到足够接近的例子,使识别任务具有挑战性。因此,在这项工作中,我们要求自己找出这些负面的例子是否必须防止崩溃,同时保持高性能

​ 为了防止崩溃,一个简单的解决方案是使用一个固定的随机初始化的网络来为我们的预测产生目标。虽然避免崩溃,但并不能产生很好的表现。尽管如此,有趣的是,使用这个过程获得的表示已经可以比初始固定表示好得多。在我们的消融研究中,我们通过预测一个固定的随机初始化网络来应用这个程序,在ImageNet上的线性评估协议上达到18.8%的前1精度,而随机初始化的网络本身仅达到1.4%。这一实验发现是BYOL的核心动机:从一个给定的表示,称为目标,我们可以通过预测目标表示,训练一个新的、潜在增强的表示,称为在线表示。从那里,我们可以期望通过迭代这个过程,建立一系列提高质量的表示,使用后续的在线网络作为新的目标网络进行进一步的训练。在实践中,BYOL通过迭代地细化其表示来推广这种bootstrap过程,但使用缓慢移动的指数网络作为目标网络,而不是固定的检查点

BYOL的模型结构图如下:

pFyEzX8.png

​ BYOL的目标是学习一个表示yθ,然后可以用于下游任务。如前所述,BYOL使用两种神经网络来学习:在线网络和目标网络。在线网络由一组权值θ定义,由三个阶段组成:编码器fθ、投影仪gθ和预测器qθ。目标网络具有与在线网络相同的架构,但使用不同的权值ξ。目标网络提供了对在线网络进行训练的回归目标,其参数ξ是在线参数θ的指数移动平均值。更准确地说,给定一个目标衰减率τ∈[0,1],在每个训练步骤后,我们执行以下更新:

$\xi\leftarrow\tau\xi+(1-\tau)\theta $

​ 我们定义的损失函数为:

\[\mathcal{L}_{\theta,\xi}\triangleq\left\|\overline{q_\theta}(z_\theta)-\overline{z}_\xi^{\prime}\right\|_2^2=2-2\cdot\frac{\langle q_\theta(z_\theta),z_\xi^{\prime}\rangle}{\left\|q_\theta(z_\theta)\right\|_2\cdot\left\|z_\xi^{\prime}\right\|_2}. \]

​ 我们对称了等式中的损失.分别将v'输入在线网络,将v输入目标网络,计算\(\widetilde{\mathcal{L}}_{\theta,\xi}\)。在每个训练步骤中,我们执行一个随机优化步骤来最小化\(\mathcal{L}_{\theta,\xi}^\text{вүоL}=\mathcal{L}_{\theta,\xi}+\widetilde{\mathcal{L}}_{\theta,\xi}\),仅相对于θ,而不对ξ,如图2中的停止梯度所示。BYOL的相互作用被总结为

\(\theta\leftarrow\text{optimizer}(\theta,\nabla_\theta\mathcal{L}_{\theta,\xi}^\text{BYOL},\eta)\quad\mathrm{~and~}\quad\xi\leftarrow\tau\xi+(1-\tau)\theta,\)

只看了一点方法的部分,就算结束了,然后再贴一点知乎上看的分析

来源:[论文笔记]——BYOL:无需负样本就可以做对比自监督学习(DeepMind) - 知乎 (zhihu.com)

Understanding Contrastive Representation Learning through Alignment and Uniformity on the Hypersphere这篇论文指出,我可以把contrastive loss分解成两个部分,第一部分叫做alignment,就是希望positive pair的feature接近,第二部分叫做uniformity,就是希望所有点的feature尽量均匀的分部在unit sphere上面,都挺好理解的吧?这两部分理论上是都需要的,假如只有alignment,没有uniformity,那就很容易都坍缩到0,就是退化解。所以BYOL就是去掉uniformity,只保留了alignment。这听起来似乎不科学,因为模型很容易学到trivial solution:就是使online网络和target网络永远都输出同样的constant。所以模型为什么会work呢?,总结大概有以下几点:EMA,predictor,BN。

online网络后面的predictor也非常重要,虽然它只是1或2层全连接层。

我觉得它给了online network很好的灵活性,就是online network的feature出来后不用完完全全去match那个EMA模型,只需要再经过一个predictor去match就好了。然后这个predictor的weight是不会update到EMA的,相当于一个允许online和EMA feature不同的缓冲地带。

BN有的说有用有的说没有,这里就不多解释了

标签:Own,Latent,在线,Self,网络,视图,xi,theta,BYOL
From: https://www.cnblogs.com/anewpro-techshare/p/18063328

相关文章

  • MarkDown的学习
    MarkDown学习标题:(#)+(空格)+标题名字一级标题(##)+(空格)+标题名字二级标题(###)+(空格)+标题名字三级标题最高支持到六级标题字体hello,world!(两边加两个星号变粗体)hello,world!(两边加一个星号变斜体)hello,world!(两边加三个星号变斜体加粗)hello,world!(两边加两个波浪号会在字......
  • Markdown基本语法
    1、标题:有6级,由“#”表示2、引用:引用一段话,由“>”表示。在显示区域,会显示出一条竖杠。3、列表:分为有序列表和无序列表有序列表:由“1、2、3、”列出无序列表:由“-”或“*”列出任务列表:“-[]”列出;在“[]”中输入一个“x”就会勾选上,当然,也可以在显示区域点击方块就可以勾......
  • 常用的Markdown方法
    markdown学习标题井号+空格+标题名字体Hello,world字体两端两个星号是粗体Hello,world字体两端一个星号是斜体Hello,world字体两端三个效果相加Hello,world字体两端加波浪号废体引用大于号+空格+引用的内容分割线三个杠或者三个星号就是一个分割线图片感叹......
  • 用lazarus编写的类RichView显示控件初步支持markdown格式的表格,并增加单元格字体颜色
    用lazarus编写的类RichView显示控件初步支持markdown格式的表格,并增加单元格字体颜色等功能,可在信创电脑使用,功能慢慢添加中。github:https://github.com/szlbz/QFComponent其中图像格式支持:bmp,jpg,png等 除以上格式外,还支持单、双分割线等......
  • Markdown基础语法
    标题井号加空格加标题内容,几个井号就是几级标题,最多六级字体粗体文字两边分别加上**斜体文字两边分别加上*斜体加粗文字两边分别加上***废弃文字两边分别加上~~引用大于号加空格分隔线三个减号或三个星号插入图片感叹号加英文中括号加英文小括号中括号中......
  • Markdown学习
    Markdown学习1.前言:Markdown:一种纯文本格式的标记语言,几乎所有在线网站均支持;推荐文本编辑器:Typora;文件后缀:xxx.md;样式:标题、字体、链接、表格、图片、代码等;2.标题:一级标题:"#"+“blank”+标题名称+"enter";二级标题:"##"+“blank”+标题名称+"enter"。三级标题:"###"+......
  • TS-any vs unknown
    相同点:1.都是TS系统是顶层类型:any,unknown2.任何类型的值都可以赋值给该类型 any存在的问题:1.类型推断问题:any类型的变量不再进行类型检查,失去了TS的意义;所以对于那些类型不明显的变量,一定要显式声明类型,防止被推断为any2.污染问题:any类型的变量可以赋值给任意类型......
  • Vue调试神器vue-devtools配置 / 解决提示 Download the Vue Devtools extension for a
    访问Vue页面,控制台提示:    ......
  • vscode 的sync的问题RequestFailed (UserDataSyncError) syncResource:unknown operat
    024-03-0708:58:24.361[error]RequestFailed(UserDataSyncError)syncResource:unknownoperationId:unknown:Connectionrefusedfortherequest'https://vscode-sync.trafficmanager.net/v1/manifest'.atu.D(c:\Debug\VSCode\resources\app\ou......
  • MAC OS :ERROR: Failed to open file '\Users\futantan\Downloads\atguigudb.sql'
    在操作source\Users\futantan\Downloads\atguigudb.sql的时候出现ERROR: Failedtoopenfile'\Users\futantan\Downloads\atguigudb.sql',error:2 解决方案,在对应的路径下开启mysql udandandeMacBook-Pro:mysqlfutantan$mysql-uroot-pEnterpassword:Welcom......