清华和字节联合推出的视频理解大模型video-SALMONN(ICML 2024)

video-SALMONN: Speech-Enhanced Audio-Visual Large Language Models

论文信息

paper:https://arxiv.org/abs/2406.15704
code:https://github.com/bytedance/SALMONN/
AI也会「刷抖音」!清华领衔发布短视频全模态理解新模型 | ICML 2024
video-SALMONN:语音增强的端到端视听大语言模型
在这里插入图片描述

论文概要

  1. 提出一个端到端的视频理解多模态大模型,可以同时输入视频的语音、音频、视频帧,输出视频描述。
  2. 论文框架包含三点设计:1)音视频在时间维度上的对齐模块;2)多分辨率因果Q-Former;3)多样性损失函数和混合未配对音视频数据训练。

摘要翻译

作为使用音频-视觉大型语言模型(av-LLMs)进行视频理解的一个关键但研究不足的方面,语音理解是至关重要的。本文提出了video-SALMONN,这是一个单一的端到端av-LLM,用于视频处理,它不仅能理解视觉帧序列、音频事件和音乐,还能理解语音。为了获得语音理解所需的细粒度时间信息,同时保持对其他视频元素的高效处理,本文提出了一种新颖的多分辨率因果Q-Former(MRC Q-Former)结构,以连接预训练的音频-视觉编码器和骨干大型语言模型。此外,为了避免帧或模态的主导,我们提出了专门的训练方法,包括多样性损失和非成对视听混合训练方案。在引入的语音-视听评估基准(SAVE)上,video-SALMONN在视频QA任务上实现了超过25%的绝对准确率提升,在包含人类语音的视听QA任务上实现了超过30%的绝对准确率提升。此外,video-SALMONN在前所未有的任务上展示了卓越的视频理解和推理能力。我们的训练代码和模型检查点可在https://github.com/bytedance/SALMONN/ 上获得。

技术细节

在这里插入图片描述

输入处理

1)分别采用Whisper编码器(Speech Encoder)和BEATs编码器(Audio Encoder)来对同一音频流中的语音和非语音音频进行编码,采样频率为50Hz
2)采用InstructBLIP中的视觉编码器(Visual Encoder)来对视频中的帧进行独立地编码,视频帧采样频率为2Hz,即1秒2帧

音视频对齐

对应图中灰色块(Temporal Fine-grained Synchronisation)
按照AI也会「刷抖音」!清华领衔发布短视频全模态理解新模型 | ICML 2024中的解释,音频编码器每1秒音频对应50个向量,而视频编码器每1秒视频2帧,对应64个向量
因此,三个序列在时间维度上,以视频帧为基准每0.5秒对齐并拼接一次(temporal fine-grained synchronisation),因为语音音频序列略短于视觉序列,短的部分加上zero padding。

MRC Q-Former

多分辨率因果Q-Former对应上图中绿色块
在这里插入图片描述
在这里插入图片描述

1)首先在特征维度上,将三个向量进行拼接,也就是论文中的公式(1)
2)采用不同的步长(即不同的分辨率)对序列进行Q-Former(注意力机制)计算。以图2为例(假设视频的序列长度为100),在高分辨率下,步长k取5,query取2,则会产生一个长度为(100/5)*2=40的向量输出。在低分辨率下,步长k取25,query取10,则最终也会产生一个长度为(100/25)*10=40的向量输出,这对应论文中的公式(2)
3)Q-Former中的注意力机制使用了mask机制,如图3所示,即前面的序列不能看见后面的序列信息
4)对每个不同分辨率Q-Former的输出向量进行一个线性映射后再进行加和,得到最终的一个向量输出,这对应论文中的公式(4)
5)最后将Q-Former输出的向量结合文本prompt一起送入大语言模型中,对应论文中的公式(5)

论文中也解释了这种多分辨率划窗设计的好处:

滑动窗口设计使得输入序列的长度可以根据输入特征序列的长度而变化。因此,与在整个序列上使用单一的Q-Former相比,它在保留信息的程度与计算和存储成本之间实现了更好的平衡。

此外,论文中也提到了不同分辨率的Q-Former的参数是共享的

在应用较小窗口以获得更细粒度的时间尺度时,会使用较少的查询向量来减少信息容量,反之亦然。请注意,尽管对于不同的分辨率保持查询向量的不同,但MRC Q-Former的其余参数在所有分辨率级别上都是共享的,因为模态对齐的任务是相同的。

