对比学习与SimCLR

2024-03-25 4264阅读

对比学习

        通俗来讲,对比学习就是将相同的作为正例,不同的作为正例,将正例和负例相互之间进行对比,让模型学习其中的规律

 对比学习与SimCLR 第1张对比学习与SimCLR 第2张

自监督任务

        简单来说,自监督任务就是以数据本身作为标签,而不需要进行额外的标注。在这个过程中,正样本就是相同的类别的图片,负样本就是不同类别的图片

对比学习与SimCLR 第3张         对比学习与SimCLR 第4张

SimCLR v1

1.网络结构      对比学习与SimCLR 第5张整体网络结构需要经过数据增强、特征提取、相似度损失。

(1) 数据增强

        数据增强,就是给于模型挑战性,让模型在各种情况下都能够识别正例,以增强模型的鲁棒性。 

 对比学习与SimCLR 第6张        

        在自监督中,数据增强一定要足够强,一般来说,搭配裁策略与颜色变换效果会更好。 当只使用裁剪策略时,模型仅仅通过颜色直方图就能够准确分类,从而失去了鲁棒性。

        对比学习与SimCLR 第7张

         (2)特征提取(ecoder)

        特征提取就是使用网络提取特征,可以使用ResNet/Transformer等等。

        (3)相似度损失NT-Xent loss(温度可调的归一化交叉熵损失)

        如果我们要正确识别正例和负例,我们希望正例相似度高,而负例相似度低。因此,我们使用正例作为分子,而相似度度矩阵之和作为分母,意思上让正例相似度占总体相似度的比例足够大。但是这不极大了吗?前面加负号就变成极小化损失了。

        对比学习与SimCLR 第8张对比学习与SimCLR 第9张

结语:自监督学习通过在大规模数据集训练, 能够学习强大的特征表示,进而提升下游任务的性能。

SimCLR v2

    对比学习与SimCLR 第10张

        SimCLR v2提出了一种半监督学习方法,该方法分为3个步骤:(1)使用SimCLRv2对大型ResNet模型进行无监督预训练(2)对一些有标记的示例进行监督微调(3)使用未标记的数据进行蒸馏。

(1)使用SimCLRv2对大型ResNet模型进行无监督预训练

        无监督预训练的目标能够有效获取未标记图像的特征表示。模型越大,效果越好,且标签效率越高,使用更少的有标签数据进行微调就能取得很好的性能。此外,增加非线性投影层的数量也能够提升模型的性能。

对比学习与SimCLR 第11张

  (2)使用有标签数据微调

        使用有标签数据微调能够使预训练模型适用于特定任务。另外,预训练阶段的投影层不是直接扔掉,而是将部分投影层加入编码器(ecoder)中。   

对比学习与SimCLR 第12张   

(3)模型蒸馏

        大模型能够获得很好的特征表示,但是在应用到具体的任务时,我们可能并不需要这么大的模型。因此,使用未标记数据进行蒸馏,能够提升具体任务的性能,并得到一个应用于具体任务的更小的网络。在模型蒸馏中,微调后网络作为教师模型提供伪标签,以此训练学生模型。

               


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]