当前位置: 首页 > news >正文

CLAP文本-音频基础模型: LEARNING AUDIO CONCEPTS FROM NATURAL LANGUAGE SUPERVISION

一、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.lryc.cn/news/601475.html

相关文章:

  • PDF文件被加密限制怎么办?专业级解除方案分享
  • 51核和ARM核单片机OTA实战解析(一)
  • 一分钟部署一个导航网站
  • MCU 通用AT指令处理框架
  • PDF转图片实用指南:如何批量高效转换?
  • 创建的springboot工程java文件夹下还是文件夹而不是包
  • 内网服务器实现从公网穿透
  • 单片机ADC采集机理层面详细分析(二)
  • 零基础学习性能测试第五章:JVM性能分析与调优-多线程检测与瓶颈分析
  • 【C语言网络编程基础】TCP 服务器详解
  • Rust与Java DynamoDB、MySQL CRM、tokio-pg、SVM、Custors实战指南
  • 墨者:通过手动解决SQL手工注入漏洞测试(MySQL数据库)
  • Wireshark TS | 发送数据超出接收窗口
  • 双面15.6寸智能访客机硬件规格书及对接第三方接口说明
  • 力扣 hot100 Day57
  • 数据江湖的“三国演义”:数据仓库、数据湖与湖仓一体的全景对比
  • 区块链:工作量证明与联邦学习
  • 神经网络知识讨论
  • 【旧文】Adobe Express使用教程
  • 7月27日星期日今日早报简报微语报早读
  • 数据赋能(340)——技术平台——共享平台
  • Spring之【Bean的生命周期】
  • 视频转GIF工具,一键批量制作高清动图
  • GIt学习——分布式版本控制工具
  • Triton IR
  • Python折线图
  • Java面试新趋势:云原生与新兴框架实战解析
  • 零基础学习性能测试第五章:Tomcat的性能分析与调优-Tomcat原理,核心配置项,性能瓶颈分析,调优
  • MySQL ROUTER安装部署
  • Java面试实战:安全框架与大数据技术深度解析