目录

1.自监督,个体判别

2.损失函数的意义

3.总结

4.伪代码


1.自监督,个体判别

训练编码器,做字典查找任务。结构如下图,论文中代理任务是instance discrimination(个体判别),先将一个样本x分成两部分,分别为x11和x12,然后随机取mini-batch的样本x2、x3、…。然后将x11放进encoder,输出为q,x12放进momentum encoder,输出为k+,x2、x3、…同样放进momentum encoder,输出为key2、key3….。由于q与k+来自同一个样本x1,于是同属于正例,相似度最高,其余key2、key3…均为负例。

Consider an encoded query q and a set of encoded samples {k0, k1, k2, ...} that are the keys of a dictionary. Assume that there is a single key (denoted as k+) in the dictionary that q matches. A contrastive loss  is a function whose value is low when q is similar to its positive key k+ and dissimilar to all other keys (considered negative keys for q). With similarity measured by dot product, a form of a contrastive loss function, called InfoNCE.

2.损失函数的意义

损失函数,目的学到q与k+的损失尽可能小,而q与其他key的损失尽可能大,也就是说,q与k+尽可能相似,而q与其他key尽可能远离。采用infoNCE作为目标函数,Noise Contrastive Estimation。类似于交叉熵损失。

The sum is over one positive and K negative samples. Intuitively, this loss is the log loss of a (K+1)-way softmax-based classifier that tries to classify q as k+. Contrastive loss functions can also be based on other forms , such as margin-based losses and variants of NCE losses.

3.总结

data-sample数据样本q,noise-sample噪声样本(k+、k2、k3…),每次拿数据样本和噪声样本作对比(noise contrastive)。为降低计算复杂度,取部分负样本做损失(estimation)。部分负样本越多,近似越精确,也就是MoCo强调字典尽可能大。NCE将超级多分类问题转换为一系列二分类问题,进而使用softmax操作。

τ控制分布形状,τ变大,分布相应的值变小,分布平滑。如果τ设的过大,对比损失对所有负样本一视同仁,模型学习没有轻重。如果τ设的过小,模型只关注那些特别困难的负样本(与正样本很相似的负样本),模型难以收敛,学好的特征不好泛化(学习了太多与正样本相似的负样本的特征,并非学到了真正的正样本的特征)。k为负样本数量,q与k+相似度越大,概率越接近1,损失越小。

4.伪代码

python的学习还是要多以练习为主,想要练习python的同学,推荐可以去看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费。

牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网求职之前,先上牛客,就业找工作一站解决。互联网IT技术/产品/运营/硬件/汽车机械制造/金融/财务管理/审计/银行/市场营销/地产/快消/管培生等等专业技能学习/备考/求职神器,在线进行企业校招实习笔试面试真题模拟考试练习,全面提升求职竞争力,找到好工作,拿到好offer。https://www.nowcoder.com/link/pc_csdncpt_ssdxjg_python

他们这个python的练习题,知识点编排详细,题目安排合理,题目表述以指导的形式进行。整个题单覆盖了Python入门的全部知识点以及全部语法,通过知识点分类逐层递进,从Hello World开始到最后的实践任务,都会非常详细地指导你应该使用什么函数,应该怎么输入输出。

牛客网(牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网)还提供题解专区和讨论区会有大神提供题解思路,对新手玩家及其友好,有不清楚的语法,不理解的地方,看看别人的思路,别人的代码,也许就能豁然开朗。

快点击下方链接学起来吧!

牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网

