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

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

3天内不再提示

对比学习的关键技术和基本应用分析

深度学习自然语言处理 来源:RUC AI Box 作者:杨锦霞 2022-03-09 16:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

对比学习可以应用于监督和无监督的场景下,目前在CV、NLP等领域中取得了较好的性能。本文对对比学习进行基础介绍,以及其在NLP和多模态中的应用。

引言

对比学习的主要思想是相似的样本的表示相近,而不相似的远离。对比学习可以应用于监督和无监督的场景下,并且目前在CV、NLP等领域中取得了较好的性能。本文先对对比学习进行基础介绍,之后会介绍对比学习在NLP和多模态中的应用,欢迎大家批评和交流。

对比学习基础介绍

损失函数

1. NCE[1](Noise-contrastive estimation):是估计统计模型的参数的一种方法,主要通过学习数据分布和噪声分布之间的区别。下面给出NCE的原始形式,它包含一个正负样本对。在之后的许多研究工作中,包含多个正样本或负样本也被广义的称为NCE。下式中x表示数据,y为噪声。

a98c9e70-9dca-11ec-952b-dac502259ad0.png

2. InfoNCE[2]:在CPC中提出,使用分类交叉熵损失在一组负样本中识别正样本。原论文给出的式子如下:

a9a2fdfa-9dca-11ec-952b-dac502259ad0.png

3. Triplet Loss:三元组损失,最初是由谷歌在FaceNet[3]中提出,主要用于识别在不同角度和姿势下的人脸。下式中加号在右下角表示max(x,0)。

aa52e85a-9dca-11ec-952b-dac502259ad0.png

4. N-pair Loss[4]:Multi-Class N-pair loss,是将Triplet Loss泛化到与多个负样本进行对比。

aa64db6e-9dca-11ec-952b-dac502259ad0.png

衡量标准

衡量指标由(Wang & Isola, 2020)[5]提出,文中说明了对比学习算法具有两个关键属性alignment和uniformity,很多有效的对比学习算法正是较好地满足了这两种性质。

alignment:衡量正例样本间的近似程度

uniformity:衡量特征向量在超球体上的分布的均匀性

文章同时给出了衡量两种性质的评价指标,并同时指出优化这两个指标会在下游任务上表现更好。

aa8f6da2-9dca-11ec-952b-dac502259ad0.png

关键技术

1. 正负样本的构造

数据增强:给定训练数据,需要进行数据增强来得到更多正样本。正确有效的数据增强技术对于学习好的表征至关重要。比如SimCLR[6]的实验表明,图片的随机裁剪和颜色失真是最有效的两种方式。而对于句子来说,删除或替换可能会导致语义的改变。

负样本构造:一般对比学习中使用in-batch negatives,将一个batch内的不相关数据看作负样本。

多个模态:正样本对可以是两种模态的数据,比如图片和图片对应描述。

2. 大的batch size

在训练期间使用大的batch size是许多对比学习方法成功的一个关键因素。当batch size足够大时,能够提供大量的负样本,使得模型学习更好表征来区别不同样本。

对比学习在NLP领域的应用

A Simple but Tough-to-Beat Data Augmentation Approach for Natural Language Understanding and Generation

受多视图学习的启发,这篇文章主要提出了一种Cutoff的数据增强方法,包含以下三种策略:

Token cutoff:删除选中的token信息。为了防止信息泄露,三种类型的编码都被改为0。

Feature cutoff:删除特征,将整列置为0。。

Span cutoff:删除连续的文本块。

aaac500c-9dca-11ec-952b-dac502259ad0.png

作者将Cutoff应用到自然语言理解和机器翻译任务上去,实验结果表明这种简单的数据增强方式得到了与基线相当或更好的结果。目前,Cutoff也作为一种常用的数据增强方法应用到不同的对比学习模型中去。

CERT:Contrastive Self-supervised Learning for Language Understanding

CERT主要流程图如下。可以看出,在预训练Bert的基础上,CERT增加了CSSL预训练任务来得到更好的表征。

aac2ab4a-9dca-11ec-952b-dac502259ad0.png

本文首先通过back-translation方式进行数据增强,使用不同语言的翻译模型来创建不同的正样本。

CSSL Pretraining:使用类似MoCo[7]的对比学习框架,采用一个队列去存储数据增强后的keys,并且使用一种动量更新的方法对该队列进行更新。给定句子q,设队列中存有与其互为正样本的k+,故对比损失定义如下:

