Exploring Simple Siamese Representation Learning阅读笔记
2020年。
Xinlei Chen, Kaiming He。
Computer Vision and Pattern Recognition (cs.CV); Machine Learning (cs.LG)。
1 动机
- Siamese network是一种无监督视觉表征学习模型的常见结构。这些模型最大限度地提高了同一图像的两个放大部分之间的相似性。
- Siamese network的所有输出都“崩溃”成一个常量。目前有几种防止Siamese network崩溃的策略:(1)Contrastive learning,例如SimCLR,排斥负对,吸引正对,负对排除了来自解空间的恒定输出;(2)Clustering,例如SwAV,避免恒定输出;(3)BYOL仅依赖正对,但在使用动量编码器的情况下不会Siamese network崩溃。
- 作者提出的simple Siamese不使用上述的任一方法(负样本对,大批量,动量编码器),也能有很好的表现。
2 SimSiam架构
2.1 具体流程
- 将一幅图像(image x)放大为两个放大视图(x1,x2)。
- x1,x2同时经过编码器(encoder f)处理得到f(x1)和f(x2),该encoder f由卷积神经网络和全连接层组成,网络结构相同且共享权重。
- 一侧应用预测MLP h(predictor h),将f(x1)转换为h(f(x1))。
- 另一侧应用停止梯度运算。
- 使两者之间的相似性最大化。
2.2 实现方法
- x表示输入图像。f表示encoder f。h表示predictor h。
- x1,x2表示随机增强输入图像。
- z1,z2表示经过encoder f后的视图。z1=f(x1),z2=f(x2).。
- p1,p2表示经过predictor h后的视图。p1=h(f(x1)),p2=h(f(x2))。
- 上式表示p1和z2余弦相似度的负值。
- 所以其对称损失为上式。
- 上式为应用一侧MLP,一侧梯度停止。
- 上式为最终的损失函数。
2.3 相关设置
- 优化器:SGD进行预训练。学习率具有余弦衰减时间表(cosine decay schedule ),基础lr为0.05,学习率进行线性缩放为lr×BatchSize/256。BatchSize=512,使用8GPU训练。
- encoder f:ResNet-50作为backbone进行100epochs,Projection MLP具有3层,隐藏层为2048-d,BN层应用于每个FC层,激活函数使用ReLU,输出层无激活函数。
- predictor h:MLP有两层,输出FC不具有BN和ReLU,隐藏层有BN和ReLU,输入维度为2048,隐藏层维度为512。
- 在不使用标签的情况下对1000级ImageNet训练集[11]进行了无监督的预训练。通过对训练集中的冻结表示进行监督的线性分类器,然后在验证集中对其进行测试(这是一种常见协议),可以评估预训练表示的质量。
3 实验
3.1 停止梯度
-蓝线表示使用停止梯度,红线表示未使用停止梯度。
- 左图,在没有停止梯度的情况下,优化器快速找到退化的解并达到-1的最小可能损失。
- 第二个图,如果输出崩溃为恒定向量,则每个通道的所有样本的std应为零。停止梯度的std位于1/√d附近,这表明输出不会崩溃,而是分散在单位超球面上。
- 右图绘制了KNN分类器的验证精度。该KNN分类器可以用作进度监控器。借助停止梯度,KNN监视器显示出稳定提高的准确性。
3.2 Predictor
- 如a,如果不使用Predictor,模型将不起作用,这是由于对称损失的梯度与D(z1,z2)的梯度有相同的方向,且大小按1/2缩放,这就等同于删除了停止梯度,这导致模型崩溃。
- 如b,如果将h固定为随机初始化,则我们的模型也不起作用。
- 如c,使用常数lr(无衰减)可以很好地工作,并且产生更好的结果。可能的解释是h应该适应最新的表示形式,因此在充分训练表示形式之前不必强制使其收敛(通过减小lr)。在我们模型的许多变体中,我们观察到具有恒定lr的h会提供更好的结果。
3.3 Batch Size
3.4 Batch Normalization
- 如a,精度低可能是由于优化困难。
- 如d,predictor的输出层加入BN会导致训练不稳定并且损失振荡。
3.5 Similarity Function
- 交叉熵变量可以收敛到合理的结果而不会崩溃。这表明预防崩溃行为不仅与余弦相似性有关。
3.6 Symmetrization
- 对称化有助于提高准确性,但与防止崩溃无关。对称化可以对每个图像进行更多预测。
4 构思
- 假设SimSiam是期望最大化(EM)类似算法的实现。
- x表示输入图像,T表示增强技术,F表示网络,θ表示网络F参数,η表示x的另一组特征。
- 我们的目的就是最小化该损失函数,也就是调整网络F参数θ和x的特征η。
- 这里将其中一个参数固定,调整另一个参数。
- t表示交替索引。
- θ可由SGD解决,使用停止梯度不会反向传播到η上,η是个常量。
- 在增量分布上,η被分配了x的平均表示。
- SimSiam可以视作上述求解方案的一次性交替近似。
5 比较
SimSiam是一种类似交错优化的方案,其SGD更新间隔为1。基于该假设,所提方案在多步SGD更新下同样有效。
1-step等价于SimSiam。
ImageNet linear classification。
基于标ResNet50,在预训练期间使用了两个224×224视图。
转移学习。
将预测器和梯度停止应用到其他架构中。
对于SiamCLR,停止梯度和额外预测器的引入大概是另一个潜在的优化问题的结果。它不同于对比学习问题,因此这些额外的组件可能无济于事。
添加预测变量也无济于事。消除停止梯度(以便对模型进行端到端训练)会导致分歧。作为基于聚类的方法,SwAV本质上是交替表述。
Exploring Simple Siamese Representation Learning阅读笔记相关推荐
- Exploring Simple Siamese Representation Learning论文笔记
写在前面 大三狗随手记录,不喜勿喷. 主要思想 Siamese network常常被用来计算图像的两个增强之间的相似性,但可能会造成模型坍塌(即输出恒定).作者在本文提出了一个非常简单的Simple ...
- SimSiam:Exploring Simple Siamese Representation Learning
Siamese网络最大化了一个图像的两个增强之间的相似性,服从于避免崩溃解的某些条件.在本文中,SimSiam即使不使用以下任何一项也可以学习有意义的表示:(i)负样本对,(ii)大批量,(iii)动 ...
- 对比学习simSiam(一)--Exploring Simple Siamese Representation Learning总体理解
1.从名字上把握 sim是我们熟知的相似的那个单词,这个Siam是孪生的意思,这里使用这个来命名应该是为了指出孪生的重要性.这里的核心其实是在提出一个思想,对比学习这种由孪生网络结构构成的无监督学习的 ...
- 深度学习(自监督:SimSiam)——Exploring Simple Siamese Representation Learning
文章目录 前言 SimSiam简述 实验 前言 该文章是何凯明组发表于CVPR2021上的文章,目前已获得最佳论文提名,主要解决自监督对比学习中的奔溃解问题.奔溃解即不论什么输入,特征提取器输出的特征 ...
- Kaiming He论文阅读笔记三——Simple Siamese Representation Learning
Kaiming He大神在2021年发表的Exploring Simple Siamese Representation Learning,截至目前已经有963的引用,今天我们就一起来阅读一下这篇自监 ...
- T-PAMI-2021论文Semi-Supervised Multi-View Deep Discriminant Representation Learning阅读笔记
提示:文 0.论文信息 题目:Semi-Supervised Multi-View Deep Discriminant Representation Learning 期刊: IEEE Transac ...
- Ranked List Loss for Deep Metric Learning | 阅读笔记
Ranked List Loss for Deep Metric Learning | 阅读笔记 这是CVPR2019上一篇度量学习的论文. 摘要 深度度量学习(DML)的目的是学习可以捕获数据点之间 ...
- Bayesian Compression for Deep Learning 阅读笔记
Bayesian Compression for Deep Learning 阅读笔记 一.论文摘要 二.模型介绍 2.1 概述 2.2 变分贝叶斯和最小描述长度 2.2.1 变分推断 2.2.2 最 ...
- Alpa: Automating Inter- and Intra-Operator Parallelism for Distributed Deep Learning阅读笔记
Alpa: Automating Inter- and Intra-Operator Parallelism for Distributed Deep Learning Alpa阅读笔记 一.论文的研 ...
- 【图表示学习】Graph Representation Learning 读书笔记(一)
Graph Representation Learning (William Hamil)本书还没有正式推出. Chapter 1:Introduction 首章主要简要讲解图的定义和机器学习在图数据 ...
最新文章
- 【c语言】计算三角形面面积
- 2020年春季学期教学日历
- actionscript代码练习作品
- linux ps mysql_linux系统中ps指令使用详解
- 企业实战_17_MyCat水平扩展_跨分片查询_ER分片
- 电脑上我的文档图标不见了怎么办
- cisco 9月24日 CCNA实验
- 长春工业大学计算机组成原理考试开卷考吗,计算机组成原理期末复习资料
- catia如何将曲面加厚变为实体_?在CATIA中快速画一个大众车标
- C处理Python返回的字串代码
- 表面肌电信号处理流程——基于肌电信号分类的特征抽取的设计
- 用批处理共享打印机电脑设置
- spurious wakeup 虚假唤醒
- 有趣的设计模式——两脚插头也能使用三孔插板
- 谷哥学术2022年资源分享下载列表 06/20
- 苹果开发者账号开启双重认证教程
- 7个月后再测「小度在家」,已然超出音箱属性的未来新物种
- 微信小程序获取用户信息“授权失败”场景的处理
- c# 删除C:\Windows\System32\oobe下的文件
- php服装商城网站毕业设计源码241505
热门文章
- 老外用VB6写的Windows驱动备份软件
- 《采购与供应链管理》读书笔记
- 免费建站网站分享,最好的自助建站
- 2.2.2-6-2 补码位乘法(Booth算法)
- AI:2020年6月24日北京智源大会演讲分享之强化学习专题论坛——11: 40-12: 10俞扬教授《更好的环境模型,更好的强化学习》
- vbscript 微软教程网址
- android pdf转word开发,如何在Android手机上将PDF转换为Word文档
- [其他] ATI HD6630M 显卡在Win10下终于有救了(DEll 14R N4120)
- 话筒性能测试软件,LogiTech的话筒屏蔽性能测试方案
- 超详细Redis使用手册