论文阅读——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出去。

懂了编码器更新方式:

伪代码:

相关推荐

  1. 论文阅读笔记】清单

    2024-03-16 23:28:07       51 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-16 23:28:07       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-16 23:28:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-16 23:28:07       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-16 23:28:07       20 阅读

热门阅读

  1. Acwing101 --- 最高的牛(差分)

    2024-03-16 23:28:07       18 阅读
  2. MATLAB中的数据类型

    2024-03-16 23:28:07       20 阅读
  3. Redis语法总结

    2024-03-16 23:28:07       28 阅读
  4. 【2024-03-16】蚂蚁金服春招实习笔试三道编程题解

    2024-03-16 23:28:07       25 阅读
  5. python-0008-修改django数据库为mysql

    2024-03-16 23:28:07       21 阅读
  6. libcurl test

    2024-03-16 23:28:07       16 阅读
  7. 【LeetCode】动态规划--题目练习

    2024-03-16 23:28:07       20 阅读
  8. Yaml格式解析

    2024-03-16 23:28:07       22 阅读
  9. vue3路由跳转时,页面如何滚动到顶部

    2024-03-16 23:28:07       18 阅读