ONE-PEACE论文解读

news2024/11/25 19:46:20

文章目录

  • 1. 摘要
  • 2. 引言
  • 3. 算法
    • 3.1 结构
    • 模态自适应器
    • 3.2 模态融合编码器
    • 3.3 任务
  • 4. 实验
    • 4.1 视觉任务
    • 4.2 音频任务
    • 4.3 视觉语言任务
    • 4.4 消融实验
    • 4.5 zero-shot检索
  • 5. 结论

论文: 《ONE-PEACE: EXPLORING ONE GENERAL REPRESENTATION MODEL TOWARD UNLIMITED MODALITIES》
github: https://github.com/OFA-Sys/ONE-PEACE

1. 摘要

ONE-PEACE,一个40亿参数可扩展模型,对齐并集成视觉、音频、文字模态表征,其包括:模态自适应层、自监督层、模态前馈网络。通过增加自适应层级前馈网络使得模型易扩展到新模态,self-attention层进行多模态融合。为了预训练ONE-PEACE,作者发展两个模态未知预训练任务:跨模态对齐对比损失、模态内去噪对比学习。ONE-PEACE在多个任务达到前沿水平,分类、分割、音频文本检索、音频分类、音频问答、图文检索、visual grounding等任务。

2. 引言

作者探索一种可扩展方式构建泛化保证模型适应于任意模态。泛化表征模型条件:
1、模型结构灵活适应于各种模态,支持多模态交互;
2、预训练任务不仅可以提取信息,还需跨模态对齐;
3、预训练任务具有泛化性,可应用于不同模态。
作者提出的ONE-PEACE包括多个模态自适应器、模态融合编码器。自适应器用于将原始输入转换称特征序列,模态融合编码器中Transformer block包括共享的self-attention层及多模态特征前馈网络,
训练ONE-PEACE,作者设计两个模态无关预训练任务。跨模态对抗学习、模态内去噪对抗学习。

3. 算法

3.1 结构

ONE-PEACE包括三个模态自适应器以及一个模态融合编码器。结构如图1所示。
在这里插入图片描述

模态自适应器

模态自适应器用于将不同原始信号转换为统一特征。
Vision Adapter:使用层级MLP,逐渐增加patch大小至16*16,将输入图像patch化,然后将patch序列化,加入分类embedding,添加绝对位置embedding至image embedding,得到 E V = e c l s V , e 1 V , e 2 V , . . . , e M V E^V = e^V_{cls}, e^V_1 , e^V_2, ..., e^V_M EV=eclsV,e1V,e2V,...,eMV
Audio Adapter:使用16kHz采样音频,并进行归一化,通过卷积提取特征得到音频embedding,使用卷积层提取相对位置信息并添加到音频embedding。引入音频分类embedding得到音频表征 E A = e c l s A , e 1 A , e 2 A , . . . , e N A E^A = e^A_{cls}, e^A_1, e^A_2, ..., e^A_N EA=eclsA,e1A,e2A,...,eNA
Language Adapter:使用字节对编码器(BPE)将输入文本转换为子序列,特别token:[CLS] 和 [EOS],插入句子的起始和结尾,embedding层将子序列转为文本embedding,引入卷对位置embedding得到文本表征 E L = e c l s L , e 1 L , e 2 L , . . . , e K L , e e o s L E^L = e^L_{cls}, e^L_1 , e^L_2, ..., e^L_K, e^L_{eos} EL=eclsL,e1L,e2L,...,eKL,eeosL

3.2 模态融合编码器

模态融合编码器基于Transformer结构,每个Transformer block包括一个共享self-attention层及三个模态前馈网络。共享self-attention层用于不同模态之间交互,三个模态前馈网络(V-FFN, A-FFN, and L-FFN),进一步提取各自模态信息。为了稳定训练及提升模型表现,作者进行如下改进:
Sub-LayerNorm:在输入映射之前以及每个self-attention层及FFN层输出映射之前插入映射。
GeGLU激活函数:替换FFN中激活函数为GeGLU,
Relative Position Bias (RPB):对于文本及音频,引入1D相对位置偏置,对于图像引入2D偏置。训练过程self-attention层共享偏置,fine-tuning时拆分;
LayerScale:用于动态调整每个残差block的输出。具体的,对于self-attention层级FFN层输出乘以可学习对角矩阵。LayerScale有利于稳定训练,提升性能。

ONE-PEACE对不同模态解耦进不同分支处理任务。

3.3 任务