aaf3bb7c-9dca-11ec-952b-dac502259ad0.png

作者测试了CERT在GLUE 数据集的上的性能。在11个任务中,CERT在7个任务上优于BERT,2个任务上效果相当,整体性能优于BERT。这进一步证明了对比自监督学习是一个学习更好的语言表征的方法。

SimCSE: Simple Contrastive Learning of Sentence Embeddings(EMNLP2021)

SimCSE有两个变体:Unsupervised SimCSE和Supervised SimCSE,主要不同在于对比学习的正负例的构造。

Unsupervised SimCSE:

ab106cc2-9dca-11ec-952b-dac502259ad0.png

正样本:一个句子通过编码器进行两次编码,两次使用不同的dropout 掩码,

ab542282-9dca-11ec-952b-dac502259ad0.png

Supervised SimCSE:

ab6acbfe-9dca-11ec-952b-dac502259ad0.png

使用NLI(Natural Language Inference)数据集,利用其标注的句子之间的关系来构造对比学习的正负样本。如上图所示,给定一个前提

ac071cd4-9dca-11ec-952b-dac502259ad0.png

本文作者在多个数据集上评估了SimCSE的性能,发现在STS(语义文本相似性)系列任务上,SimCSE在无监督和有监督的条件下均大幅超越了之前的SOTA模型。

上面提到了衡量对比学习质量的指标:alignment和uniformity,作者将其进行了可视化,可以发现所有模型的uniformity都有所改进,表明预训练BERT的语义向量分布的奇异性被逐步减弱。

ac2583c2-9dca-11ec-952b-dac502259ad0.png

ESimCSE: Enhanced Sample Building Method for Contrastive Learning of Unsupervised Sentence Embedding

ESimCSE是对上述SimCSE构建正负样本方法的改进,主要出发点如下:

句子的长度信息通常会被编码,因此无监督的SimCSE中的每个正对长度是相同的。故用这些正对训练的无监督SimCSE 往往会认为长度相同或相似的句子在语义上更相似。

Momentum Contrast(动量对比)最早是在MoCo提出,是一种能够有效的扩展负例对并同时缓解内存限制的一种方法。ESimCSE借鉴了这一思想来扩展负例。

ac3b3212-9dca-11ec-952b-dac502259ad0.png

正例:作者先探究了句子对的长度差对SimCSE的影响,当长度差大于3时无监督SimCSE模型的效果大幅度降低。为了降低句子长度差异的影响,作者尝试了随机插入、随机删除和词重复三种方法构建正例,发现前两者导致语义相似度下降明显,而词重复可以保持较高的相似度,同时缓解了句子长度带来的问题。故使用word repetition进行正例构造。

负例:① in-batch negatives ② 动量更新队列中的样本

故损失函数如下:

ac5200b4-9dca-11ec-952b-dac502259ad0.png

实验表明,ESimCSE整体效果优于无监督的SimCSE,在语义文本相似性(STS)任务上效果优于BERTbase版的SimCSE 2%。

对比学习在多模态中的应用

Scaling Up Visual and Vision-Language Representation Learning With Noisy Text Supervision (ICML 2021)

本文提出ALIGN模型,作者利用了超过10亿的图像文本对的噪声数据集,没有进行细致的数据清洗或处理。ALIGN使用一个简单的双编码器结构,基于对比学习损失来对齐图像和文本对的视觉和语言表示 。作者证明了,数据规模的巨大提升可以弥补数据内部存在的噪声,因此即使使用简单的对比学习方式,模型也能达到SOTA的特征表示。

ac685f1c-9dca-11ec-952b-dac502259ad0.png

在预训练中,将匹配的图像-文本对视为正样本,并将当前训练batch中的其他随机图像-文本对视为负样本。损失函数如下:

text-to-imageloss

ALIGN模型得到的对齐的图像和文本表示在跨模态匹配/检索任务中实现了SOTA效果。同时ALIGN模型也适用于zero-shot图像分类、图像分类等任务。例如,ALIGN在ImageNet中达到了88.64%的Top-1准确率 。

Align before Fuse: Vision and Language Representation Learning with Momentum Distillation (NeurIPS 2021)

