MoCo 对比自监督学习

MoCo通过自监督学习来训练一个效果不错的编码器。

主要实现:

  1. 输入一张图片,图片增强后和原来图片是一个正样本对,其他的图片是负样本对。
  2. 原始图片丢入encoder,其他的图片一起丢入momentum encoder,然后计算InfoNCE,其实就是一个(K+1)的交叉熵,我们需要的是让正样本对之间的概率最大。

问题:

  1. 为什么需要momentum encoder,不能直接使用一样的encoder,或者单独训练两个encoder。

    如果各自训练encoder的话,训练会很不稳定,在对比学习中,模型需要区分正样本和大量的负样本。为了有效地进行这种区分,负样本的表示需要相对稳定。如果使用同一个编码器来同时生成查询和键的表示,编码器参数会随着每次迭代不断变化,这会导致负样本的表示不稳定,从而影响对比学习的效果。

    也有办法解决,就是把batch_size设置得特别大,那么每一轮都能近似得到全局样本的特征,每一轮的对比结果都很好。(SimCLR)。

  2. 那为什么不直接把key的字典固定,只有query的encoder

    使用固定字典而不采用键编码器会导致负样本多样性受限、表示过时、学习信号减弱、过拟合风险增加、扩展性和适应性差。

  3. 通过使用一个队列,然后设置动量更新,使得key的encoder更新缓慢,而且队列又是先进先出,保证队列内的特征表示较为接近,从而实现了节约计算资源,又能保持大量负样本,而且是动态的负样本表示。(队列内不同batch的负样本presentation是不同encoder生成的,但是由于momentum encoder更新缓慢,所以较为相似,从而做到静中有动)

相关推荐
Coding茶水间5 分钟前
基于深度学习的水果检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉
檐下翻书1738 分钟前
算法透明度审核:AI 决策的 “黑箱” 如何被打开?
人工智能
undsky_10 分钟前
【RuoYi-SpringBoot3-Pro】:接入 AI 对话能力
人工智能·spring boot·后端·ai·ruoyi
2301_7833601317 分钟前
【学习笔记】关于RNA_seq和Ribo_seq技术的对比和BAM生成
笔记·学习
qq_3977315118 分钟前
Objective-C 学习笔记(第9章)
笔记·学习·objective-c
网易伏羲21 分钟前
网易伏羲受邀出席2025具身智能人形机器人年度盛会,并荣获“偃师·场景应用灵智奖
人工智能·群体智能·具身智能·游戏ai·网易伏羲·网易灵动·网易有灵智能体
搬砖者(视觉算法工程师)25 分钟前
什么是无监督学习?理解人工智能中无监督学习的机制、各类算法的类型与应用
人工智能
西格电力科技31 分钟前
面向工业用户的绿电直连架构适配技术:高可靠与高弹性的双重设计
大数据·服务器·人工智能·架构·能源
TextIn智能文档云平台35 分钟前
图片转文字后怎么输入大模型处理
前端·人工智能·python
Hy行者勇哥35 分钟前
从零搭建小智 AI 音箱 MCP 开发环境:自定义智能家居控制技能实战指南
人工智能·嵌入式硬件·硬件工程·智能家居