ONE-PEACE预训练任务包括跨模态对比学习以及模态内去噪对比学习。前者用于提升跨模态检索能力,后者用于在下游任务预训练时获得更高表现,如图2所示。
在这里插入图片描述
跨模态对比学习:
内核为最大化成对样本相似度,最小化非成对样本相似度;具体token的输出作为全局表征,比如vision class token or language class token,通过线性映射及归一化的点最终表征 S 1 , S 2 S^1, S^2 S1,S2,损失函数如式1所示,
在这里插入图片描述
其中 N N N为batch大小, i , j i,j i,j为bacth内index, σ σ σ为可学习参数。跨模态对比学习用于图像文本对以及音频文本对
模态内去噪对比学习:
跨模态对比学习主要用于对齐不同模态特征,然而缺少模态内精细特征学习,因此引入模态内去噪对比学习。具体如下:
**对于任意模态,首先通过对应模态自适应器编码,得到embedding,然后随机mask一些单元(text tokens or image patches),同时将未mask的单元送入模态融合编码器,得到结果与可学习mask token进行concat送入轻量级Transformer decoder,生成mask区域特征,同时为mask样本输入ONE-PEACE得到目标特征。**损失函数如式2,
在这里插入图片描述
h ^ i j \hat h_{ij} h^ij为mask后得到修复特征, h i j h_{ij} hij为目标特征, s g sg sg表示停止梯度回传, N ^ \hat N N^为mask单元数量,这个损失在拉近正样本距离同时使得负样本之间远离
模态内去噪对比学习应用于5种数据:图像、音频、文本、图文对、音频文本对。对于图像文本对,将image patch及text token concat进行编码得到目标特征。

训练:
ONE-PEACE预训练分为两部分:视觉-语言预训练、音频-语言预训练
视觉-语言预训练过程使用图文对数据,仅更新视觉、语言相关参数,损失函数如式3;
在这里插入图片描述
在音频-语言预训练阶段,使用音频-文本对,损失函数如式4
在这里插入图片描述

4. 实验

4.1 视觉任务

图像分类:在除class token以外图像token进行全局池化、LN、linear层结果作为输出,进一步在ImageNet-21k上进行finetune,结果如表2,在ImageNet数据集top-1 acc达到89.8;
在这里插入图片描述
语义分割:使用Mask2Former作为分割头在ADE20K数据集进行finetune,结果如表3,达到新SOTA,63.0
在这里插入图片描述
目标检测及实例分割:使用ONE-PEACE的backbone,ViTDet及Cascade Mask-RCNN结构,在COCO上进行finetune,结果如表4,达到与SOTA相当效果,与VitDet相比好像增益不大;
在这里插入图片描述
视频行为识别:跟随AIM,frozen 预训练模型参数,每个transformer层增加空间、时间MLP自适应器,使用I3D作为分类头,结果如表5,在Kinetics 400数据集,达到88.1 top-1 acc
在这里插入图片描述

4.2 音频任务

音频文本检索:作者融合AudioCaps、Clotho、MACS三个数据集进行Finetune,与图文检索类似,使用A-Branch and L-Branch分别提取音频及文本特征,计算余弦距离,结果如表6,在AudioCaps、Clotho数据集达到SOTA
在这里插入图片描述
音频分类及音频问答:zero-shot音频分类分别通过A-Branch提取音频embedding、L-Branch提取文本embedding,通过两者相似度实现分类;音频问答任务中每个样本包括一个视频、一个问题及四个候选答案,每个答案及问题联合音频通过AL-Branch提取embedding,最小化正确答案之间距离,最大化错误答案距离,结果如表7,在ESC-50数据集,ONE-PEACE达到91.8 zero-shot acc,在FSD50K数据集超越之前SOTA,AQA任务超越SOTA 2.7。
在这里插入图片描述

4.3 视觉语言任务

图文检索:结果如表8,看起来和BLIP2有些差距;
在这里插入图片描述
Visual Grounding:结果如表9,在三个数据集达到新SOTA;
在这里插入图片描述
视觉语言理解:表10展示ONE-PEACE在VQA及视觉推理任务上结果,比BEiT-3表现差的原因为:BEiT-3在同域数据集训练;BEiT-3使用纯文本进行预训练,提高对文本理解;
在这里插入图片描述

4.4 消融实验