训练策略

首先提出了一个diversity loss,即论文中的公式(6),该loss的设计目的是使同一个分辨率下Q-Former输出的向量彼此不相近,即作者希望每个输出的向量能表征不同的信息。
原文是这样解释的:

视频问答(video QA)等视频任务的训练数据通常只需要一到两个关键帧,而输出查询往往倾向于重复捕捉相同的信息。因此,提出了一种新颖的多样性损失,以鼓励MRC Q-Former提取输入序列的更多不同方面。
请注意,多样性损失仅在低分辨率级别上需要,因为在这些级别上窗口中有足够的帧来提取多样化的信息。

最后,为了避免出现模态主导的问题,论文采用了部分音视频不配对的训练数据,来迫使模型是视频或者音频中来学习。
原文是这样说的:

此外,为了避免视频中的模态主导现象,除了少量成对的音视频数据外,我们提出了一种混合训练方案,即在训练集中的一部分增加非成对的音视频数据,并在提示中结合音频和视频的原始任务。这样,模型就被强制要求从音频和视频输入中提取信息,而不是依赖于某个主导模态。这种策略改善了不同模态之间的平衡,并是导致音视频理解和共同推理能力的关键因素。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于单片机的防火防盗报警系统设计

摘要: 该多功能防火防盗系统既具有根据环境温度和烟雾浓度进行火灾检测的功能,也有能对人体检测实现防盗的功能。多功能智能防火防盗控制系统的主控制器是 STC89C52 单片机,环境温度的检测采用 DS18B20 , MQ2 检测烟雾浓度&…

[Meachines] [Easy] Mirai Raspberry树莓派默认用户登录+USB挂载文件读取

信息收集 IP AddressOpening Ports10.10.10.48TCP:22,53,80,1276,32400,32469 $ nmap -p- 10.10.10.48 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 6.7p1 Debian 5deb8u3 (protocol 2.0) | ssh-hostkey: | 1024 aa:ef:5c:…

@change事件传参

change事件传参 change"(value)>handleChange(value, item,index)" 这样可以接收index参数区分是哪一个组件事件&#xff0c;又可以接收子组件传的value值 <div class"boxItem" v-for"(item, index) in checkPeopleList" :key"inde…

【avue+vue2+elementui】删除、rules、页面跳转、列表数据过长、日期dayjs

这里写目录标题 一、删除二、rules三、页面跳转四、列表数据过长截断五、日期 dayjs一、删除 🍃API/*** 删除.* @param {*} data * @returns 返参*/ export const deleteOrder = (data) => {return request({url: /api/Order/deleteOrder,method: post,data}) }HTML🍃左…

5.2-软件工程基础知识-软件过程模型

软件过程模型 瀑布模型瀑布模型变种-V模型演化模型-原型模型增量模型演化模型-螺旋模型喷泉模型基于构件的开发模型形式化方法模型统一过程模型敏捷方法极限编程其他方法 软件过程模型概述练习题 瀑布模型 瀑布模型(SDLC):瀑布模型是一个经典的生命周期模型&#xff0c;一般将软…

声音和数据之间的调制解调 —— 电报机和电传打字机如何影响计算机的演变

注&#xff1a;机翻&#xff0c;未校对。 The Squeal of Data The through line between the telegraph and the computer is more direct than you might realize. Its influence can be seen in common technologies, like the modem. 电报和计算机之间的直通线比你想象的要…

Redis RDB AOF持久化 主从集群同步原理

RDB RDB Redis数据备份文件 也被叫做Redis数据快照 简单来说就是 把内存中的所有数据记录到磁盘中 当Redis实例故障实例重启后从磁盘读取快照文件恢复数据 快照文件称为RDB文件 默认时保存在当前运行目录执行时机 执行save命令 127.0.0.1:6379> save OK 127.0.0.1:6379&g…

opencascade AIS_TrihedronOwner源码学习对象的实体所有者用于选择管理

opencascade AIS_TrihedronOwner 前言 AIS_Trihedron对象的实体所有者用于选择管理。 在OpenCascade的AIS&#xff08;交互对象框架&#xff09;中&#xff0c;管理类似AIS_Trihedron的对象的选择涉及理解如何处理实体&#xff08;或所有者&#xff09;以进行选择。 方法 1…

正则表达式 空格匹配

