0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

对比学习中的4种典型范式的应用分析

深度学习自然语言处理 来源:圆圆的算法笔记 作者:Fareise 2022-07-08 11:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

对比学习是无监督表示学习中一种非常有效的方法,核心思路是训练query和key的Encoder,让这个Encoder对相匹配的query和key生成的编码距离接近,不匹配的编码距离远。想让对比学习效果好,一个核心点是扩大对比样本(负样本)的数量,即每次更新梯度时,query见到的不匹配key的数量。负样本数量越多,越接近对比学习的实际目标,即query和所有不匹配的key都距离远。

对比学习目前有4种最典型的范式,分别为End-to-End、Memory Bank、Momentum Encoder以及In-Batch Negtive。这几种对比学习结构的差异主要体现在对负样本的处理上,4种方法是一种逐渐演进的关系。下面,我们来看看4种对比学习结构的经典工作。关于对比学习的损失函数,建议参考之前的文章表示学习中的7大损失函数梳理。

End-to-End End-to-End是一种最直接的对比学习方法,对于一个query,每次采样一个正样本以及多个负样本,使用对比学习loss计算损失,正样本和负样本都进行梯度反向传播。下面介绍几篇End-to-End的对比学习经典论文。

第一篇是Unsupervised Embedding Learning via Invariant and Spreading Instance Feature(2019)。本文的目标是学习图像好的表示,满足相似的图像embedding离得近,不相似的图像embedding离得远的特点。具体的,希望同一个图像经过不同的数据增强方式进行转换后,能够具有embedding的不变性,同时不同图像的embedding有明显差异。

这篇文章在原来每个样本为一个类别的分类基础上进行了优化,将每个图像进行一种数据增强的转换后,去让转换前后的图像的embedding离得更近。首先采样一个batch的图像,然后对每一个图像使用一种数据增强方法进行转换。优化的目标是让每一个图像xi转换后的图像xi‘能够被分为xi这个样本的类别。模型的训练仍然采用多个二分类的方式,每个样本的loss可以表示为:

最终采用底层共享参数的孪生网络结构进行模型训练。在训练阶段,每个样本的会使用该batch内其他样本作为负样本进行训练,并使用一种随机的argumentation策略生成一个正样本。

LEARNING DEEP REPRESENTATIONS BY MUTUAL INFORMATION ESTIMATION AND MAXIMIZATION(ICLR 2019,DIM)是另一个典型的End-to-End对比学习框架。本文提出在Deep InfoMax基础上进行对比学习,首先介绍一下Deep InfoMax。Deep InfoMax是一种无监督图像表示学习方法,目标是让输入样本和其经过Encoder后的表示互信息最大,互信息越大表明两个变量相关性越强,互信息可以采用InfoNCE、Jensen-Shannon MI estimator等方法求解。

具体实现上,随机采样一个图像,经过卷积得到feature map f(x),再经过网络得到一个图像的表示向量h(f(x)),整个过程相当于取了整个encoder中某一层的表示f(x),以及encoder的最终输出h(f(x)),让这两个表示的互信息尽可能大。同时随机选择其他图像,生成其feature map f(x’)。这样f(x)和h(f(x))构成正样本,f(x‘)和h(f(x))构成负样本,再代入loss进行优化。基本思路采用了MINE的方法,去求一个下界。使用一个discriminator去判别输入是配对的feature map和representaion的联合概率分布还是不配对的feature map和representaion的边缘概率分布的乘积。

最终学习的是中间表示中某一个部分的信息和最终encoder得到feature的相关性,互信息可以理解为在是否获取encoder最终表示的情况下,我们能预测出的中间层某部分的表示会好多少。这是使用相对的预估能力而非绝对的预估能力进行评估。

Learning Representations by Maximizing Mutual Information Across Views(2019)扩展了DIM,学习一个图像的两种不同增强方式的互信息最小。DIM使用同一张图像最终层和中间层的表示计算互信息,而本文采用一个图像的不同增强后的view计算。

End-to-End方法的主要问题在于,采样的负样本数量受到GPU内存限制,因此这种方法的每次更新能够使用到的负样本数量非常有限,影响了对比学习效果。 Memory Bank 针对End-to-End负样本采样数量受GPU内存限制的问题,基于Memory Bank的方法进入人们视野。Memory Bank的核心思路是,将某一轮模型对数据集中所有样本的表示存储起来,这些样本在作为负样本时,可以不进行梯度更新,极大提升了每个batch负样本数量。

