目录
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开始到最后的实践任务,都会非常详细地指导你应该使用什么函数,应该怎么输入输出。
牛客网(牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网)还提供题解专区和讨论区会有大神提供题解思路,对新手玩家及其友好,有不清楚的语法,不理解的地方,看看别人的思路,别人的代码,也许就能豁然开朗。
快点击下方链接学起来吧!文章来源:https://www.toymoban.com/news/detail-509359.html
牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网文章来源地址https://www.toymoban.com/news/detail-509359.html
到了这里,关于MoCo中的InfoNCE的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!