目录 一. 前提二. 半角空格 匹配半角空格三. ^ 匹配半角空格开头的半角空格四. ^ $ 匹配整行都是半角空格五. ^[ \t]$ 匹配整行都是半角或Tab空格六. \s 匹配所有空格七. [^\s]匹配除了空格之外的所有内容 一. 前提 &#x1f447;&#x1f447;&#x1f447;有如下所示的内容…

程序员面试 “八股文”在实际工作中是助力、阻力还是空谈?

“八股文”在实际工作中是助力、阻力还是空谈&#xff1f; 作为现在各类大中小企业面试程序员时的必问内容&#xff0c;“八股文”似乎是很重要的存在。但“八股文”是否能在实际工作中发挥它“敲门砖”应有的作用呢&#xff1f;有IT人士不禁发出疑问&#xff1a;程序员面试考…

CTF web bibibi题型

CTF web bibibi题型 1.进入网站 在kali中使用Dirsearch对地址进行目录扫描&#xff0c;发现robots.txt 网址内加入 /robots.txt 进入网址 /fl4gi5Here.php 找到flag

Uni-APP页面跳转问题(十六)

【背景】最近在做公司一个PAD端,谁被点检功能,主要时为了移动端点检设备和打印标签,需求比较简单就是扫描设备二维码,问题在于扫描后要能够重复进行多设备的扫描;早期开发的设备点检能够满足需求但是当连续扫描五六十个设备后,APP卡死,必须重启才能使用。 界面原图: 输…

安全基础学习-keil调试汇编代码

初始目的是为了通过汇编编写CRC功能。 但是基础为0,所以目前从搭建工程开始记录。 大佬绕路。 (一)创建项目 1. 新建项目 打开 Keil uVision。选择 Project -> New uVision Project 创建一个新项目。选择你的目标设备(如 ARM Cortex-M 系列处理器),我这里一开始选择…

buu做题(12)

[CISCN 2019 初赛]Love Math <?php error_reporting(0); //听说你很喜欢数学&#xff0c;不知道你是否爱它胜过爱flag if(!isset($_GET[c])){show_source(__FILE__); }else{//例子 c20-1$content $_GET[c];if (strlen($content) > 80) {die("太长了不会算");…

Creomagic 推出认知通信功能以应对电子战 (EW) 威胁

新时代的软件定义无线电 (SDR) 技术可以在电子战和竞争频谱环境中自主维护可靠的网络。 最近的全球冲突凸显了现代战场上战术通信面临的严峻挑战。随着自主部队的日益普及&#xff0c;战场感知变得比以往任何时候都更加先进&#xff0c;需要大量信息传输和同步。在战场上传输关…

MacOS上如何优雅的使用Burp Suite Professional

MacOS上如何注册使用Burp Suite Professional 文章目录 MacOS上如何注册使用Burp Suite Professional一.如何下载二.安装BurpSuite三.注册四.启动五.创建可执行文件六.写在最后 一.如何下载 JDK官网下载 BurpSuite专业版官网下载 [注册机下载]( https://pan.baidu.com/s/10…

秒懂Linux之编写小程序——进度条

目录 一.前文摘要 二.进度条编写 三全部代码&#xff08;非Linux环境下测试&#xff09; 一.前文摘要 在开始编写之前我们先来学习一些后面会用到的知识点~ 测试结果发现&#xff0c;Sleep无作用&#xff0c;编译完会立刻打印~ 再来看另一个测试~我们同样没有换行&#xff0c…

设计模式的优点

设计模式的优点 1、可重用性2、架构指导3、经验传承4、设计透明5、实践验证 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1、可重用性 设计模式允许开发者在遇到相似问题时复用解决方案&#xff0c;节省时间并减少错误。 2、架构指导 …

C:初识指针—学习笔记

目录 前言&#xff1a; 1、内存和地址 1.1 理解内存和地址 1.2 理解编址 2、指针变量和地址 2.1 取地址操作符&#xff1a;& 2.2 指针变量 2.3 如何拆解指针类型 2.4 解引用操作符&#xff08;*&#xff09; 2.5 指针变量的大小 3、指针变量类型的意义 3.1 指针…

C语言:指针(2)

一.数组名 在了解数组名前我们先看一段代码 int arr[10] {1,2,3,4,5,6,7,8,9,10}; int *p &arr[0]; 根据我们上一篇学习的知识&#xff0c;我们知道&arr[0]是数组第一个元素的地址&#xff0c;这时我们再看另一段代码的运行结果。 #include <stdio.h> int ma…