Meerkat:第一个统一视听空间和时间定位的MLLM

       大型语言模型(LLMs)在各种自然语言处理任务中表现出色,达到了理解和推理能力的人类水平精度。此外,借助新兴的指令微调范式,这些语言模型可以被赋予遵循开放式自然语言指令的能力,甚至可以与其他模态,特别是视觉结合。尽管音频通常是与相关视觉场景相辅相成的,但在LLMs的背景下,音频在很大程度上还未被探索。构建能够“倾听”的多模态LLMs可能能够开启多媒体内容分析、多模态虚拟助手、教育和培训等新应用。有限的先前工作已经将音频纳入MLLMs。然而,它们主要关注于如字幕和问答这样的粗粒度任务,这些任务相对容易纳入LLM接口。尽管最近在利用MLLMs进行定位方面取得了一些进展,但它们要么只关注视觉模态,要么由于两个模态的联合建模不足,难以捕捉视听事件中发生的细粒度细节

     本文的目标是利用LLMs进行细粒度视听理解面临以下挑战

  • 不同任务的输入和输出格式存在差异(例如,根据音频查询进行图像定位,图像引导的音频时间定位);
  • 没有大规模数据集用于训练具有定位能力的视听LLMs。

     鉴于上述挑战,本文提出了Meerkat,这是第一个能够分别在图像和音频中有效进行空间和时间定位的统一视听大型语言模型框架。它具有两个关键模块,这些模块对其细粒度理解的强能力至关重要:一个基于最优传输的模态对齐模块,它以弱监督方式学习图像和音频补丁之间的跨模态对齐;以及一个能够强制执行跨注意力热图中一致性的跨模态注意力模块。这两个模块共同使学习更好的联合视听表示成为可能

链接:https://github.com/schowdhury671/meerkat

1 概述

1.1 多模态大型语言模型 (Multi-modal Large Language Models, MLLMs)

     受大型语言模型(LLMs)在遵循指令方面能力的启发,研究者最近开始利用LLMs来理解多模态内容。不同的模态需要不同的特征提取方法。例如,图像可以使用 CLIP-ViT-B/16 等视觉模型提取特征,而音频可以使用 CLAP 等音频模型提取特征。

     将不同模态的特征融合起来,以便模型可以更好地理解多模态内容。常见的融合方法包括:

  • 视觉编码器:例如 MiniGPT4, X-LLM, Video-ChatGPT 等模型,它们通过学习视觉编码器来将 LLM 与其他模态进行潜在对齐。
  • 跨注意力机制:例如 Otter, LLaMA-Adapter 等模型,它们将跨注意力层集成到 LLM 中,以融合多模态信息。
  • 图像和音频编码器的结合:例如 Meerkat,它使用 CLIP 和 CLAP 的编码器提取特征,并通过 AVOpT 和 AVACE 模块进行跨模态对齐。
  • 1.2 细粒度多模态理解 (Fine-grained Multi-modal Understanding)

     许多多模态 LLM 主要关注粗粒度任务,例如字幕和问答。然而,对于需要细粒度理解的任务,例如图像对齐和音频时间定位,现有的 LLM 难以胜任。   Meerkat 采用两种方法来实现细粒度理解:

  • AVOpT 模块:通过最优传输方法在图像和音频特征之间进行弱监督对齐,从而提高不同模态的语义一致性。
  • AVACE 模块:通过跨注意力机制强制不同模态之间的区域级对齐,从而提高模型对特定对象的关注。
  • 1.3 LLM引导的任务统一 (LLM guided Task Unification)

    LLM作为任务统一框架的接口,近年来取得了巨大进步。受到语言模型成功的推动,研究开始探索如何在语言模型的范围内统一生成和推理任务,利用其易于访问的特点。

     LLM 可以作为一个统一的接口来整合不同的任务,例如图像对齐、音频时间定位和事实核查。Meerkat 使用指令微调来将不同的任务整合到 LLM 中,并使用 LoRA 进行模型微调。

2 方法论

Meerkat技术框图

2.1 多模态特征提取

Meerkat 的多模态特征提取方法有效地利用了预训练的 CLIP 和 CLAP 模型,分别提取图像和音频的特征。通过使用线性层来确保模态一致性,Meerkat 能够将图像和音频信息有效地融合到同一个语义空间中,为后续的任务处理提供坚实的基础

