0


Audio Spectrogram Transformer (AST)工作介绍

    Audio Spectrogram Transformer (AST),是一种基于 Transformer 模型的音频分类方法。AST 利用了 Transformer 模型在捕获全局特征方面的优势,将音频信号转换为频谱图进行处理。下面是对 AST 及其相关研究工作的详细介绍:

1.研究背景

   传统的音频分类方法通常依赖于卷积神经网络(CNN)。虽然 CNN 在处理局部特征方面表现出色,但在捕获长距离依赖和全局特征方面存在一定的局限性。Transformer 模型最初在自然语言处理(NLP)领域取得了巨大的成功,其自注意力机制能够有效捕获长距离依赖和全局特征。Yuan Gong 及其团队基于这一特点,提出了 AST,以改进音频分类任务的性能。

2.模型架构

2.1 AST 的模型架构主要包括以下几个部分:
  1. 音频预处理: 将原始音频信号转换为频谱图。常用的方法是短时傅里叶变换(STFT),将时间域信号转换为二维的时间-频率表示(频谱图)。
  2. Patch Embedding: 将频谱图划分为固定大小的非重叠图像块(patch)。每个块展平成一个向量,然后通过一个线性层映射到固定维度的向量空间。这些向量将作为 Transformer 的输入。
  3. Transformer 编码器: 将所有块的向量表示加上位置编码(因为 Transformer 本身没有顺序信息),然后输入到 Transformer 编码器中。编码器由多层自注意力机制和前馈神经网络组成,用于捕获全局和局部特征。
  4. 分类头: Transformer 编码器的输出经过一个分类头(通常是一个全连接层)进行分类任务,如音频事件检测或声学场景分类。

2.2 ASTModel的主要组件和工作原理:
  1. 输入处理:ASTModel的输入是音频频谱图。首先,将输入的音频波形转换为序列化的log Mel filterbank(fbank)特征,这些特征是通过使用25ms的Hamming窗口,每10ms计算一次得到的。这样可以得到一个大小为128×100t的频谱图,其中t是音频的长度(以秒为单位)。
  2. Patch分割:将频谱图分割成一系列16×16的patches,这些patches在时间和频率维度上有一定的重叠。每个patch通过线性投影层被展平为一个768维的一维嵌入向量。
  3. 位置编码:由于Transformer架构本身不捕获输入的顺序信息,ASTModel为每个patch嵌入添加了一个可训练的位置编码,以使模型能够捕获二维音频频谱图的空间结构信息。此外,序列的开始位置会添加一个特殊的[CLS]标记。
  4. Transformer编码器:ASTModel仅使用Transformer的编码器部分来处理分类任务。编码器由多个层组成,每层都包含自注意力机制和前馈网络。ASTModel使用的Transformer编码器的嵌入维度为768,包含12层,12个头,这与Vision Transformer (ViT)中的设置相似。
  5. 分类:Transformer编码器的输出,特别是[CLS]标记的输出,被用作音频频谱图的表示。然后,这个表示通过一个带有sigmoid激活函数的线性层映射到用于分类的标签。
  6. 预训练:ASTModel支持使用在ImageNet上预训练的Vision Transformer (ViT)的知识进行迁移学习,这可以显著提高模型的性能。此外,ASTModel还支持在AudioSet上进行预训练,以进一步提高其在特定音频分类任务上的性能。
  7. 模型优势:ASTModel的主要优势包括卓越的性能、支持可变长度输入、更简单的架构、更少的参数量以及在训练过程中更快的收敛速度。它是第一个纯粹基于注意力的音频分类模型。

ASTModel通过这些组件和流程,能够处理不同长度和内容的音频输入,实现在多个音频分类任务上的最佳性能。

2.3 ASTModel与ViT

ASTModel中的

v

组件,很可能是指模型的视觉部分,它借鉴了Vision Transformer (ViT)的结构。在ViT中,模型的输入是图像,而ASTModel的输入是音频频谱图。以下是ASTModel中