Memory Bank对比学习的主要论文是Unsupervised feature learning via non-parametric instance discrimination(ICLR 2018)。当进行图像分类时,如果两个类别的图像相似,那么模型更容易把这两类的预测搞混,softmax得分排第二的的类别往往是和待预测类别比较相似的。这说明模型在学习的过程中,能够从图像数据本身学出哪些图片表达相似的事物,而不需要引入标签。因此本文希望只利用无监督的图片,就学习出比较好的图像表示,将原来的分类问题进行一个扩展,每个图片视为一个类别,做多分类任务,这样无需有监督数据就能学习图像表示。同时,将softmax中每个类别对应的权重替换为每个样本的embedding结果,将原来的softmax去掉每个类别的权重参数w后变为了 non-parametric softmax,最终表示为:

然而一个图像为一个类别带来的问题是计算softmax多分类损失时,分类的类别数和样本数相同。因此本文提出利用InfoNCE loss来近似拟合softmax多分类损失,它与层次softmax、negative sampling都是解决类别较多时多分为问题的高效方法。InfoNCE loss将多分类问题转换为多个二分类问题,原来是预测当前样本属于哪个类别,转换成判断每个样本(一个正样本和多个负样本)是否和当前样本匹配,或区分数据样本和噪声样本。 为了提升运行效率,本文采用Model Bank的方法,每个样本的表示更新后会存储到model bank中。下次需要负样本的时候直接从model bank取该样本表示,而不会进行前向计算和反向传播。每个类别只有一个样本会导致模型训练不稳定,因此本文在损失函数中引入平滑项,让模型在t轮迭代计算的表示和t-1轮相似,引入两轮表示的L2正则。随着模型不断收敛,这一项L2正则会逐渐变为0,整体又变成原来的InfoNCE loss。

Model Bank方法的问题在于,Model Bank中存储的样本表示不是最新训练的encoder产出的,和当前encoder生成的表示有一定差异,导致模型训练过程存在问题,例如当前encoder产出的编码可能要和n轮迭代之前产出的encoder编码做比较。同时,Model Bank侧两次样本表示更新不具备连续性,也会导致训练不稳定 Momentum Encoder Momentum Encoder主要为了解决Model Bank中每个样本缓存的表示和Encoder更新不一致的问题。Momentum Encoder的核心思路是,模型在key侧的encoder不进行训练,而是平滑拷贝query侧encoder的参数,如下面的公式:

这种更新方式保证了key侧参数的平滑性,且每次都能用最新的参数得到key侧样本的表示结果。典型的Momentum Encoder工作是Facebook提出的MoCo,论文Momentum Contrast for Unsupervised Visual Representation Learning。

In-Batch Negtive In-Batch Negtive也是对比学习中经常采用的一种扩大负样本数量的方法。对于匹配问题,假设每个batch内有N个正样本对,那么让这N个正样本之间互为负样本,这样每个样本就自动生成了2*(N-1)个负样本。这种技巧提出的很早,在近期对比学习中又得到非常广泛的应用。

A Simple Framework for Contrastive Learning of Visual Representations(2020)就采用了In-Btahc Negtive的方法。此外,本文也提出了对比学习的一些关键发现,包括对数据的argumentation的方式、batch size的大小、生成的embedding进行normalize、对对比学习loss的temperature进行调节都对对比学习效果有重要影响。融合了上述优化,本文提出SimCLR对比学习框架,以最大化同一个图像经过不同argumentation后表示的相关性为目标。整个流程分为3个步骤,首先对图像进行两种不同的增强得到一对正样本,然后经过Encoder得到表示,最后将表示映射后计算对比学习loss,采用In-Batch Negtive的方法进行学习。

在图像和文本匹配的多模态领域,In-Batch Negtive也非常常用,例如Learning Transferable Visual Models From Natural Language Supervision提出的CLIP模型。In-Batch Negtive的优点是非常简单,计算量不会显著增加。缺点是负样本只能使用每个batch内的数据,是随机采样的,无法针对性的构造负样本。

总结 本文总结了对比学习的4种基本训练结构,包括End-to-End、Memory Bank、Momentum Encoder以及In-Batch Negtive,以及各自的优缺点。对比学习训练方式发展的核心是,如何实现量级更大、质量更好、更平稳的负样本表示。通过优化负样本,可以显著提升对比学习的效果。 审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    28

    文章

    5339

    浏览量

    136286
  • 编码
    +关注

    关注

    6

    文章

    1044

    浏览量

    57227