2.1.1 图像编码器

  • CLIP-ViT-B/16: Meerkat 使用预训练的 CLIP-ViT-B/16 编码器来提取图像特征。CLIP 是一个视觉语言模型,它能够将图像和文本表示在同一个语义空间中。ViT-B/16 是一个基于视觉 Transformer 的模型,能够有效地捕捉图像中的全局和局部特征。
  • 图像嵌入表示: 图像嵌入表示 zI 是一个二维向量,其中 SI 表示图像 token 的数量,DI 表示每个 token 的隐藏维度。

2.1.2 音频编码器

  • CLAP: Meerkat 使用 CLAP 的音频 Transformer 作为音频编码器。CLAP 是一个针对音频数据的预训练模型,它能够学习音频特征并生成与自然语言描述相关的表示。
  • 音频嵌入表示: 音频嵌入表示 zA 也是一个二维向量,其中 SA 表示音频 token 的数量,DA 表示每个 token 的隐藏维度。

2.1.3 模态一致性保证

在将图像和音频嵌入输入到语言模型之前,Meerkat 使用额外的线性层来确保不同模态的嵌入维度保持一致。这种一致性保证了图像和音频信息能够被语言模型有效地处理和融合。

2.2 视听特征对齐

本文为模型配备了两个不同级别的监督:通过模态对齐模块(AVOpT)实现的弱监督和通过视听一致性强化模块(AVACE)实现的强监督,有效地解决了图像和音频特征空间不一致的问题,并提高了模型在细粒度音频-视觉理解任务中的性能

2.2.1 音频-视觉最优传输对齐 (AVOpT):

由于图像和音频分别由 CLIP 和 CLAP 模型提取特征,它们的特征空间不同,导致语义不一致。利用最优传输 (OT) 方法,在图像特征和音频特征之间进行 patch 级别的对齐。

2.2.1.1 步骤

  • 将图像和音频输入分别编码成特征嵌入。
  • 将特征嵌入表示成离散概率分布。
  • 计算两个概率分布之间的 Wasserstein 距离,即 OT 距离,最小化距离的同时保持拓扑信息。
  • 学习 OT 计划,将图像特征和音频特征之间进行映射,使它们在语义上更一致。

2.2.1.2优势

  • 可解释性: OT 计划可以解释为图像特征和音频特征之间的映射关系,更易于理解。
  • 鲁棒性: OT 方法对噪声和数据分布的变化具有鲁棒性。
  • 适用于细粒度任务: 在需要细粒度理解的音频-视觉任务中,如图像参考图像 grounding,AVOpT 可以有效地对齐特征,提高模型性能。

2.2.2 音频-视觉注意力一致性强制 (AVACE)

AVOpT 虽然对齐了特征,但缺乏对目标区域和背景区域的区分。利用交叉注意力机制,将音频-视觉特征关联起来,并通过限制注意力地图的范围,强制模型关注目标区域。

2.2.2.1 步骤

  • 将 AVOpT 学习到的特征嵌入输入到 LLM。
  • 利用交叉注意力机制,将音频特征和图像特征关联起来。
  • 定义一个掩码,将注意力地图限制在目标区域的边界内。
  • 最大化目标区域内的注意力,最小化其他区域的注意力。

2.2.2.2 优势

  • 提高定位精度: AVACE 可以帮助模型更精确地定位目标区域,提高下游任务的性能。
  • 增强语义关联: 通过交叉注意力机制,模型可以更好地理解音频和图像之间的语义关联。

2.3 AVOpT 和 AVACE 的协同作用

  • AVOpT 提供了弱监督,使模型可以学习到跨模态特征的潜在关系。
  • AVACE 提供了强监督,强制模型关注目标区域,并增强语义关联。
  • 两者结合,可以使模型学习到更高质量的音频-视觉表示,从而在下游任务中取得更好的性能。

3 MeerkatBench:细粒度音视频理解的统一基准套件

     MeerkatBench 基准套件,旨在促进细粒度音视频理解研究。它包含了五项任务,涵盖了从细粒度到粗粒度的理解层次:

3.1 任务

  • 音频指向图像定位 (ARIG): 根据音频输入,预测图像中目标对象的边界框坐标。
  • 图像引导音频时间定位 (IGATL): 根据图像输入,预测音频事件发生的时间间隔。
  • 音视频事实核查 (AVFact): 分析并验证给定音视频场景中陈述的真实性。
  • 音视频问答 (AVQA): 回答包含音视频信息的各种问题。
  • 音视频字幕 (AVC): 根据音视频输入生成文本描述。