作者提出了 ALign BEfore Fuse(ALBEF) ,首先用一个图像编码器和一个文本编码器独立地对图像和文本进行编码。然后利用多模态编码器,通过跨模态注意,将图像特征与文本特征进行融合。并提出动量蒸馏(Momentum Distillation)对抗数据中的噪声,得到更好的表征。

acac042e-9dca-11ec-952b-dac502259ad0.png

ALBEF预训练任务:图像-文本对比学习(ITC) 、掩蔽语言建模(MLM) 和图像-文本匹配(ITM) 。

ITC:Image-Text Contrastive Learning,目的是在融合前学习到更好的单模态表征。受MoCo的启发,作者维护了两个队列来存储最近的M个图像-文本表示,故对于每个图像和文本,作者计算图像到文本和文本到图像的相似度如下:

accc1674-9dca-11ec-952b-dac502259ad0.png

为ground truth(one-hot 编码),ITC定义为p和y之间的交叉熵:

ad39573e-9dca-11ec-952b-dac502259ad0.png

MLM:Masked Language Modeling,利用给定图像和上下文文本来预测mask词

ITM:Image-Text Matching,把图像和文本是否匹配看作二分类问题

故整个预训练的损失函数为上述三者的和。

由于用于预训练的数据集往往含有噪声,作者提出同时从动量模型生产的伪标签中去学习。将上述相似度计算公式中的

adadfc42-9dca-11ec-952b-dac502259ad0.png

同时,作者从互信息最大化的角度来证明了ALBEF实际上最大化了图像-文本对的不同views之间的互信息的下界。

与现有的方法相比,ALBEF在多个下游视觉语言任务上达到了SOTA的效果。

VLMO: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts

本文提出VLMO模型,既可以作为融合编码器去做分类任务,也可以作为双编码器去做检索任务。VLMO引入一个 Mixture-of-Modality-Experts(MoME)的Transformer,能够根据输入数据的类型选择不同的expert,如下图所示。

add054d6-9dca-11ec-952b-dac502259ad0.png

VLMO的预训练任务与前面类似,通过图像-文本对比学习、掩码语言建模和图像-文本对匹配进行联合预训练。

其中,Image-Text Contrast预训练任务具体为:给定一个batch的图像文本对,图像文本对比学习的目标是从n*n个可能的图像文本对中预测匹配的对,事实上在这一batch中有N个正样本对,之后使用交叉熵损失进行训练。下式中,h为编码,p为softmax归一化后的相似性。

ae354f62-9dca-11ec-952b-dac502259ad0.png

本文巧妙的地方在于采用了分阶段的预训练方式,得到了更泛化的表示。

ae5517b6-9dca-11ec-952b-dac502259ad0.png

VLMO模型在VQA等多模态下游任务上进行微调,效果达到了SOTA。

审核编辑:gt

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

    关注

    27

    文章

    6271

    浏览量

    112284
  • nlp
    nlp
    +关注

    关注

    1

    文章

    491

    浏览量

    23399