原文标题:对比学习中的4种经典训练模式

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    PAM4与NRZ是什么?PAM4与NRZ调制技术对比分析

    PAM4与NRZ是光通信和高速数据传输领域中两主流的数字信号调制技术。二者的本质区别体现在信号电平数量、传输效率与抗干扰能力上。以下从原理、特点及应用场景三个维度进行具体分析
    的头像 发表于 05-19 09:34 342次阅读
    PAM<b class='flag-5'>4</b>与NRZ是什么?PAM<b class='flag-5'>4</b>与NRZ调制技术<b class='flag-5'>对比分析</b>

    国产替代之FDMS4D0N12C与VBGQA1103参数对比报告

    N沟道功率MOSFET参数对比分析报告 一、产品概述 FDMS4D0N12C :安森美(onsemi)N沟道功率MOSFET,采用PQFN8 5x6mm小尺寸封装。耐压120V,具有极低的导通电
    的头像 发表于 04-30 11:20 1059次阅读

    IDT Serial RapidIO 交换机特性对比分析

    IDT Serial RapidIO 交换机特性对比分析 在电子工程师的硬件设计工作,选择合适的交换机对于系统性能至关重要。Integrated Device Technology(IDT
    的头像 发表于 04-14 10:30 224次阅读

    混合MI-SSVEP是否真的是更优的范式

    HUIYING稳态视觉诱发电位(SSVEP)范式概述稳态视觉诱发电位是一基于视觉刺激的脑机接口范式,当用户注视以固定频率(如6.67Hz或8.57Hz)闪烁的视觉刺激时,大脑枕区视觉皮层会产生
    的头像 发表于 04-12 16:21 3825次阅读
    混合MI-SSVEP是否真的是更优的<b class='flag-5'>范式</b>?

    沐曦曦索GPU产品赋能AI4S重塑材料研发新范式

    2026年1月29日,“AI4Science 前沿:材料研发计算新范式——国产算力×深度学习框架技术沙龙·上海站”在张江百度飞桨人工智能产业赋能中心举办。
    的头像 发表于 02-10 14:28 779次阅读

    边缘典型场景及价值分析

    业务场景需求,因此,在近年来备受产业界关注。由中国信通院发布的《边缘计算定义业务新引擎:边缘典型场景数据价值洞察》中指出:这种“去中心化”的计算范式正成为释放数据
    的头像 发表于 01-21 13:22 681次阅读
    边缘<b class='flag-5'>典型</b>场景及价值<b class='flag-5'>分析</b>

    VCC、VDD、VEE、VSS对比分析

    解释:   DCpower一般是指带实际电压的源,其他的都是标号。在有些仿真软件,默认把标号和源相连。   VCC:C=circuit,表示电路的意思,即接入电路的电压。   VDD:D
    发表于 12-04 06:28

    无源探头与高压探头技术对比分析

    本文对比分析了无源探头与高压探头的技术原理、性能参数及应用场景,为选择合适探头提供参考。
    的头像 发表于 11-30 15:47 896次阅读

    AES和SM4算法的可重构分析

    和SM4的算法流程图再贴出来方便对比分析: AES算法流程图 SM4算法流程图 可以看到AES和SM4存在相同的操作符,例如异或、S盒替换、循环左移操作等。其中异或、循环左移操作
    发表于 10-23 07:26

    AES加密模式简介与对比分析

    时如何运作。在本分享帖,我们将讨论五常见的加密模式:电子密码本模式 (ECB),密码分组链接模式 (CBC),计数器模式 (CTR),密码反馈模式 (CFB),输出反馈模式 (OFB)。通过从多个角度
    发表于 10-22 08:21

    【「AI芯片:科技探索与AGI愿景」阅读体验】+AI的科学应用

    和量子计算的两项新兴的技术,将在生产假说方面发挥重要作用,从而改变科学发现的范式。 生成式AI: 2、穷举搜索 3、分析排错与组合优化 分析排错是生成假说的重要手段。强化学习也在优化假
    发表于 09-17 11:45

    【EMC标准分析】消费电子与汽车电子ESD测试标准差异对比

    【EMC标准分析】消费电子与汽车电子ESD测试标准差异对比
    的头像 发表于 09-09 17:32 1460次阅读
    【EMC标准<b class='flag-5'>分析</b>】消费电子与汽车电子ESD测试标准差异<b class='flag-5'>对比</b>

    【EMC标准分析】GB_T 18655最新2025版与2018版的标准差异对比

    【EMC标准分析】GB_T 18655最新2025版与2018版的标准差异对比
    的头像 发表于 08-14 17:45 8788次阅读
    【EMC标准<b class='flag-5'>分析</b>】GB_T 18655最新2025版与2018版的标准差异<b class='flag-5'>对比</b>

    TaskPool和Worker的对比分析

    ,并提高系统的整体性能。 本文将从实现特点和适用场景两个方面来进行TaskPool与Worker的比较。 实现特点对比 表1 TaskPool和Worker的实现特点对比 实现
    发表于 06-18 06:43

    如何将一个FA模型开发的声明式范式应用切换到Stage模型

    模型切换概述 本文介绍如何将一个FA模型开发的声明式范式应用切换到Stage模型,您需要完成如下动作: 工程切换:新建一个Stage模型的应用工程。 配置文件切换:config.json切换
    发表于 06-04 06:22