3.2 数据集

     MeerkatBench 使用了现有的公共数据集,例如 Openimages-AudioSet、VGGSound、AVSBench、LLP 等,并对其进行适配,以形成图像和音频配对。

    此外,MeerkatBench 还包含了 300 万个指令微调样本,用于训练模型学习细粒度的音视频语义。

3.3 目标

    MeerkatBench 的目标是提供一个统一的基准套件,用于评估细粒度音视频理解模型的性能。

    通过包含不同粒度的任务,MeerkatBench 可以帮助研究者了解模型在不同理解层次上的能力,并推动音视频理解技术的进步。

4 实验

4.1 实验设置

4.1.1 模型

  • 图像编码器: 使用预训练的 CLIP-ViT-B/16 编码器提取图像特征。
  • 音频编码器: 使用 CLAP 编码器提取音频特征。
  • LLM: 使用开源的 Llama 2-Chat (7B) 作为 LLM 的骨干网络。
  • AVOpT 模块: 基于最优传输算法,学习图像和音频特征之间的弱对齐关系。
  • AVACE 模块: 通过交叉注意力机制,强化图像和音频特征之间的区域级对齐关系。

4.1.2 训练方法

  • LoRA 微调: 使用 LoRA 技术对 LLM 进行微调,以适应特定的任务。
  • 单阶段训练: 使用一个阶段进行训练,而不是传统的两阶段训练。

4.1.3 评估指标

4.1.3.1  Audio Referred Image Grounding (ARIG)

  • cIoU (Intersection over Union): 衡量模型预测的边界框与真实边界框的重叠程度,取值范围在 0 到 1 之间,值越大表示重叠程度越高,模型性能越好。
  • AUC (Area Under Curve): 衡量模型预测的边界框与真实边界框之间的精确度和召回率的平衡,取值范围在 0 到 1 之间,值越大表示模型性能越好。

4.1.3.2 Image Guided Audio Temporal Localization (IGATL)

F1-score: 衡量模型预测的时间区间与真实时间区间之间的精确度和召回率的平衡,取值范围在 0 到 1 之间,值越大表示模型性能越好。

4.1.3.3 Audio-Visual Fact-checking (AVFact)

  • Precision and Recall: 用于评估模型在四种不同类型的 AVFact 任务中的性能,Precision 衡量模型预测为 True 的样本中实际为 True 的比例,Recall 衡量模型预测为 True 的样本中实际为 True 的比例。值越大表示模型性能越好。
  • F1-score: 可以通过 Precision 和 Recall 计算得到,用于衡量模型在四种不同类型的 AVFact 任务中的综合性能,取值范围在 0 到 1 之间,值越大表示模型性能越好。

4.1.3.4 Audio-Visual Question Answering (AVQA)

  • Existential, Localization, Counting, Temporal, Comparative: 这五个指标分别衡量模型在不同类型的 AVQA 任务中的性能,Existential 指的是模型是否能够回答关于事件是否存在的问题,Localization 指的是模型是否能够回答关于事件位置的问题,Counting 指的是模型是否能够回答关于事件数量的问题,Temporal 指的是模型是否能够回答关于事件时间的问题,Comparative 指的是模型是否能够回答关于事件比较的问题。每个指标都采用二分类指标进行评估,例如 Precision 和 Recall,值越大表示模型性能越好。
  • Avg: AVQA 任务的平均值,用于衡量模型在不同类型的 AVQA 任务中的综合性能。

4.1.3.5 Audio-Visual Captioning (AVC)

BLEU@4, METEOR, ROUGE, CIDEr: 这四个指标用于评估模型生成的文本与真实文本之间的相似度,值越大表示模型生成的文本越接近真实文本,模型性能越好。

4.1.4 训练细节

  • 使用 8 个 A100 GPU 进行训练。
  • 使用 AdamW 优化器和 DeepSpeed 进行优化。
  • 学习率设置为 3×10−5。
  • 使用 FP16 精度进行训练和推理。

4.2 实验结果