原文标题:对比学习在NLP和多模态领域的应用

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    智能小家电低功耗设计的5个关键技术

    低功耗设计是便携式智能设备和电池供电产品的核心竞争力。在智能小家电领域,优秀的功耗设计不仅能延长电池续航,还能降低发热、提升产品可靠性。本文从5个关键技术维度系统讲解低功耗设计的实践方法。 一
    发表于 05-28 10:52

    浅析AI COMPUTING领域的热管理关键技术路径

    如何在有限的空间内高效散热,保障AI集群稳定、可靠、高效运行,已成为推动产业持续进阶的基石。安富利始终关注前沿技术趋势与客户实际需求,本文将结合全球热管理领导者宝德(BOYD)的技术与方案,浅析AI COMPUTING领域的热管理关键技
    的头像 发表于 05-11 10:08 426次阅读
    浅析AI COMPUTING领域的热管理<b class='flag-5'>关键技术</b>路径

    微电网保护的关键技术有哪些?

    电网的运行特性。近年来,随着电力电子技术、通信技术、人工智能技术的深度融合,微电网保护技术体系不断革新,形成了一系列针对性的关键技术,为微电
    的头像 发表于 01-23 10:31 570次阅读
    微电网保护的<b class='flag-5'>关键技术</b>有哪些?

    微电网标准体系解析:IEEE 1547与国标关键技术要求对比

    既存在共通的核心原则,又呈现鲜明的地域适配性特征。深入对比两者的关键技术要求,不仅能为我国微电网标准化建设提供借鉴,更能为跨境微电网项目实施与技术输出奠定基础。
    的头像 发表于 01-22 17:37 2527次阅读
    微电网标准体系解析:IEEE 1547与国标<b class='flag-5'>关键技术</b>要求<b class='flag-5'>对比</b>

    基于CW32 MCU的I2C接口优化稳定读写EEPROM关键技术

    CW32 MCU优化I2C接口,确保在与EEPROM芯片通信时的稳定性。内容涵盖以下几个关键技术点: I2C时序与频率调整:介绍如何根据EEPROM的特性,合理设置I2C时钟频率和时序参数,避免因过高或
    发表于 12-03 07:29

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

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

    噪声测量的关键技术方法与精度控制策略

    本文阐述了高速电路与低功耗系统中噪声测量的关键技术,包括设备选型、环境优化及参数设置,强调精度控制与干扰抑制。
    的头像 发表于 10-30 14:10 789次阅读

    石英压力传感器在核工业与高端装备中的关键技术及应用

    本文系统分析了石英谐振压力传感器在核工业安全监测、航空航天等高端装备领域的关键技术与应用场景。通过案例解析,阐述了国产石英压力传感器如何解决极端环境下的高精度测量难题,并对未来技术发展趋势进行了展望。
    的头像 发表于 10-14 15:16 969次阅读

    【干货】一文带你看懂Wi-Fi 6/6E vs 5G:关键技术深度对比与协同应用前瞻​

    1关键技术对比1.1频率策略Wi-Fi6/6E与5G技术分别属于非授权频谱与授权频谱的两大阵营。1.1.1Wi-Fi6/6EWi-Fi6主要工作在传统的2.4GHz和5GHz的非授权频段
    的头像 发表于 09-18 19:32 3392次阅读
    【干货】一文带你看懂Wi-Fi 6/6E vs 5G:<b class='flag-5'>关键技术</b>深度<b class='flag-5'>对比</b>与协同应用前瞻​

    杰理科技关键技术达到国际领先水平

    2025年9月4日,广东省高新技术企业协会组织召开“自适应ANC低延时无线通信端侧AI芯片关键技术研发与应用”科技成果评价会。经评审,专家组一致认定杰理科技该技术成果在综合技术领域已达
    的头像 发表于 09-10 13:53 1468次阅读

    设备互联的关键技术有哪些

    物联网中设备互联的关键技术涵盖感知、传输、处理、安全及协同管理等多个层级,这些技术共同支撑设备从数据采集到智能协作的全流程,具体可分为以下核心模块: 一、感知层:设备互联的数据源头 传感器技术 功能
    的头像 发表于 08-22 14:41 1084次阅读

    B11:BMS分类架构及关键技术

    、各类BMS架构的原理框图、实现方案;对不同架构BMS的优缺点做对比总结;4、针对BMS关键功能(采样、保护、均衡、SOC等)的技术要点做进一步介绍,并基于技术
    的头像 发表于 08-19 09:24 917次阅读
    B11:BMS分类架构及<b class='flag-5'>关键技术</b>

    Micro LED制造工艺中四大关键技术难点

    显示等四大关键技术至关重要,这些技术的发展和突破对于实现MicroLED的商业化应用具有重要意义。美能显示,作为专注于研发显示行业精密高效检测设备的企业,深度参与到这
    的头像 发表于 08-11 14:55 3592次阅读
    Micro LED制造工艺中四大<b class='flag-5'>关键技术</b>难点

    Linux网络管理的关键技术和最佳实践

    在大型互联网企业中,Linux网络管理是运维工程师的核心技能之一。面对海量服务器、复杂网络拓扑、高并发流量,运维人员需要掌握从基础网络配置到高级网络优化的全套技术栈。本文将结合大厂实际场景,深入解析Linux网络管理的关键技术和最佳实践。
    的头像 发表于 07-09 09:53 1222次阅读

    双电机驱动系统消隙技术分析

    摘要: 双电机驱动系统是电力系统中重要的电机系统,双电机驱动的消隙技术是双电机驱动系统中的关键技术,双电机驱动系统能否实现正常运行关键在于消隙技术本身的水平。在人们对电机系统的要求越来
    发表于 06-19 11:01