三重对比学习

2024-01-03 03:59
文章标签 学习 对比 三重

本文主要是介绍三重对比学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

要了解三重对比学习,首先要了解一些预备知识

对比学习:对比式学习着重于学习同类实例之间的共同特征,区分非同类实例之间的不同之处。

与生成式学习(与对比学习一样属于自监督的一种)比较,对比式学习不需要关注实例上繁琐的细节,只需要在抽象语义级别的特征空间上学会对数据的区分即可,因此模型以及其优化变得更加简单,且泛化能力更强。

MI(mutual information Maximization):互信息(MI)的目的是为了在衡量随机变量之间的关系或确定共享信息的数量

动量编码器:采用动量编码器来提高当前和早期keys之间的表示一致性。

论文内容:

提出背景:

视觉语言表示学习很大程度上受益与通过对比损失的图像文本对齐,而这种对齐策略的成功归因于他能够最大化图像与文本之间的MI(mutual information),但是简单的地执行跨模态对齐会忽略每个模态内的数据潜力

提出的方法:

三重对比学习(TCL)的视觉语言预训练,利用跨模态和模态内的自监督,除了CMA(cross-modal-alignment),TCL还引入了一个模态内对比学习,并且,为了利用来自图像和文本输入的局部信息和结构信息,TCL还进一步最大化了图像/文本的局部区域与全局摘要之间的平衡MI。

对于一些多模态任务,自我监督的视觉语言与训练是必不可少的,而这些任务很大程度上依赖联合的多模态嵌入,而这些都需要建模视觉与语言特征之间的交互,而对于这个任务,最近提出的一些方法中最为关键的是将融合编码器应用到视觉与语言特征的连接来学习联合表示,但是这方法虽然简单有效却存在视觉和语言特征位于不同的嵌入空间的问题,而针对这问题最近提出的方法是将学习过程分成两个阶段,1)先使用对比损失(InfoNCE)也就是对齐跨模态特征,将匹配的图像文本对拉到一起,同时将非匹配对的嵌入分开 2)将对齐的图像-文本表示应用到融合编码器中来学习。而这种方法忽略了I或者T都不能完全表示对方,如果简单的执行跨模态对齐会导致文本只关注成对的图像中的突出对象,而忽略其他的详细的细粒度的信息。但是随着transformer的流行,通过transformer体系结构来提取视觉和语言特征。但是这存在一些问题:它鼓励编码器会学习某些不相关的/mass的图像补丁或者文本本标记的信息

文章通过引入TCL,通过利用跨模态和模态内的自监督学习生成令人满意的表示,从而使得融合编码器可以更容易学习多模态交互

模型组成:包含一个视觉编码器(学习视觉特征)和一个文本编码器(学习语言特征),以及一个融合编码器(学习多模态交互),这些编码器均采用transformer体系结构,并且对于每一个编码器都保持一个成对的动量编码器,利用单模态编码器g(·)和h(·)从给定的输入中学习鲁棒的视觉和语言特征,然后对学习到的特征应用对齐模块,在融合前对跨模态和模态模态内表示进行对齐。

TCL三个对比模块:

CMA(跨模态对齐):最大化匹配的图像和文本之间的全局MI,将匹配的文本-图像对的嵌入拉到一起,同时将不匹配的图像文本对的嵌入分开,由于连续和高维变量的MI直接最大化是难以处理的,将最大化MI改为最小化代表MI下界的InfoNCE损失。形式上,图像到文本的InfoNCE损失定义为:

IMC(模态内对齐):作为CMI的补充,IMC通过最大化其全局MI来最大化同一数据示例的不同增强视图(同一数据生成多个增强视图)之间的一致性,与CMA不同,IMC试图学习同一模态中正样本和负样本之间的语义差异。对视觉模态,在随机数据增强的视图(正样本)同I~(负样本)使用和CMA使用Lnce计算损失;对于文本模块,使用标准的dropout来做最小增强,对相同的正对用独立抽样的dropout掩码;总而言之,通过最小化一下式子来保证合理的模态内学习:

