MoCo中的InfoNCE
目录
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相关推荐
- 再发力!Facebook AI何恺明等最新研究MoCo(动量对比学习)第二版,超越Hinton的SimCLR,刷新SOTA准确率...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]无监督学习再发力!Facebook AI 研究团队的陈鑫磊.樊昊棋.Ros ...
- Facebook AI何恺明等最新研究MoCo(动量对比学习)第二版,超越Hinton的SimCLR,刷新SOTA准确率...
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟 报道 | 公众号 CVLianMeng 转载于 :专知 AI博士笔记系列推荐 ...
- MoCo 动量对比学习——一种维护超大负样本训练的框架
MoCo 动量对比学习--一种维护超大负样本训练的框架 FesianXu 20210803 at Baidu Search Team 前言 在拥有着海量数据的大型互联网公司中,对比学习变得逐渐流行起来 ...
- 对比学习(Contrastive Learning)中的损失函数
文章目录 写在前面 一.Info Noise-contrastive estimation(Info NCE) 1.1 描述 1.2 实现 二.HCL 2.1 描述 2.2 实现 三.文字解释 四.代 ...
- [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 ...
- MoCo 动量对比用于无监督视觉表征学习
目录 1.前言 2.代理任务 3.论文摘要 4.引言 5.相关工作 6.具体方法(关于InfoNCEloss的详细介绍见另一篇博文) 7.总结 1.前言 对比学习:将样本通过模型映射到特征空间,在特征 ...
- 视频与图片检索中的多模态语义匹配模型 ——原理、启示、应用与展望
前言 三多前笔者在<万字长文漫谈视频理解>[1]一文中,曾经将自己对视频理解的认识进行过简单总结,幸而获得了朋友们的认可,能让读者认可是笔者最为骄傲的成就.现在看来文中观点有不少纰漏狭隘之 ...
- 对比学习系列(二)---MoCo 系列
MoCo 系列 文章目录 MoCo 系列 自监督 MoCo V1 前言 动量对比 Dictionary as a queue Momentum update 代理任务 Shuffling BN 实验 ...
- 自监督学习-对比学习-MoCo Momentum Contrast 阅读笔记
Momentum Contrast for Unsupervised Visual Representation Learning 原文地址:CVPR 2020 Open Access Reposit ...
最新文章
- 如何用Python批量提取PDF文本内容?
- 软件测试培训分享:做软件测试需要掌握数据库的知识吗?
- python版本升级及pip部署方法
- php的字符串处理总结,php字符串处理函数总结
- onlyOfice取消上传文件大小的限制
- 为项目选择合适的语言
- 深度学习后时代,图灵奖得主Bengio研究核心是什么?
- MXRuntimeUtils,替代 [NSObject performSelector object object ]的工具
- UVA515 King
- $.ajax跳入error之 async
- 财务模块的一些基础概念
- 计算几何02_三次样条曲线
- 计算机常用1700英语单词
- 笔记暂记15:陪集,商集
- 测试人员的绩效考核,看看你有哪些没做好
- PTA---L2-016 愿天下有情人都是失散多年的兄妹(深度优先)
- cogs1439 货车运输 LCA
- Nginx安装/负载均衡/反向代理配置与调优
- win7命令更新补丁
- java long类型值不能为0_关于原始类型:Java:为什么不能将int转换为Long