表11展示模型结构消融实验,共享self-attention层、FFN层分离效果最佳;由于self-attention层在对齐模态起到更重作用。
在这里插入图片描述
图4展示不同结构拟合能力,self-attention层共享、FFN层分离的网络拟合最快
在这里插入图片描述
表12展示模态内去噪对比学习影响,DCL-L、DCL-V、DCL-VL均起到正向作用,提升下游任务finetune性能及zero-shot跨模态检索能力;
在这里插入图片描述
表13作者比较各种去噪损失函数,去噪对抗损失函数提升最明显
在这里插入图片描述

4.5 zero-shot检索

文本作为中间态用于与对齐其他模态,比如文本作为中间态,可用于对齐图片与语音。作者评估语音到图片、语音+图片到图片、语音+文本到图片检索,如图5所示。表明不需要学习所有模态间对应关系,与之间模态保持一致即可。
在这里插入图片描述

5. 结论

ONE-PEACE作为一种易扩展的跨模态泛化表征模型,可对齐和集成视觉、语音、语言模态表征,实验结果表明,在多个任务达到前沿效果:图像分类、语义分割、音频-文本检索、音频问答、图文检索、visual grounding。同时具有一定zero-shot检索能力,即使训练集数据模态非成对,也能够对齐模态。
限制:
对于一些任务未达到SOTA,作者进行归因于:

  1. 在预训练阶段ONE-PEACE没有见过足够的图文对;
  2. 未使用语言预训练模型初始化,也没有引入纯语言数据。

个人思考:

  1. 在目标检测、实例分割任务,使用ONE-PEACE预训练增益不大;
  2. 检索能力相对于BLIP2,存在一定差距,当然模型大小也存在差异;
  3. zero-shot检索很有意思,通过各种模态对齐中间态,进而完成各个模态对齐,但是训练起来会不会有难度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/782517.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql最左匹配原则和索引下堆

前言: 最左匹配的基础是联合索引 联合索引 联合索引也称为符合索引,适用于多条件查询。 简单说,它是按多个列建立起来的索引,此外联合索引也是有顺序的。 如下图,以A列和B列建立复合索引,某一层节点&…

学习路之PHP--计算2个坐标点之间距离、时间比较