CMA和IMC被设计为在表示学习中发挥互补作用: i) CMA映射嵌入空间中匹配的图像-文本对,ii) IMC最大限度地提高同一数据实例的不同增强视图之间的一致性。将它们组合在一起可以提高学习表示的质量(图1 B),并可以进一步促进融合编码器中的联合多模态学习。

LMI(局部MI最大化):旨在补全全局MI最大化所引起的副作用,LMI可以学到所有local共享的表示,解决了部分local支配互信息。同时使得模型更好地捕捉细粒度的信息。通过最小化以下损失,来最大化全局和局部区域之间的平均MI:

 Image-Text Matching (ITM)图像文本匹配:为了融合视觉和语言表征,这里采用了在以往的VLP研究中广泛使用的ITM。给定一个图像-文本对,ITM预测它们是否匹配(正例子)(负例子),这可以看作是一个二值分类问题。ITM损失的定义为:

 Masked Language Modeling (MLM) 掩码语言模型:这里采用了BERT的mlm,预测被掩码文本的真实label,与BERT不同,这里的MLM的条件是T msk的周围文本标记和图像表示。The MLM loss is defined as:

 模型的总体训练目标是:

 论文模型框架:

图1. (A):框架的概述,它包括一个视觉编码器、一个文本编码器和一个融合编码器。每个编码器都有一个成对的动量编码器,由基于动量的移动平均数更新。对于图像输入,我们应用了两个独立的数据增强运算符(a和b),它们从同一个增强家族中采样。对齐模块包含三个对比目标(即CMA、IMC和LMI),分别用于跨模态和模态内表示学习(使融合编码器更容易学习联合多模态嵌入)。 (B): 同时利用跨模式和模式内监督的动机。原始图像(粉红色)被增强为两个不同的视图(绿色)。仅对于CMA,中间的图像只有一个正的文本示例(绿色),并将其他文本(红色)视为负的文本。它的嵌入(蓝色的圆形)将接近它的积极的文本例子。通过合并IMC,它有两个积极的例子(一个文本和一个图像)和两组消极的例子(一个来自文本,一个来自图像),并倾向于学习更合理的嵌入(蓝色方块)。[CLS],作为整个图像或文本的表示。

实验结果:

Flickr30K实体数据集测试了系统将标题中的短语与图像中的边界区域相联系的能力。任务是,给定句子的跨度,选择它们对应的边界区域。该数据集包括3万张图片和近25万个标注。

 NLVR2是一个关于自然语言和图像联合推理的数据集,重点是语义多样性、构成性和视觉推理挑战。其任务是确定一个自然语言的标题对于一对图像是否真实。该数据集由超过10万个与网络图片配对的英文句子的例子组成。

SNLI-VE是为视觉蕴涵(VE)任务提出的数据集,该任务在NeurIPS 2018 ViGIL研讨会的视觉基础语言学习的视觉蕴涵任务中进行了研究

这篇关于三重对比学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/564510

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Linux中的more 和 less区别对比分析

《Linux中的more和less区别对比分析》在Linux/Unix系统中,more和less都是用于分页查看文本文件的命令,但less是more的增强版,功能更强大,:本文主要介绍Linu... 目录1. 基础功能对比2. 常用操作对比less 的操作3. 实际使用示例4. 为什么推荐 less?5.

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

PostgreSQL 序列(Sequence) 与 Oracle 序列对比差异分析

《PostgreSQL序列(Sequence)与Oracle序列对比差异分析》PostgreSQL和Oracle都提供了序列(Sequence)功能,但在实现细节和使用方式上存在一些重要差异,... 目录PostgreSQL 序列(Sequence) 与 oracle 序列对比一 基本语法对比1.1 创建序

exfat和ntfs哪个好? U盘格式化选择NTFS与exFAT的详细区别对比

《exfat和ntfs哪个好?U盘格式化选择NTFS与exFAT的详细区别对比》exFAT和NTFS是两种常见的文件系统,它们各自具有独特的优势和适用场景,以下是关于exFAT和NTFS的详细对比... 无论你是刚入手了内置 SSD 还是便携式移动硬盘或 U 盘,都需要先将它格式化成电脑或设备能够识别的「文

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat