当前位置: 首页 > article >正文

论文阅读——MoCo

Momentum Contrast for Unsupervised Visual Representation Learning

动量在数学上理解为加权移动平均:

yt-1是上一时刻输出,xt是当前时刻输入,m是动量,不想让当前时刻输出只依赖于当前时刻的输入,m很大时,变化很缓慢。

无监督视觉表征学习,把对比学习看成一个字典查询任务,动态字典由两部分组成,一个是队列,一个移动平均编码器。

字典大,使用的编码器一样或相似

方法:

懂了选的很大,这样动量编码器更新的非常缓慢,所以保证队列里面的k0,k1,k2…是从相似的编码器得到的。

假设有一个编码好的查询q,编码好的样本集{k0,k1,k2…},可以看做字典的key。假设字典只有一个key和q配对。

infoNCE,NCE是noise contrastive estimation

温度τ,用来控制分布形状,越大,exp函数里面的值越小,exp后也就越小,相当于把值变小了,使函数曲线更平滑。温度小,那exp后值更大,使分布更集中。如果温度设的很大,对比损失对所有负样本一视同仁,模型学习没有轻重,如果温度值设的过小,又会让模型只关注困难样本。但是那些负样本可能是潜在正样本,如果过度关注负样本,模型难收敛,不好泛化。

和交叉熵的k代表类别数量不同,这里的K是负样本数量。

训练过程中,每个batch都有一批新的keys进入队列,同时又有一些老的keys出去。

懂了编码器更新方式:

伪代码:


http://www.kler.cn/a/274205.html

相关文章:

  • Linux程序设计(第四版)| 学习笔记
  • 漏洞检测工具:HOST头部攻击
  • CSPM认证最推荐学习哪个级别?
  • 大数据操作实验一
  • 云原生服务网格Istio实战
  • leetcode212. 单词搜索 II
  • 014 Linux_同步
  • Linux下使用ntpdate进行时间同步
  • 8.python中的元组
  • Java13_反转字符串中的单词 III(方法二String转换成字符数组)
  • Java的图书管理系统,确实有两把斧子 ! ! !
  • 网络——入门基础
  • ES代替品:轻量级搜索引擎MeiliSearch
  • HarmonyOS NEXT应用开发—投票动效实现案例
  • HarmonyOS NEXT应用开发之多文件下载监听案例
  • 基础小白快速入门web前端开发技术----------->htm基础
  • C++ 引用变量、引用形参
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Toggle)
  • 高效日志为服务器保驾护航
  • sparksql简介
  • mysql查询条件包含IS NULL、IS NOT NULL、!=、like %* 、like %*%,不能使用索引查询,只能使用全表扫描,是真的吗???
  • bitset详解
  • 代理IP品质对Tik Tok代理的重要性
  • Vue快速教程:如何优雅地移除数组中的特定元素?
  • 架起桥梁,畅享流通:如何使用私有Registry实现镜像跨源同步与管理
  • linux系统中的PS命令详解