一、计算2个坐标点之间距离 /** * 根据起点坐标和终点坐标测距离 * param [array] $from [起点坐标(经纬度),例如:array(118.012951,36.810024)] * param [array] $to [终点坐标(经纬度)] * param [bool] $km 是否以公里为单位 false:米 true:公里(千米) …

matlab pcnormals()函数的功能 详解

官方解释: pcnormals - Estimate normals for point cloud This MATLAB function returns a matrix that stores a normal for each point in the input ptCloud. normals pcnormals(ptCloud) normals pcnormals(ptCloud,k) 输入参数 ptClo…

捷米特PROFINET总线协议网关介绍

关于PROFINET PROFINET由PROFIBUS国际组织(PROFIBUS International,PI)推出,是新一代基于工业以太网技术的自动化总线标准。 PROFINET为自动化通信领域提供了一个完整的网络解决方案,囊括了诸如实时以太网、运动控制…

详解 Linux 常用命令

目录 简单介绍 Linux 左侧信息栏 命令 ls ll cd pwd ctrl l touch cat man echo vim vimtutor mkdir rm cp mv grep ps 面试题: 简单介绍 当我们说"Linux"时,通常指的是一种开源的计算机操作系统。Linux 是一个基于 UNIX 操作系…

24.实现线性拟合和相关系数(matlab程序)

1.简述 1. 基本语法 1.1 corr函数基本语法 语法 说明 rho corr(X) 返回输入矩阵X中每对列之间的两两线性相关系数矩阵。 rho corr(X, Y) 返回输入矩阵X和Y中每对列之间的两两相关系数矩阵。 [rho, pval] corr(X, Y) 返回pval,一个p值矩阵&#xff0c…

SpringBoot静态资源访问及参数处理

静态资源访问: 资源访问: 1:Spring Boot 支持静态和模板化的欢迎页面。它首先在配置的静态内容位置中查找index.html文件。如果未找到,则查找index相关模板。如果找到任一,它将自动用作应用程序的欢迎页面。 2&…

【单片机】MSP430F149单片机,晨启,音乐播放器,蜂鸣器音乐

四、音乐播放器 任务要求: 设计制作一个简易音乐播放器(通过手柄板上的蜂鸣器发声,播放2到4首音 乐),同时LED模块闪烁,给人视、听觉美的感受。 评分细则: 按下播放按键P15开始播放音乐&#x…

MCP4725介绍和STM32模拟IC2驱动

一.MCP4725 简单总结为下面几个特点。 1路DAC输出 12位分辨率 I2C 接口(标准,快速,高速支持) 供电电压2.7-5.5 内部EEPROM存储设置 I2C地址可配置(A0)(A1、A2内置,默认为‘00’&…

『Dubbo SPI源码分析』@Adaptive 机制分析

『Dubbo SPI源码分析』Adaptive 机制分析 基于 2.7.0 版本上一章:『Dubbo SPI源码分析』依赖注入机制分析 创建测试 demo 首先创建一个接口,举例为 Car package com.luban.dubbo_spi.api;SPI public interface Car {public void getColor();Adaptive…

pycharm中运行py文件时,报错:找不到自己编写的包等目录问题ModuleNotFoundError: No module named ‘xxx‘

【问题描述】:pycharm中运行py文件时,报错:找不到自己编写的包等目录问题 【报错】: ModuleNotFoundError: No module named ‘xxx’ ERROR: file not found 【问题定位】:运行的py文件和用到的包或者数据不在同一个文件目录下时…

【HanLP】--自然语言处理场景应用

目录 一、前言二、Springboot集成HanLP三、HanLP分词四、HanLP的关键字提取一、前言 HanLP 是由一系列模型与算法组成的工具包,主要功能包括分词、词性标注、关键词提取、自动摘要、依存句法分析、命名实体识别、短语提取、拼音转换、简繁转换等等。 下面将介绍HanLP如何本地…

PHP swoole从入门到精通(一、如何安装swoole及phpStorm服务端代码同步设置)

swoole安装直接在宝塔后台-》安装扩展 phpStorm服务端代码同步设置 https://www.cnblogs.com/yszr/p/9009961.html 软件下载地址 代码上传下载,鼠标右击任何一个文件或者文件夹,选择 Development->上传/下载/同步 点击工具栏Tools->Development…

前端个人年终工作总结精选7篇

一、工作总结的种类 1、按总结的时间分,有年度总结、半年总结、季度总结、学期总结。进行某项重大任务时,还要分期总结或叫阶段总结。 2、按总结的范围分,有单位总结、个人总结、综合性总结、专题总结等。 3、按总结的性质分,有…

科普 | OSI模型

本文简要地介绍 OSI 模型 1’ 2’ 3。 更新:2023 / 7 / 23 科普 | OSI模型 术语节点链路协议网络拓扑 概念作用结构应用层表示层会话层传输层网络层数据链路层物理层 数据如何流动OSI 和TCP/IP 的对应关系和协议参考链接 术语 节点 节点( Node &#…

vue基本语法(个人学习笔记一)

目录 友情提醒第一章、vue概述1.1)vuej介绍1.2)Vue 周边库1.3)MVVM的思想 第二章、借助CDN使用Vue2.1)vue简单引入:引入js文件2.2)简单的Vue程序 第三章、vue的基本语法3.1)Vue的数据绑定&#…

在工作中如何对文件进行批量标记和编号

大家在日常工作中,是如何给文件该或文件夹批量重命名或添加编号,有没有怎么好的方法,可以一键批量操作。 经过小编多次操作经验,得到一个结论,可以通过《文件批量改名高手》对这些文件进行批量标记和编号,…

WebGL 概念和基础入门

WebGL 概念和基础入门 WebGL 是什么 对于 WebGL 百度百科给出的解释是 WebGL 是一种 3D 绘图协议,而对此维基百科给出的解释却是一种 JavaScript API。由于 WebGL 技术旨在帮助我们在不使用插件的情况下在任何兼容的网页浏览器中开发交互式 2D 和 3D 网页效果&…

win10 远程桌面连接如何打开?(Win10常用快捷键总结)

一、dos窗口下输入命令 mstsc 当然用向日葵还是更简单,更好用一些。 二、常用DOS命令 以下是一些常用的 DOS 命令: dir:列出当前目录中的文件和子目录。cd:改变当前目录。md:创建一个新的目录。rd:删除…

QT+VS2019 环境搭建

一、概述 一个PC-QT 的跨平台项目要维护。需要搭建一套环境。使用的是QTVS2019的环境。 QT使用v5.9.3的版本 (这个版本qalgorithms.h文件要替换成新的,源码附在文尾)vs插件使用qt-vsaddin-msvc2019-2.7.1.vsix 二、安装 无脑安装上文的QT5.9.3 和qt-vsaddin-msv…