4.2.1 音频指向图像定位 (ARIG)

  • 数据集: Openimages-AudioSet, Openimages-VGGSound, AVSBench, VGGSS, PASCAL Sound, Flickr-Soundnet。
  • 任务: 根据音频输入,预测图像中相关对象的边界框坐标。
  • 评估指标: cIoU 和 AUC。
  • 结果: Meerkat 在所有数据集上都取得了最先进的性能,相对改进高达 20.34%。

4.2.2 图像引导音频时间定位 (IGATL)

  • 数据集: Openimages-AudioSet (Strong), LLP。
  • 任务: 根据图像输入,预测音频中相关事件发生的时间段。
  • 评估指标: segment-level F1-score。
  • 结果: Meerkat 在所有数据集上都取得了最先进的性能,相对改进高达 7.18%。

4.2.3 音频-视觉事实核查 (AVFact)

  • 数据集: Openimages-AudioSet。
  • 任务: 分析和验证给定音频-视觉场景中的陈述是否正确。
  • 评估指标: Precision 和 Recall。
  • 结果: Meerkat 在所有类别上都取得了最先进的性能,相对改进高达 14.86%。

4.2.4 音频-视觉问答 (AVQA)

  • 数据集: AVQA, MusicAVQA。
  • 任务: 回答包含音频和视觉信息的复杂问题。
  • 评估指标: Existential, Localization, Temporal, Count, Comparative。
  • 结果: Meerkat 在所有类别上都取得了最先进的性能,相对改进高达 16.9%。

4.2.5 音频-视觉字幕 (AVC)

  • 数据集: VALOR-32K。
  • 任务: 根据音频-视觉输入生成文本描述。
  • 评估指标: BLEU@4, METEOR, ROUGE, CIDEr。
  • 结果: Meerkat 在所有指标上都取得了最先进的性能,相对改进高达 37.12%。

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

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

相关文章

9、Redis 高级数据结构 HyperLogLog 和事务

1. HyperLogLog 简介 HyperLogLog 是一种用于基数估计的概率数据结构。它并不是一种新的数据结构,而是 Redis 中的一种字符串类型。HyperLogLog 的主要优点是能够利用极少的内存空间完成对独立总数的统计,适用于统计大量数据的独立元素数量&#xff0c…

机器学习第四十六周周报 FMP

文章目录 week46 FMP摘要Abstract1. 题目2. Abstract3. FMP3.1 优化框架3.2 优化器 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程 5. 结论6.代码复现1. FMP2. fairGNN小结参考文献 week46 FMP 摘要 本周阅读了题为Chasing Fairness in Graphs: A GNN Architecture Per…

Mac OS系统中Beyond Compare 4破解方式

文章出处 https://blog.csdn.net/qq_42418042/article/details/137544113 前言 记录实操过程,以防以后找不到了~ 实际原理是启动时删除文件,实现无限试用 实操过程 下载安装包 官网链接 https://www.scootersoftware.com/download.php 解压、移动到应…

【Spring Cloud】微服务的简单搭建

文章目录 🍃前言🎄开发环境安装🌳服务拆分的原则🚩单一职责原则🚩服务自治🚩单向依赖 🍀搭建案例介绍🌴数据准备🎋工程搭建🚩构建父子工程🎈创建父…

leetcode每日一题-3033. 修改矩阵

