一、TL;DR

  1. 现在的做法有什么问题?主流范式是 “一个类别标签对应多个录音”,需要提前标注+预测预先定义的类别,只能做闭集理解,失去灵活性 
  2. 我们怎么做?通过两个编码器和对比学习机制建立语言与音频的关联,将音频和文本描述映射到一个联合的多模态空间进行对齐
  3. 做得怎么样?12.8 万对音频 - 文本训练,在8 个领域的 16 项下游任务中评估,即使训练数据小于CV模型,Zero-Shot上达到了SoTA。finetune后在5项评估任务中也是SOTA
  4. 能做什么?消除了对类别标签训练的依赖,在推理时灵活预测类别,并能泛化到多个下游任务
  5. 对应的链接:
    1. paper:https://arxiv.org/pdf/2206.04769v1
    2. code:https://github.com/LAION-AI/CLAP

    3.  code:https://github.com/microsoft/CLAP

二、方法

CLAP 的结构如图 1 所示:

  1. 输入为音频和文本对,分别传入音频编码器和文本编码器。两种表示通过线性投影映射到联合多模态空间中,
  2. 该空间通过batch中音频 - 文本对的(不)相似性,利用对比学习进行学习。
  3. 预训练的编码器及其MLP层可用于计算音频和文本embedding,从而实现zero-shot分类。

2.1 对比语言 - 音频预训练

2.1.1 特征提取

2.1.2 线性变化

2.1.3 计算相似性

2.2 zero-shot线性分类

对于零样本分类,利用 CLAP 判断音频与文本相似性的能力。考虑一个包含C个类别标签和N个测试音频的目标数据集:

  1. 首先,使用预训练的编码器及其投影层,计算N个音频的音频嵌入和C个类别的文本嵌入;
  2. 由于两种嵌入处于同一空间,计算每个测试音频与所有类别标签的余弦相似度,每个音频将获得与类别标签数量相同的 logits;
  3. 对 logits 应用 softmax 函数(适用于二分类或多分类任务)或 sigmoid 函数(适用于多标签分类任务),将其转换为概率分布。

三、Experiments

3.1 数据集

训练数据:从4 个数据集中选取了12.8万对音频 - 文本数据对构建 CLAP 的训练集,具体包括:

  1. 从 FSD50k 中提取 36,796 对,从 ClothoV2  中提取 29,646 对,从 AudioCaps 中提取 44,292 对,从 MACS中提取 17,276 对。数据集详细信息见附录 A 和表 4。

下游任务:我们选取了 8 个领域的 16 个数据集作为下游任务,包括:

  • 5 项声音事件分类任务;
  • 5 项音乐相关任务(音乐与语音分类、音乐流派分类、音乐节拍与调性分类等);
  • 1 项声学场景分类任务;
  • 4 项语音相关任务(情感识别、关键词识别、人声分类(如咳嗽、喷嚏、笑声等));
  • 1 项说话人计数任务(统计录音中 0-10 人的说话人数)。

数据集信息见表 1,详细说明见附录 B 和表 5。

3.2 实验设置

预处理:音频采用对数梅尔频谱表示,采样率为 44.1 kHz,跳步大小为 320 秒,窗口大小为 1024 秒,梅尔 bins 数量为 64,频率范围为 50-8000 Hz。训练时,每个音频片段随机截断为 5 秒的连续片段,若长度不足则进行填充。文本描述未做修改,训练时音频 - 文本对按批次随机采样。

编码器

  • 音频编码器选用 CNN14 ,以便与现有最优模型公平对比。该模型含 8080 万参数,嵌入维度为 2048,已在 AudioSet 的 200 万音频片段上预训练。
  • 文本编码器选用 BERT,采用 HuggingFace实现的 BERT-base-uncased 版本,含 1.1 亿参数。为提高计算效率,文本序列最大长度限制为 100 字符,取 BERT 最后一层的 [CLS] token 作为文本嵌入(维度 768)。

音频嵌入和文本嵌入通过两个可学习的投影矩阵映射到维度为 1024 的多模态空间中。温度参数 τ 为可学习参数,初始值设为 0.007;为避免训练不稳定,经 τ 缩放后的 logits 最大值被限制为 100。

微调时候固定text/audio encoder参数对表现的影响:

3.3 CLAP 的评估设置

零样本评估:验证 CLAP 对未见过的类别和音频的泛化能力,具体设置见 2.2 节。评估时不直接使用类别标签,而是构建自然语言提示模板:“This is a sound of [class label]”。除 3 个任务外,所有领域均使用统一模板:

  • 情感识别任务使用:“this person is feeling [class label]”;
  • 关键词识别任务直接使用关键词作为文本;
  • 说话人计数任务使用:“[number between 0-10] persons speaking”。