MoCo中的InfoNCE相关推荐

  1. 再发力!Facebook AI何恺明等最新研究MoCo(动量对比学习)第二版,超越Hinton的SimCLR,刷新SOTA准确率...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]无监督学习再发力!Facebook AI 研究团队的陈鑫磊.樊昊棋.Ros ...

  2. Facebook AI何恺明等最新研究MoCo(动量对比学习)第二版,超越Hinton的SimCLR,刷新SOTA准确率...

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 转载于 :专知 AI博士笔记系列推荐 ...

  3. MoCo 动量对比学习——一种维护超大负样本训练的框架

    MoCo 动量对比学习--一种维护超大负样本训练的框架 FesianXu 20210803 at Baidu Search Team 前言 在拥有着海量数据的大型互联网公司中,对比学习变得逐渐流行起来 ...

  4. 对比学习(Contrastive Learning)中的损失函数

    文章目录 写在前面 一.Info Noise-contrastive estimation(Info NCE) 1.1 描述 1.2 实现 二.HCL 2.1 描述 2.2 实现 三.文字解释 四.代 ...

  5. [MOCO v1] Momentum Constrast for Unsupervised Visual Representation Learning(CVPR 2020)

    文章目录 1. Motivation and Contribution 1.1 Motivation 1.2 Contribution 2. Method 2.1 Contrastive Learni ...

  6. MoCo 动量对比用于无监督视觉表征学习

    目录 1.前言 2.代理任务 3.论文摘要 4.引言 5.相关工作 6.具体方法(关于InfoNCEloss的详细介绍见另一篇博文) 7.总结 1.前言 对比学习:将样本通过模型映射到特征空间,在特征 ...

  7. 视频与图片检索中的多模态语义匹配模型 ——原理、启示、应用与展望

    前言 三多前笔者在<万字长文漫谈视频理解>[1]一文中,曾经将自己对视频理解的认识进行过简单总结,幸而获得了朋友们的认可,能让读者认可是笔者最为骄傲的成就.现在看来文中观点有不少纰漏狭隘之 ...

  8. 对比学习系列(二)---MoCo 系列

    MoCo 系列 文章目录 MoCo 系列 自监督 MoCo V1 前言 动量对比 Dictionary as a queue Momentum update 代理任务 Shuffling BN 实验 ...

  9. 自监督学习-对比学习-MoCo Momentum Contrast 阅读笔记

    Momentum Contrast for Unsupervised Visual Representation Learning 原文地址:CVPR 2020 Open Access Reposit ...

最新文章

  1. 如何用Python批量提取PDF文本内容?
  2. 软件测试培训分享:做软件测试需要掌握数据库的知识吗?
  3. python版本升级及pip部署方法
  4. php的字符串处理总结,php字符串处理函数总结
  5. onlyOfice取消上传文件大小的限制
  6. 为项目选择合适的语言
  7. 深度学习后时代,图灵奖得主Bengio研究核心是什么?
  8. MXRuntimeUtils,替代 [NSObject performSelector object object ]的工具
  9. UVA515 King
  10. $.ajax跳入error之 async
  11. 财务模块的一些基础概念
  12. 计算几何02_三次样条曲线
  13. 计算机常用1700英语单词
  14. 笔记暂记15:陪集,商集
  15. 测试人员的绩效考核,看看你有哪些没做好
  16. PTA---L2-016 愿天下有情人都是失散多年的兄妹(深度优先)
  17. cogs1439 货车运输 LCA
  18. Nginx安装/负载均衡/反向代理配置与调优
  19. win7命令更新补丁
  20. java long类型值不能为0_关于原始类型:Java:为什么不能将int转换为Long

热门文章

  1. NodeJS 实现文字转语音
  2. IRIS的镜像配置(1)
  3. 如何搭建线上商城和线下门店的联合运营解决方案
  4. 腾讯WeTest即将亮相MTSC2021中国互联网测试开发大会
  5. 无人船与智慧船舶解决方案
  6. Day3-Mybatis基本框架搭建(添加用户)
  7. Mac使用技巧:怎样打开、关闭屏幕共享!
  8. 深入探索 Kdump,第 3 部分
  9. 数组的最长递减子序列java_最长递增/递减子序列
  10. Connectify中文版2013.03.28让wifi上网轻松又简单