MoCo(CVPR20)
-
随机增强出 、 两种view -
分别用 、 对输入进行编码得到归一化的 q 和 k,并去掉 k 的梯度更新 -
将 q 和 k 一一对应相乘得到正例的cosine(Nx1),再将 q 和队列中存储的K个负样本相乘(NxK),拼接起来的到 Nx(1+K) 大小的矩阵,这时第一个元素就是正例,直接计算交叉熵损失,更新 的参数 -
动量更新 的参数: -
将 k 加入队列,把队首的旧编码出队,负例最多时有65536个
SimCLR(ICML20)
-
探究了不同的数据增强组合方式,选取了最优的 -
在encoder之后增加了一个非线性映射 。研究发现encoder编码后的 会保留和数据增强变换相关的信息,而非线性层的作用就是去掉这些信息,让表示回归数据的本质。注意非线性层只在无监督训练时用,在迁移到其他任务时不使用 -
计算loss时多加了负例。以前都是拿右侧数据的N-1个作为负例,SimCLR将左侧的N-1个也加入了进来,总计2(N-1)个负例。另外SImCLR不采用memory bank,而是用更大的batch size,最多的时候bsz为8192,有16382个负例
MoCo v2
-
改进了数据增强方法 -
训练时在encoder的表示上增加了相同的非线性层 -
为了对比,学习率采用SimCLR的cosine衰减
SimCLR v2(NIPS20)
-
采用更深但维度略小的encoder,从 ResNet-50 (4×) 改到了 ResNet-152 (3×+SK),在1%的监督数据下提升了29个点 -
采用更深的3层MLP,并在迁移到下游任务时保留第一层(以前是完全舍弃),在1%的监督数据下提升了14个点 -
参考了MoCo使用memory,但由于batch已经足够大了,只有1%左右的提升
SwAV(NIPS20)
BYOL
SimSiam
-
左侧的编码器生成 ,经过MLP后输出 -
右侧的编码器生成 -
计算 与 的cosine相似度 -
左右调换,再计算 与 的cosine相似度 -
最大化3、4两个步骤的和,且右侧永远不传播梯度
two observations of the same concept should produce the same outputs
其他细节
1. 数据增强方法
-
不同的数据增强方式组合起来会更好,单一增强的任务太简单 -
Crop和Color组合的方式最好,因为大多数图像中的颜色是比较一致的,即使裁剪也会容易辨认,如果去掉颜色会增加任务难度
2. BatchNorm导致的信息泄露
3. MLP
总结
<section data-brushtype="text" style="padding-right: 0em;padding-left: 0em;white-space: normal;letter-spacing: 0.544px;color: rgb(62, 62, 62);font-family: "Helvetica Neue", Helvetica, "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;widows: 1;word-spacing: 2px;caret-color: rgb(255, 0, 0);text-align: center;"><strong style="color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;"><span style="letter-spacing: 0.5px;font-size: 14px;"><strong style="font-size: 16px;letter-spacing: 0.544px;"><span style="letter-spacing: 0.5px;">—</span></strong>完<strong style="font-size: 16px;letter-spacing: 0.544px;"><span style="letter-spacing: 0.5px;font-size: 14px;"><strong style="font-size: 16px;letter-spacing: 0.544px;"><span style="letter-spacing: 0.5px;">—</span></strong></span></strong></span></strong></section><pre><pre><section style="letter-spacing: 0.544px;white-space: normal;font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;"><section powered-by="xiumi.us"><section style="margin-top: 15px;margin-bottom: 25px;opacity: 0.8;"><section><section style="letter-spacing: 0.544px;"><section powered-by="xiumi.us"><section style="margin-top: 15px;margin-bottom: 25px;opacity: 0.8;"><section><section style="margin-bottom: 15px;padding-right: 0em;padding-left: 0em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 25.5938px;letter-spacing: 3px;text-align: center;"><span style="color: rgb(0, 0, 0);"><strong><span style="font-size: 16px;font-family: 微软雅黑;caret-color: red;">为您推荐</span></strong></span></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;text-align: center;">一文了解深度推荐算法的演进</section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;text-align: center;"><span style="font-size: 14px;">13个算法工程师必须掌握的PyTorch Tricks</span></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;text-align: center;"><span style="font-size: 14px;">吴恩达上新:生成对抗网络(GAN)专项课程</span></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;text-align: center;">图像算法可以稳定处理视频了!| NeurIPS 2020</section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;text-align: center;">从SGD到NadaMax,十种优化算法原理及实现</section></section></section></section></section></section></section></section></section>
本篇文章来源于: 深度学习这件小事
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 我删掉了Transformer中的这几层…性能反而变好了?02/03
- ♥ GitHub星数1.3W!五分钟带你搞定Bash脚本使用技巧04/10
- ♥ 深度学习领域的数据增强06/27
- ♥ 资源|深度生成模型最新发展脉络02/28
- ♥ 计算机起源的数学思想07/24
- ♥ 在目标检测中如何解决小目标的问题?08/10
内容反馈