有监督特征提取评估:验证 CLAP 学习的音频表示质量。针对下游任务,将 CLAP 作为特征提取器,后续接 1 层或 3 层全连接分类器(分别记为 Freeze L1 和 Freeze L3),参考 [23] 的设置。训练采用 Adam 优化器,学习率 10⁻³,训练 30 个 epoch。受计算资源限制,未进行超参数网格搜索。

有监督微调评估:对比 CLAP 与文献中各任务的最优性能。针对下游任务,解冻音频编码器并与附加的 1 层或 3 层全连接分类器共同微调,优化器为 Adam,学习率 10⁻⁴,训练 30 个 epoch。受计算资源限制,未进行超参数网格搜索。

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

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

相关文章

Flink2.0学习笔记:Stream API 常用转换算子

EC0720/FLINKTASK-TEST-STREAM/demo at master stevensu1/EC0720 先看测试效果:控制台 测试效果:监控服务端 主要的转换算子包括: 转换算子 filter:过滤包含“Flink”的输入 转换算子 map: 将每行数据前添加“Processed: ”并转为大写 转…

一、Python环境、Jupyter与Pycharm

安装Python由于RAG项目中所需要的Python版本必须高于3.8,经过筛选,最终选择了3.10.11这个版本py --version Python 3.10.11安装过程略过,但对于几个基础的命令作个笔记记录where python找到python启动器的位置D:\>where python C:\Users\x…

Flink CEP 动态模板与规则动态修改实践完全手册

1. Flink CEP:从静态规则到动态江湖 Flink 的复杂事件处理(CEP)库就像一个武功高强的侠客,能从数据流中精准捕获特定模式,堪称流处理界的“降龙十八掌”。但问题来了:传统 CEP 规则通常是写死在代码里的,就像刻在石碑上的武功秘籍,改起来费劲不说,还得重启应用,简直…

vue3.2 + echarts5.6 + ant-design-vue 3.x 实现自定义 echarts 图例

文章目录概要技术细节效果概要 需求需要实现图例移入显示描述说明 故实现自定义图例 技术细节 <template><div class"custom-legend"><divv-for"item in legends":key"item.name"class"legend-item":class"{ i…

【2025年7月25日】TrollStore巨魔商店恢复在线安装

就在今日7月25日&#xff0c;TrollStore的在线安装功能再次变得可用&#xff0c;这对于许多iPhone用户来说无疑是个喜讯。在经历了近三个月的中断后&#xff0c;巨魔商店的企业证书意外的到来了&#xff0c;使得用户能够重新采用在线安装的方式&#xff01; 在线安装地址在文…

【05】C#入门到精通——C# 面向对象、类、静态变量static、类与类之间的调用

文章目录1 引入例子2 创建类2.1 类的访问属性2.2 英雄 特点类2.3 英雄信息打印3 静态变量static4 类 调用 类4.1 非静态 成员函数4.2 静态 成员函数1 引入例子 比如游戏中 描述英雄的角色&#xff0c; 我们可以像下面这样&#xff0c;给每一个英雄特点及拥有技能分别定义变量…

单片机的硬件结构

单片机的硬件结构 一、课程导入 在上一节课《认识单片机》中&#xff0c;我们知道单片机就像一个超级迷你的工厂&#xff0c;有着类似工厂的各个组成部分。而这个 “迷你工厂” 能正常运转&#xff0c;离不开其内部严谨的硬件结构。就像一座大厦&#xff0c;只有基础结构稳固且…

multiprocessing模块使用方法(二)

spawn_main是Python multiprocessing模块的核心内部函数&#xff0c;用于实现spawn启动方法的子进程初始化。以下结合代码Demo详细说明其使用方法和推荐场景。一、spawn_main的功能与定位核心作用&#xff1a; 在spawn模式下启动子进程&#xff0c;负责进程间通信管道的建立和资…

编程与数学 03-002 计算机网络 07_路由算法

编程与数学 03-002 计算机网络 07_路由算法一、静态路由算法&#xff08;一&#xff09;手工配置路由表的方法&#xff08;二&#xff09;静态路由的优缺点二、动态路由算法原理&#xff08;一&#xff09;距离矢量算法&#xff08;如贝尔曼 - 福特算法&#xff09;&#xff08…

使用Python,OpenCV计算跑图的图像彩色度

