本文主要是介绍MOCO动量编码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考,推荐阅读
李沐论文精读系列三:MoCo、对比学习综述(MoCov1/v2/v3、SimCLR v1/v2、DINO等)_moco 对比学习-CSDN博客
背景
1. MOCO CVPR 2020
2. 对比学习:无监督学习的一种,重点学习同类实例中的共同特征,区分非同类实例的不同之处。
3. trick:projection head、更多的数据增强、使用用动量编码器、更大的 batch size
4.发展阶段
2018-->2019mid:InstDisc,Inva Spread,CPC,CMC
2019mid-->2020mid:MOCO(InstDisc改进),SimCLR(Inva Spread改进)
2020mid-->2021mid:BYOL,SimSiam
2021mid-->2021end:MOCO V3,DINO
2021end:MAE
简介
MOCO的主要思想是一种移动加权平均,公式如下:
主要解决对比学习的两个问题,如下:
1.字典足够大
将anchor以及正负样本的概念转换为key, query的形式,字典足够大,视觉特征更丰富。在队列里计算loss,将batch和队列大小区分开。
2.编码的特征尽量保持一致
因为是字典大于batch,为保证输出的key由尽可能同一编码器产生,将m设置为0.999,这样保证编码器更新非常缓慢。
MOCO V2/V3
MOCO V2借鉴SimCLR加了映射头
MOCO V3是MOCO V2和SimSiam的延伸
这篇关于MOCO动量编码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!