关键词:计算机听觉、音频基础模型、多模态学习、声音事件检测
声音无处不在,弥漫于我们生活的每一个角落。鸟儿向伴侣倾诉心意的歌声,浓缩咖啡机中蒸汽的嘶嘶作响,午后阳光下昆虫振翅的嗡嗡声,金属屋顶上雨滴跳跃的滴答声,还有司机因急躁而按下的愤怒喇叭声------这些都是我们日常生活中不可或缺的声音景致。这些声音携带着丰富的信息,从它们起源的状态,到所处的位置,再到对偶然路过听众的意义,无一不透露着生活的点滴。我们天生便擅长捕捉并处理这些声音信息,尽管其他感官可以有意地忽略,但声音却是无法忽视的存在。它是我们耳朵探知世界、感受持续喜悦或烦恼的关键途径。
因此,机器也必须能够聆听。这种能力可以为在现实世界中运作的人工智能代理解锁许多关键功能------尤其是当这些代理具有实体形式时。++++它还可以帮助代理定位自身并跟踪环境中的实体,即使在它们已经超出了其直接视野之后++++ 。这些能力对于广泛的应用非常有用,包括被动监控环境的物联网设备,需要密集和时间准确的意识的自动驾驶代理,或者从额外上下文中受益的智能助手。
1 概述
1.1 声景分类 (ASC)
++++日常音频分析最基本的任务是声学场景分类(ASC),旨在将整个声音场景分类到预定义的类别中。++**++**例如,将一段包含鸟鸣、人声和车辆行驶的音频片段分类为"户外"或"城市街道"。
1.1.1 数据集
常用的数据集包括 TAU Urban acoustic scenes 2019、Cochlscene 等,这些数据集包含来自不同环境的音频片段,并标注了相应的声景类别。
1.1.2 挑战与机遇
- 类别层次结构: 传统方法通常使用扁平的类别层次结构,难以处理语义相似但声学特征不同的声音类别。
- 数据标注: 数据标注工作量大,且难以覆盖所有可能的声景类别。
- 机遇: 基础模型可以学习更复杂的层次结构,并利用其强大的知识表示能力,从而更好地理解和分类声景。
1.2 声音事件分类 (SEC)
将单个声音源分类到预定义的类别中。例如,将一段包含狗叫声的音频片段分类为"狗叫声"。
1.2.1 数据集
常用的数据集包括 AudioSet strong、TUT Sound Events、DESED 等,这些数据集包含标注了声音事件类别和时间的音频片段。
1.2.2 挑战与机遇
- 类别层次结构: 与声景分类类似,声音事件分类也面临类别层次结构的问题。
- 数据标注: 数据标注工作量大,且难以覆盖所有可能的声事件类别。
- 机遇: 基础模型可以学习更复杂的层次结构,并利用其强大的知识表示能力,从而更好地理解和分类声音事件。
1.3 音频标记
将多个并发声音源分类到预定义的类别中。例如,将一段包含鸟鸣、人声和车辆行驶的音频片段标记为"鸟鸣"、"人声"和"车辆行驶"。
1.3.1 数据集
常用的数据集包括 AudioSet、FSD50k、ESC-50 等,这些数据集包含标注了声音事件类别的音频片段。
1.3.2 挑战
- 类别层次结构: 与声景分类和声音事件分类类似,音频标记也面临类别层次结构的问题。
- 数据标注: 数据标注工作量大,且难以覆盖所有可能的声事件类别。
- 机遇: 基础模型可以学习更复杂的层次结构,并利用其强大的知识表示能力,从而更好地理解和标记声音事件。
1.4 声音事件检测
识别多个声音源及其时间活动。例如,检测音频中狗叫声的开始时间和结束时间。
1.4.1 数据集
常用的数据集包括 AudioSet strong、TUT Sound Events、DESED 等,这些数据集包含标注了声音事件类别和时间信息的音频片段。
1.4.2 挑战与机遇
- 数据标注: 数据标注工作量大,且难以覆盖所有可能的声事件类别和时间信息。
- 多音源: 处理多音源环境是一个挑战,需要模型能够区分和识别不同声音源。
- 机遇: 基础模型可以学习更复杂的层次结构,并利用其强大的知识表示能力,从而更好地识别和检测声音事件。
1.5 声音状态和特征预测
预测特定声音源的状态或特征。例如,预测车辆行驶时的状态(加速、减速、匀速)或特征(新、旧、柴油、电动)。
1.5.1 数据集
常用的数据集包括 MAVD、RWCP 等,这些数据集包含标注了声音源状态或特征的音频片段。
1.5.2 挑战与机遇
- 数据标注: 数据标注工作量大,且难以覆盖所有可能的声源状态和特征。
- 主观性: 声源状态和特征的标注具有主观性,不同的人可能会有不同的标注结果。
- 机遇: 基础模型可以学习更复杂的层次结构,并利用其强大的知识表示能力,从而更好地预测声音源的状态和特征。
1.6 音频描述
生成描述音频场景和声音源的完整句子。例如,描述一段包含狗叫声、人声和车辆行驶的音频片段为"一只狗在叫声,一个人在说话,一辆车在行驶"。
1.6.1数据集
常用的数据集包括 Clotho、AudioCaps 等,这些数据集包含人类标注的音频描述。
1.6.2 挑战与机遇
- 描述多样性: 音频描述可以有很多种方式,不同的人可能会有不同的描述。
- 数据标注: 数据标注工作量大,且难以覆盖所有可能的音频描述。
- 机遇: 基础模型可以学习更复杂的层次结构,并利用其强大的知识表示能力,从而生成更丰富和更准确的音频描述。
1.7 音频问答
回答与音频文件相关的自然语言问题。例如,回答"这段音频是什么声音?"或"这段音频中发生了什么?"。
1.7.1 数据集
常用的数据集包括 ClothoAQA、OpenAQA 等,这些数据集包含人类标注的音频描述和问题/答案对。
1.7.2 挑战
- 问题多样性: 音频问答可以有很多种类型的问题,不同的问题需要不同的答案。
- 数据标注: 数据标注工作量大,且难以覆盖所有可能的音频问答问题。
- 机遇: 基础模型可以学习更复杂的层次结构,并利用其强大的知识表示能力,从而更好地回答音频问答问题。
2 传统训练方法
2.1 监督分类
传统上,声音事件或声学场景分类的典型方法是使用直接的监督训练 ,现在通常是深度神经网络(DNN),使用音频及其相应的注释示例进行训练,以学习将呈现给它的声学信息(以声学特征的形式)与要识别的目标类别之间的映射。
2.1.1 基本原理
- 使用已标记的音频数据和对应的标签来训练机器学习模型。
- 模型学习将音频特征映射到目标类别。
- 通过特征提取和分类器等模块进行训练。
- 常用的特征提取方法包括短时傅里叶变换 (STFT) 和梅尔频率倒谱系数 (MFCC)。
2.1.2 优缺点
2.1.2.1 优点
- 方法简单易懂,易于实现。
- 模型性能稳定,可预测性强。
- 适用于数据量充足的情况。
2.1.2.2 缺点
- 需要大量标记数据,成本高。
- 模型泛化能力有限,难以应对新任务。
- 无法利用其他领域的知识。
2.2 迁移学习
近年来,一种更常见的方法依赖于迁移学习,即在一个与任务相关的大量数据上训练网络,并用下游任务数据对其进行微调,后者通常规模较小。这种方法涉及在一个特定的上游任务上训练模型,例如音频标记,对于该任务有大量的数据集可用,然后在特定的下游任务上进一步训练模型。这个过程,称为微调,通过利用之前学习的权重,使模型能够适应新任务,并因此利用了在初始训练阶段识别相关特征的能力。
2.2.1 基本原理
- 使用在相关任务上训练的大型模型(如 PANNs 或 WAV2VEC2.0)。
- 在目标任务上微调模型,以适应特定任务。
- 利用预训练模型学习到的通用特征,提高模型性能。
2.2.2 优缺点
2.2.2.1 优点
- 利用预训练模型的知识,提高模型泛化能力。
- 减少标记数据需求,降低成本。
- 可以利用其他领域的知识。
2.2.2.2 缺点
- 预训练模型可能存在偏差,影响模型性能。
- 微调过程可能需要大量计算资源。
- 难以适应与预训练任务差异较大的新任务。
3 音频基础模型
++++音频基础模型基于标准的深度学习和迁移学习,但它们的规模导致了新的涌现能力,它们在如此多任务上的有效性激励了同质化。++++
音频基础模型的两种主要 方式
3.1 基本组成
3.1.1 音频编码器(Audio Encoder)
负责将原始音频波形转换成一系列特征表示或"嵌入"(embeddings),这些嵌入能够捕捉音频信号的重要特征。
3.1.2 文本编码器(Text Encoder)
如果模型需要处理语言信息,文本编码器将文本转换为模型可以理解的嵌入形式。
3.1.3 预训练语言模型(Pretrained Language Model, LLM)
一个大型的语言模型,通常在大量文本数据上进行预训练,能够理解和生成自然语言文本。
3.1.4 自监督学习任务(Self-Supervised Learning Tasks)
在预训练阶段,模型通过执行如预测掩码部分(masked parts)的任务来学习音频和文本数据的表示。
3.1.5 接口或适配器(Interface or Adapters)
允许不同组件之间进行有效的信息交换,例如将音频嵌入映射到与文本嵌入相同的空间,以便语言模型可以处理。
3.1.6 融合方法(Fusion Methods)
决定了如何将音频和文本信息结合在一起,可以是早期融合(在输入阶段结合信息)或深度融合(在模型的中间层结合信息)。
3.1.7 微调数据集(Finetuning Dataset)
用于微调预训练模型,使其适应特定的下游任务,如声音事件检测或音频字幕生成。
3.1.8 输出解码器(Output Decoder)
将模型的内部表示转换为最终输出,例如将嵌入转换回文本或生成音频描述。
3.1.9 提示(Prompts)
用于指导模型执行特定任务的语言提示,可以是简单的问题或更复杂的指令。
3.1.10 评估机制(Evaluation Mechanisms)
用于衡量模型性能的标准和工具,包括准确性、适当性和其他与任务相关的指标。
3.1.11 多模态能力(Multimodal Capabilities)
如果模型设计为处理多种类型的输入(如音频和视觉数据),则需要具备将这些不同模态的信息整合在一起的能力。
3.1.12 检索增强(Retrieval-Augmented Generation)
结合外部知识库来增强模型的生成能力,特别是在处理特定领域或高度专业化的查询时。
检索增强生成(Retrieval-Augmented Generation, RAG)的工作原理
3.1.13 指令微调(Instruction Finetuning)
使用特定的指令对模型进行微调,使其能够按照给定的格式或风格生成输出。
3.2 核心优势
3.2.1 通用性
AFMs 通常基于大型语言模型(LLMs),如 GPT-3 或 LLaMA,它们在预训练阶段学习了大量的文本数据,因此具备丰富的语言知识和推理能力。通过将音频信息转换为文本 token,AFMs 可以利用这些知识来理解和描述音频内容。
3.2.2 多任务能力
AFMs 可以通过指令微调(Instruction Fine-tuning)来适应不同的音频分析任务,例如:
声场景分类(ASC):将整个声音场景分类到预定义的类别中,例如"室内"、"户外"、"交通"等。
- 声音事件检测(SED):识别和标记音频中的单个声音事件,并可选地提供它们的时间信息。
- 声音状态和特征预测:识别声音源的特征,例如"汽车加速"、"门关闭"等。
- 音频字幕生成:生成描述音频内容的文本字幕,例如"一只狗在门口叫"。
- 音频问答:根据音频内容回答与声音相关的自然语言问题,例如"这是音乐吗?"
- 空间定位和跟踪:估计声音源的位置和时间变化。
- 环境参数估计:估计空间的物理参数,例如房间大小或回声时间。
3.2.3 易于交互
AFMs 可以通过自然语言指令与用户进行交互,这使得它们更加易于使用和理解。
3.2.4 迁移学习
AFMs 可以利用在预训练阶段学习到的知识来适应新的任务,即使数据量有限也可以取得不错的效果。
3.3 现有音频模型
|----------------|----------------------------------------------|-------------------------------------------|--------------|---------------------------|----------------|
| 模型名称 | 模块 | 使用的数据 | 融合类型 | 能力 | 是否公开可用 |
| Pengi | 音频编码器: CLAP, 文本编码器: CLAP 前缀层: 使用音频和文本 | AudioSet, FSD50K, CochlScene, 等 | 早期 | 音频字幕生成,音频问题回答,声音事件分类等 | 是 |
| APT-LLM | 音频编码器: Audio-MAE 声学适配器: APT LLM | AudioSet, Wavcaps, AudioCaps, 等 | 早期 | 音频标记,声音事件分类,自然语言-音频推理等 | 是 |
| LTU | 音频编码器: AST LoRA适配器LLM: LLaMA-7b | OpenAQA | 早期 | 音频标记,音频字幕生成,音频推理等 | 是 |
| LTU-AS | 音频编码器: Whisper TLTR 投影层LoRA适配器: LLM | Open-ASQA | 早期 | 音频字幕生成,声音事件分类,音频问题回答等 | 是 |
| QWEN-Audio | 音频编码器: Whisper-L-v2, LLM: Qwen | CoVOST 2, Macaw-LLM 指令数据集, 等 | 早期 | 音频字幕生成,声音事件分类,声学场景分类等 | 是 |
| Salmonn | 音频编码器: Whisper, BEATs, Q-Former LoRA适配器: LLM | LibriSpeech, GigaSpeech M-set, WavCaps, 等 | 早期 | 音频字幕生成,语音识别,语音情绪识别等 | 是 |
| BAT | 音频编码器: Spatial-ASL, 投影层LLM: LLaMA2 | SpatialSoundQA | 早期 | 声音事件分类,声音事件检测和空间定位,音频问题回答 | 是 |
| Audio Flamingo | 音频编码器: CLAP 投影层LLM: opt-iml-max-1.3b | WavCaps, Macs, SoundDescs, 等 | 早期 | 深度音频字幕生成,声音事件分类,音频问题回答 | 是 |
| UniAudio 1.5 | 音频编码器: LLM-Codec LLM: LLaMA2-7b | MLS, AudioCaps | 早期 | 声音事件分类,语音情绪分类,文本到语音生成等 | 是 |
| Gemini 1.5 Pro | N/A | N/A | N/A | 音频相关* | 否 |
| GPT-4o9 | N/A | N/A | N/A | 音频相关* | 否 |
| LauraGPT | 基于Encodec的音频编码器LLM: Qwen | AISHELL-1, AISHELL-2, WenetSpeech, 等 | 早期 | 自动语音识别,口语理解,语音到文本翻译等 | 是 |
4 未来展望
4.1 大规模基准测试
- 建立通用音频分析基准: 目前缺乏一个用于比较不同音频基础模型性能的通用基准,这限制了模型的比较和评估。未来需要建立一个涵盖不同任务、数据集和模型架构的基准,以促进模型的可比性和透明度。
- 避免数据泄漏: 避免使用训练和测试数据集之间共享数据源的情况,例如使用 AudioSet 衍生的数据集来评估基于 AudioSet 训练的模型,以防止数据泄露。
- 考虑多音源环境: 实际环境中的声音场景通常包含多个声音源,需要考虑多音源环境下的模型性能。
4.2 音频生成
- 利用基础模型的生成能力: 基础模型不仅可以理解音频,还可以生成音频。这可以用于创建逼真的声音效果、生成音乐、甚至进行语音合成。
- 音源化解释: 利用基础模型的音频生成能力,可以提供音源化解释,例如用声音来解释图像或文本,增强人工智能系统的可解释性和可信度。
4.3 多模态融合
- 视觉-语音-语言模型融合: 将视觉、语音和语言模型融合,可以创建能够处理更复杂任务的多模态模型,例如图像描述、视觉问答和图像生成。
- 音频-语言模型融合: 将音频和语言模型融合,可以创建能够更好地理解音频内容的多模态模型,例如更准确的音频分类、音频描述和音频问答。
4.4 超越人类评估
未来基础模型可能能够识别人类无法听到的声音,例如超声波或次声波。需要开发新的评估方法来衡量这些模型的能力,例如通过监测动物或使用外部传感器。
5 常用数据集列表定性观察
|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 数据集 | 评论 |
| AudioSet | AudioSet是一个大型(约200万实例)的音频(视觉)数据集,收集自YouTube。原始用户标签已由人工评估者根据527个类别的层次化本体论进行验证。每个实例对应一个10秒的剪辑,平均有2.7个标签,显示出低度的多声源性。请注意,原始数据集包括原始视频的ID,而不是视频本身;鉴于平台不断有内容被移除,AudioSet数据集的大小一直在持续缩小。此外,不同的组可能根据下载日期拥有稍有不同的数据集版本。数据集还部分存在缺失标签的问题。 |
| AudioSet-SL | 这是AudioSet数据集的一个较小子集(67k实例),已进一步在帧级别上对剪辑中出现的所有事件进行了注释。 |
| Freesound | Freesound是一个在线声音存储库,用户可以上传带有多个标签和简短描述的音频录音。目前拥有超过60万个短剪辑。录音倾向于集中在单一声源上(没有或最小限度地存在其他声源)。 |
| FSD50K | FSD50K是从Freesound中选出的一个小规模(约51k实例)剪辑集合,已根据AudioSet本体论的一个子集(200个类别)由人工评估者进行了弱注释。 |
| CochlScene | CochlScene是一个通过韩国的智能手机用户众包收集的数据集。用户被要求使用他们的手机提交符合一小套标签的数据。他们还被要求验证其他用户收集的数据。 |
| AudioCaps | AudioCaps包含一个较小的AudioSet子集(约46k),具有人工生成的字幕。注释者在字幕过程中有原始AudioSet类别的单词提示,并且在不确定音频内容时可以访问视频流。 |
| Clotho | Clotho包含来自Freesound的约5k实例的字幕。在注释过程中,评估者没有得到任何提示。 |
| ClothoAQA | ClothoAQA是Clotho的一个子集(约2k实例),包含问题-答案对。它只包含是/否和单词答案的问题。问题是人为注释者在一个三阶段过程中制定的;后续阶段的评估者可以访问前一阶段的问题,并被指示制定不同的问题。每个问题由与提出问题不同的注释者回答。 |
| WavText5K | WavText5K是一个小规模数据集,包含来自两个在线存储库的音频剪辑,这些存储库提供了许可的音效。剪辑由原始上传者进行注释。这些存储库针对"音效"专家市场,因此可能包含使用高质量麦克风收集的典型声音,干扰或多声源性很小。 |
| SoundDescs | SoundDescs与WavText5K类似,但来自不同的非商业许可源。 |
| MACS | MACS是一个小型的音频场景分类子集,包含人工注释的字幕。由于原始重点是记录自然声音景观,它的多声源性比其他字幕数据集要高。仅使用了三种基本的声音景观类别。原始音频是使用一小套录音设备收集的,录音位于几个欧洲城市中的众多位置。 |
| WavCaps | WavCaps是一个大规模(约40万)自动字幕数据集。字幕是使用ChatGPT(基于GPT-3的一个版本)生成的,以重新制定数据集来源中的原始标签或描述。 |
| NLAR | 在预先筛选ClothoAQA的原始注释以去除错误注释后,作者使用ChatGPT总结每个字幕的声学特征。随后,他们使用ChatGPT创建与原始音频及其预处理字幕相关的问题对。 |
| OpenAQA | OpenAQA是一个大型开放式问答数据集。数据集来自多个领域,字幕是使用ChatGPT从原始标签/字幕/描述自动生成的。 |
| SpatialSoundQA | 从AudioSet获取的原始音频是使用SoundSpaces 2.0模拟器[108]进行渲染的,房间脉冲响应(RIR)来自90个扫描建筑。问题是通过模板创建的,然后用GPT4重新表述。 |
| LAION-630k | 该数据集是从其来源通过聚合音频剪辑及其随附的------上传者定义的------描述派生而来。 |
| NonSpeech7K | NonSpeech7k是一个人类非语言声音(例如咳嗽)的精选集,已经过人工验证并在帧级别上进行了强注释。 |
| Chime-Home | Chime-Home是一个小数据集,使用单个设备在单个环境中收集。录音被分割成不重叠的4秒块,然后由人工评估者对多个声音事件进行注释。 |
| Sonyc-UST | Sonyc-UST是一个小规模的人工注释标签数据集。数据是从美国纽约市的多个位置使用相同的录音设备录制的。 |