使用Python&#xff0c;OpenCV计算跑图的图像彩色度 这篇博客将介绍如何计算跑图里最鲜艳的top25图片和最灰暗的top25图片并显示色彩彩色度值展示。 效果图 以下分别是最鲜艳top25和最灰暗top25对比效果图&#xff1a; 最鲜艳top25效果图&#xff1a; 最灰暗top25效果图…

LeetCode 60:排列序列

LeetCode 60&#xff1a;排列序列问题定义与核心挑战 给定整数 n 和 k&#xff0c;返回集合 {1,2,...,n} 的第 k 个字典序排列。直接生成所有排列再遍历到第 k 个的方法&#xff08;时间复杂度 O(n!)&#xff09;会因 n≥10 时阶乘爆炸而超时&#xff0c;因此需要 数学推导 贪…

亚远景-传统功能安全VS AI安全:ISO 8800填补的标准空白与实施难点

一、为什么需要ISO 8800&#xff1a;传统安全标准的“盲区”传统功能安全&#xff08;ISO 26262&#xff09;• 假设&#xff1a;系统行为可被完整规格化&#xff0c;失效模式可枚举&#xff0c;风险可用概率-危害矩阵量化。• 盲区&#xff1a;对“设计意图正确&#xff0c;但…

菜鸟教程 R语言基础运算 注释 和数据类型

菜鸟教程 R语言基础运算 注释 和数据类型 1.注释 注释主要用于一段代码的解析&#xff0c;可以让阅读者更易理解&#xff0c;编程语言的注释会被编译器忽略掉&#xff0c;且不会影响代码的执行。 一般编程语言的注释分为单行注释与多行注释&#xff0c;但是 R 语言只支持单行注…

华为云ELB(弹性负载均衡)持续报异常

华为云ELB&#xff08;弹性负载均衡&#xff09;持续报异常&#xff0c;需结合实例类型&#xff08;共享型/独享型&#xff09;和异常代码进行针对性排查。以下是分步排查建议&#xff1a;一、根据实例类型排查网络配置共享型实例 安全组规则&#xff1a;检查后端服务器安全组是…

《R for Data Science (2e)》免费中文翻译 (第2章) --- Workflow: basics

写在前面 本系列推文为《R for Data Science (2)》的中文翻译版本。所有内容都通过开源免费的方式上传至Github&#xff0c;欢迎大家参与贡献&#xff0c;详细信息见&#xff1a; Books-zh-cn 项目介绍&#xff1a; Books-zh-cn&#xff1a;开源免费的中文书籍社区 r4ds-zh-cn …

开源深度学习新宠:Burn框架助您无忧高效建模

在日新月异的人工智能世界里&#xff0c;各类深度学习框架如雨后春笋般涌现&#xff0c;而Burn&#xff0c;作为新一代的深度学习框架&#xff0c;以其不妥协的灵活性、高效性和可移植性崭露头角。本文将深入探讨Burn的核心功能、应用场景及具体使用方法&#xff0c;帮助您更好…

基于深度学习的图像分割:使用DeepLabv3实现高效分割

前言 图像分割是计算机视觉领域中的一个重要任务&#xff0c;其目标是将图像中的每个像素分配到不同的类别中。近年来&#xff0c;深度学习技术&#xff0c;尤其是卷积神经网络&#xff08;CNN&#xff09;&#xff0c;在图像分割任务中取得了显著的进展。DeepLabv3是一种高效的…

如何高效合并音视频文件(时间短消耗资源少)(二)

英语字幕 1 00:00:06,480 --> 00:00:08,400 Good morning. We have a banger for you2 00:00:08,400 --> 00:00:09,840 today. We&amp;#39;re going to launch chatbt3 00:00:09,840 --> 00:00:11,519 agent. But before jumping into that, I&amp;#39;d4 00…

内网后渗透攻击过程(实验环境)--4、权限维持(2)

用途限制声明&#xff0c;本文仅用于网络安全技术研究、教育与知识分享。文中涉及的渗透测试方法与工具&#xff0c;严禁用于未经授权的网络攻击、数据窃取或任何违法活动。任何因不当使用本文内容导致的法律后果&#xff0c;作者及发布平台不承担任何责任。渗透测试涉及复杂技…

CentOS 9 配置国内 YUM 源

1.备份 sudo mv /etc/yum.repos.d/centos.repo /etc/yum.repos.d/centos.repo.backup sudo mv /etc/yum.repos.d/centos-addons.repo /etc/yum.repos.d/centos-addons.repo.backup2.创建新文件 vi /etc/yum.repos.d/centos.repo[baseos] nameCentOS Stream $releasever - BaseO…