MoCo中的InfoNCE

这篇具有很好参考价值的文章主要介绍了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.

MoCo中的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.伪代码

 MoCo中的InfoNCE

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

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

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

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

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

牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网文章来源地址https://www.toymoban.com/news/detail-509359.html

到了这里,关于MoCo中的InfoNCE的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【人工智能】— 无监督学习、K-means聚类(K-means clustering)、K-means损失函数,目标函数

    无监督学习是指在没有标签的数据上进行学习,即没有监督信号的指导下进行模型训练。在无监督学习中,我们主要关注从无标签数据中学习出数据的低维结构和隐藏的模式。 通过无标签数据,我们可以预测以下内容: 低维结构:通过无监督学习算法如主成分分析(PCA),

    2024年02月10日
    浏览(44)
  • 四章:Constrained-CNN losses for weakly supervised segmentation——弱监督分割的约束CNN损失函数

            基于部分标记图像或图像标签的弱监督学习目前在CNN分割中引起了极大关注,因为它可以减轻对完整和繁琐的像素/体素注释的需求。通过对网络输出施加高阶(全局)不等式约束(例如,约束目标区域的大小),可以利用未标记数据,以领域特定知识指导训练过

    2024年02月15日
    浏览(77)
  • 【论文阅读】深度多视图聚类的自监督判别特征学习

    文章链接 聚类结构不明确 的某些视图所带来的负面影响,导致多视图聚类性能较差,所以本文提出SDMVC。 深度编码器用来独立的学习每个视图 ;为了利用互补信息, 将所有视图的嵌入特征串联起来形成全局特征 ,可以克服某些视图聚类结构不清晰的负面影响。以 自监督的

    2024年02月02日
    浏览(45)
  • 逻辑回归中的损失函数

            逻辑回归中的损失函数通常采用的是交叉熵损失函数(cross-entropy loss function)。在逻辑回归中,我们通常使用sigmoid函数将线性模型的输出转换为概率值,然后将这些概率值与实际标签进行比较,从而计算损失。         在逻辑回归解决二分类问题的学习中,我

    2024年01月22日
    浏览(33)
  • 对抗生成网络(GAN)中的损失函数

    目录 GAN的训练过程: L1和L2损失函数的区别 基础概念 相同点 差异 1、先定义一个标签:real = 1,fake = 0。当然这两个值的维度是按照数据的输出来看的。再定义了两个优化器。用于生成器和判别器。 2、随机生成一个噪声z。将z作为生成器的输入,输出gen_imgs(假样本)。 3、

    2024年04月08日
    浏览(46)
  • Tensorflow 中的损失函数 —— loss 专题汇总

    回归和分类是监督学习中的两个大类。自学过程中,阅读别人代码时经常看到不同种类的损失函数,到底 Tensorflow 中有多少自带的损失函数呢,什么情况下使用什么样的损失函数?这次就来汇总介绍一下。 优点是便于梯度下降,误差大时下降快,误差小时下降慢,有利于函数

    2024年01月25日
    浏览(32)
  • 神经网络中的损失函数(下)——分类任务

    上文主要介绍了回归任务中常用的几个损失函数,本文则主要介绍分类任务中的损失函数。 为了与回归任务的损失函数形式相统一,此处仅考虑某一条数据的损失函数。 在分类任务中,假设一共有 n n n 个类别。该数据的真实值 Y Y Y 一般用独热编码(只有某一位为1,其余都

    2024年01月17日
    浏览(38)
  • 神经网络中的损失函数(上)——回归任务

    神经网络是深度学习的基础。在神经网络中,损失函数和优化函数是两个非常重要的概念,它们共同决定了模型的性能和训练效果。本文将介绍神经网络中比较常用的损失函数。 损失函数是用于量化预测值与真实值之间误差大小的一个非负函数。数值越小表示损失越小,完美

    2024年01月19日
    浏览(39)
  • 目标检测中的损失函数IoU、GIoU、DIoU、CIoU、SIoU

    IoU损失是目标检测中最常见的损失函数,表示的就是真实框和预测框的交并比,数学公式如下: I o U = ∣ A ∩ B ∣ ∣ A ∪ B ∣ IoU =frac{|A cap B|}{|A cup B|} I o U = ∣ A ∪ B ∣ ∣ A ∩ B ∣ ​ L o s s I o U = 1 − I o U Loss_{IoU}=1-IoU L o s s I o U ​ = 1 − I o U IoU损失会有两个主要的缺点 当

    2024年02月04日
    浏览(51)
  • 【RT-DETR改进涨点】MPDIoU、InnerMPDIoU损失函数中的No.1(包含二次创新)

    👑欢迎大家订阅本专栏,一起学习RT-DETR👑  本文给大家带来的改进机制是 最新的 损失函数 MPDIoU (Minimum Point Distance Intersection over Union) 其是 一种新的边界框相似度度量方法 。MPDIoU是基于水平矩形的最小点距离来计算的,能够综合考虑重叠区域、中心点距离以及宽度和高

    2024年01月16日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包