题目描述: 解题思路:简单题目,思路非常直接。对列进行遍历,记录下最大值,然后再遍历一遍,把-1替换为最大值。需要注意的是进行列遍历和行遍历是不同的。 官方题解: class Solution { public:v…

行业事故---语雀

文章目录 时间线剖析心得 时间线 根据公告中关于故障的时间点梳理如下: 14:07 数据存储运维团队收到监控系统报警,定位到原因是存储在升级中因新的运维工具 bug 导致节点机器下线;14:15 联系硬件团队尝试将下线机器重新上线;15:…

网络漏洞挖掘实测报告

关于作者:个人主页 网络漏洞挖掘实测报告 一、前言 网络漏洞挖掘是信息安全领域中至关重要的一环。通过挖掘和修复漏洞,可以有效地保护系统免受潜在的攻击和破坏。本报告旨在记录一次完整的网络漏洞挖掘实测过程,包括实施方法、过程、结果以…

微软正在放弃React

最近,微软Edge团队撰写了一篇文章,介绍了微软团队如何努力提升Edge浏览器的性能。但在文中,微软对React提出了批评,并宣布他们将不再在Edge浏览器的开发中使用React。 我将详细解析他们的整篇文章内容,探讨这一决定对…

笔记:SpringBoot+Vue全栈开发2

笔记:SpringBootVue全栈开发2 1. MVVM模式2. Vue组件化开发3. 第三方组件element-ui的使用4. axios网络请求5. 前端路由VueRouter 1. MVVM模式 MVVM是Model-View-ViewModel的缩写,是一种基于前端开发的架构模式,其核心是提供对View和ViewMod…

Leetcode 77:组合

给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 未剪枝版&#xff1a; public List<List<Integer>> combine(int n, int k) {backtracking(n,k,1);System.out.println(res);return res;}public void backtracking(int n,int k,int …

【全面介绍下如何使用Zoom视频会议软件!】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

如何使用Python脚本实现SSH登录

调试IDE&#xff1a;PyCharm Python库&#xff1a;Paramiko 首先安装Paramiko包到PyCharm&#xff0c;具体步骤为&#xff1a;在打开的PyCharm工具中&#xff0c;选择顶部菜单栏中“File”下的“Settings”&#xff0c;在设置对话框中&#xff0c;选择“Project”下的“Proje…

线程安全的原因及解决方法

什么是线程安全问题 线程安全问题指的是在多线程编程环境中&#xff0c;由于多个线程共享数据或资源&#xff0c;并且这些线程对共享数据或资源的访问和操作没有正确地同步&#xff0c;导致数据的不一致、脏读、不可重复读、幻读等问题。线程安全问题的出现&#xff0c;通常是…

视频提取字幕怎么弄?5个快速获取视频字幕的方法

在忙碌而又充满活力的生活中&#xff0c;我们常常在通勤路上和午休间隙通过视频来获取信息和放松心情。 但有时候&#xff0c;我们想把视频里那些令人难忘的瞬间或关键信息保存下来&#xff0c;方便以后回顾或者分享。然而&#xff0c;手动摘录不仅费时&#xff0c;还容易漏掉…

【网络安全】实验七(ISA防火墙的规则设置)

一、实验目的 二、配置环境 打开两台虚拟机&#xff0c;并参照下图&#xff0c;搭建网络拓扑环境&#xff0c;要求两台虚拟机的IP地址要按照图中的标识进行设置&#xff0c;并根据搭建完成情况&#xff0c;勾选对应选项。注&#xff1a;此处的学号本人学号的最后两位数字&…

VRay渲染有什么技巧?渲染100邀请码1a12

渲染是视觉行业非常重要的一环&#xff0c;没有渲染就没有效果图&#xff0c;常用的渲染器有Vray&#xff0c;而Vray渲染有很多技巧&#xff0c;可以让渲染更快更省&#xff0c;下面我们总结下。 1、删除无用对象 检查场景&#xff0c;看是否有一些不需要渲染的物体和灯光&am…

时间处理的未来:Java 8全新日期与时间API完全解析

文章目录 一、改进背景二、本地日期时间三、时区日期时间四、格式化 一、改进背景 Java 8针对时间处理进行了全面的改进&#xff0c;重新设计了所有日期时间、日历及时区相关的 API。并把它们都统一放置在 java.time 包和子包下。 Java5的不足之处&#xff1a; 非线程安全&…

代码的坏味道——长参数

前言&#xff1a;一个函数的参数越少越好&#xff0c;并不是参数少或不传更优雅&#xff0c;而是有其他方案来优化长参数。一个函数的参数尽量不要超过3个&#xff0c;如果超过了这个限制&#xff0c;那么代码的坏味道就产生了。 一、整合参数 如果参数很多&#xff0c;那么第…

VueQuill 富文本编辑器技术文档快速上手

VueQuill 富文本编辑器技术文档 1. 安装 VueQuill2. 配置 VueQuill3. 在组件中使用 VueQuill4. 配置选项5. 事件处理6. 数据格式7. 自定义工具栏8. 示例项目结构9. 常见问题如何添加图片上传功能&#xff1f;如何自定义编辑器主题&#xff1f; 在此之前&#xff0c;我讲解过关于…

十一、作业

1.从大到小输出 写代码将三个整数数按从大到小输出。 void Swap(int* px, int* py) {int tmp *px;*px *py;*py tmp;} int main() {int a 0;int b 0;int c 0;scanf("%d %d %d", &a, &b, &c);int n 0;if (a<b){Swap(&a, &b);}if (a &l…