v

组件可能包含的与ViT相关的主要结构:

  1. Patch Embedding层:在ViT中,输入图像首先被分割成固定大小的patches,每个patch被展平并通过一个线性层(通常是卷积层)映射到一个特征向量。在ASTModel中,相应的步骤可能是将频谱图分割成patches,并将每个patch映射到一个高维特征空间。这一步骤在ViT中对应于将图像划分为小块并进行线性投影的部分 。
  2. 位置编码:ViT会在每个patch的特征向量中添加位置编码,以保留patch在原始图像中的空间位置信息。ASTModel同样需要位置编码来表示频谱图中patches的时间和频率位置信息 。
  3. Transformer编码器层:ViT使用一系列Transformer编码器层来处理经过patch embedding和位置编码的特征向量。每个编码器层包含多头自注意力机制和前馈神经网络。ASTModel也使用Transformer编码器来处理音频特征 。
  4. MLP Head:在ViT中,经过Transformer编码器处理的特征向量会通过一个多层感知机(MLP)头部进行分类。ASTModel可能也有类似的结构来处理音频分类任务。
  5. 预训练权重的使用:ASTModel可以利用在ImageNet上预训练的ViT模型的权重。这意味着ASTModel的v组件在初始化时,可以使用这些预训练的权重,从而在新任务上更快地收敛并提高性能 。
  6. 模型大小:ViT定义了不同大小的模型,如Base、Large和Huge,对应不同的模型参数和计算量。ASTModel也有不同的模型大小选项,如tiny224、small224、base224、base384等,这影响了模型的参数量和感受野 。
  7. 适应不同输入长度:ASTModel提出了一种方法来适应不同长度的音频输入,类似于ViT在处理不同尺寸图像时的策略。这可能涉及到对位置编码的裁剪和双线性插值 。

综上所述,ASTModel的

v

组件在结构上与ViT有许多相似之处,但它们处理的输入数据类型不同,一个是图像,另一个是音频频谱图。通过借鉴ViT的结构,ASTModel能够利用预训练模型的强大特征提取能力来处理音频任务。

3. 参数量大小

    AST模型是基于Transformer架构的音频处理模型,它通过将音频频谱图分割成小块(patches),然后利用Transformer的自注意力机制来处理这些块,从而实现对音频信号的分析和分类。

   在参数量方面,AST模型的参数量大小取决于其架构和配置。根据搜索结果,AST模型有不同大小的版本,例如tiny224、small224、base224、base384等,这些不同的版本对应不同的模型参数和计算量。例如,使用DeiT预训练模型,输入数据大小为384x384,参数大小为**87M**,在ImageNet 2012上实现了85.2%的top-1准确率。这表明AST模型的参数量可以根据特定的应用需求和资源限制进行调整。

    AST模型的一个关键特点是它可以利用在ImageNet上预训练的Vision Transformer (ViT)模型的权重,这意味着AST模型的参数可以在初始化时使用这些预训练的权重,从而在新任务上更快地收敛并提高性能。

   此外,AST模型还具有适应不同输入长度的能力,类似于ViT在处理不同尺寸图像时的策略。这可能涉及到对位置编码的裁剪和双线性插值。

   总的来说,AST模型的参数量大小是可配置的,可以根据具体的应用场景和资源限制来选择最合适的模型大小。通过利用预训练模型和适应性设计,AST模型能够在保持较小参数量的同时,实现高效的音频处理和分类。

   AST模型的参数总量计算涉及到多个组成部分,包括编码器层、自注意力机制、前馈网络等。以下是一个基于搜索结果的AST模型参数总量的计算公式和例子:

参数总量计算公式:

  1. 编码器层参数

    • 假设AST模型有 ( l ) 层编码器。
    • 每层编码器包括自注意力机制和前馈网络。
    • 自注意力机制的参数量为 ( 3d^2 )(Q、K、V的线性变换)加上输出投影的 ( d^2 ),共 ( 4d^2 )。
    • 前馈网络的参数量为 ( 2d_f \cdot d + d_f \cdot d = 8d^2 )(其中 ( d_f ) 通常为 ( 4d ))。
    • 每层编码器的参数量为 ( 4d^2 + 8d^2 = 12d^2 )。
    • 总编码器层参数量为 ( l \times 12d^2 )。
  2. 其他参数

    • 包括层归一化和分类头的参数,通常相对较小,可以近似忽略或单独计算。

计算例子:

假设一个AST模型的配置如下:

  • ( l = 12 )(编码器层的数量)
  • ( d = 768 )(编码器层和池化层的维度)
  • ( d_f = 3072 )(前馈网络中间层的维度)

则每层编码器的参数量为:
[ P_{\text{block}} = 12d^2 ]
[ P_{\text{block}} = 12 \times 768^2 ]
[ P_{\text{block}} = 12 \times 589824 ]
[ P_{\text{block}} = 7077888 ]

整个模型的参数量为:
[ P_{\text{model}} = l \times P_{\text{block}} ]
[ P_{\text{model}} = 12 \times 7077888 ]
[ P_{\text{model}} = 84934656 ]

因此,这个AST模型的总参数量大约为84.9M。这个计算是一个近似值,实际的参数量可能会因为具体的实现细节(如是否有额外的正则化项等)而略有不同。

4.主要特点与优势

  • 自注意力机制:能够有效捕获音频信号中的长距离依赖关系和全局特征。
  • 灵活性和扩展性:可以处理不同长度和复杂度的音频信号,适用于多种音频分类任务。
  • 高效性:尽管计算复杂度较高,但由于 Transformer 的并行处理能力,在硬件支持下依然表现出色。

5.实验结果

    AST 在多个音频分类任务中展示了优越的性能,超越了许多传统的 CNN 方法。以下是一些实验结果的总结:
  • 声学场景分类: - 在公开数据集(如 ESC-50 和 AudioSet)上的实验结果显示,AST 的分类准确率明显高于传统的 CNN 方法。
  • 音频事件检测: - AST 在音频事件检测任务中的表现也非常出色,特别是在处理复杂音频背景和前景声音时。

6.研究贡献

  1. 创新方法:AST 是将 Transformer 模型应用于音频分类领域的创新尝试,展示了 Transformer 在捕获音频全局特征方面的强大能力。
  2. 性能提升:AST 在多个音频分类任务中表现优越,证明了其在处理音频信号方面的有效性。
  3. 开源代码和模型:代码和预训练模型已经被研究团队开源,促进学术界和工业界对其方法的应用和进一步研究。

7.应用:

  • 环境声音分类:- AST 可用于分类环境声音,如识别不同类型的噪音、动物声音或人类活动。
  • 语音情感识别:- 该模型可以从语音中分类情感,对于情感分析和人机交互等应用非常有用。
  • 音乐类型分类:- AST 能够分类不同类型的音乐,帮助音乐推荐和自动标记任务。
  • 声学事件检测:- 模型可以检测音频流中的特定声学事件,适用于监控和监视应用

8.未来发展方向

  • 模型优化: - 进一步优化 AST 模型结构,以降低计算复杂度和内存需求。
  • 多模态学习: - 结合视觉和音频信号进行多模态学习,以提升整体性能。
  • 实时应用: - 开发低延迟和高效的 AST 版本,应用于实时音频处理场景。

结论

    Audio Spectrogram Transformer (AST) 是一项重要研究成果,展示了基于 Transformer 模型的音频分类方法在性能和应用上的巨大潜力。AST 的提出为音频分类任务提供了新的思路和工具,并在学术界和工业界引起了广泛关注和应用。

本文转载自: https://blog.csdn.net/xw555666/article/details/139324102
版权归原作者 科学禅道 所有, 如有侵权,请联系我们删除。

“Audio Spectrogram Transformer (AST)工作介绍”的评论:

还没有评论