基于Mel谱图和卷积神经网络的音频识别

发布时间 2023-11-08 05:11:40作者: 吴建明wujianming

基于Mel谱图和卷积神经网络的音频识别

摘要——近年来,由于其许多潜在的应用,自动声音识别受到了越来越多的研究兴趣。其中包括视频/音频内容的自动标记和机器人的实时声音检测。虽然图像分类是一个研究较多的话题,但声音识别还不太成熟。在这项研究中,利用了为图像分类开发的鲁棒机器学习技术,并将其应用于声音识别问题。来自Kaggle提供的Freesound数据集(FSD)的原始音频数据首先被转换为声谱图表示,以便应用这些图像分类技术。测试并比较了使用深度卷积神经网络(CNN)的两种方法:1.)自己的CNN架构2.)使用预训练的VVG19网络的迁移学习。

使用自行开发的架构,在预测80个声音类别时,分别获得了0.813和88.9%的标签加权标签排名平均精度(LWLARP)得分和前五名准确率。

索引术语——机器学习;音频识别;梅尔光谱图;细胞神经网络

引言

声音是人类用来理解周围世界的五种主要感官之一。今天的许多自主系统主要是基于视觉的,并且没有利用从音频提供的附加环境信息。开发能够同时处理图像和音频数据的智能将使自主系统对其环境有更深入的了解,并使其能够以更有意义的方式与周围环境互动。

声音被定义为作为可听压缩波在介质(空气、水等)中传播的振动。

可以使用诸如麦克风之类的换能器将这些物理振动转换为电信号。然后将该信号数字化,以便执行各种预处理和机器学习技术。声波是用物理量来描述的,包括频率、振幅和方向。

希望提取这些特性,并利用它们来识别某些声音。

音频信号本质上是一维的(振幅随时间变化)。希望将这些信号转换为更具描述性的表示,更好地说明前面提到的量。在这项研究中,建议使用梅尔谱图,这是一种详细描述信号随时间变化的频率组成的变换。

由于这导致音频信号的图像表示,因此Mel声谱图是机器学习模型的输入。这使能够利用经过充分研究的图像分类技术。

卷积神经网络(CNN)是一种强大的深度学习模型,可以学习图像的特征层次。

由于对预测80种不同类别的声音感兴趣,模型必须能够学习大量的特征,才能识别特定的声音。在这项研究中,重点研究了使用细胞神经网络进行声音识别的两种方法。首先,构建了自己的CNN架构,并使用数据集对所有层进行充分训练。其次,通过利用预先训练的VGG19网络来利用迁移学习,并且使用数据只训练最后几层。

描述了以前专注于音频识别的工作。这项研究使用了更传统的方法,如k-NN和天真贝叶斯来进行音频分类,同时展示了如何使用现代神经网络对音频进行分类。本文重点研究了细胞神经网络获得更高精度的分类。和的最大弱点是缺乏预处理,因为他们的方法主要直接处理原始音频数据。基于这些结果,确定需要额外的预处理来使用细胞神经网络准确地对音频进行分类。

众所周知,细胞神经网络在图像分类方面具有很高的性能。展示了流行的CNN架构,如AlexNet、VGG、Inception和ResNet,在用于音频分类时的表现。他们的

该方法包括用短时傅立叶变换分解音频时间序列,以创建频谱图,该频谱图被用作CNN的输入。面临的许多问题是,这些模型很大,由许多可训练的参数组成。这种方法因为他们的训练数据集有70000000个样本。

由于数据集大约有数千个样本,这些大型网络似乎不太可能用有限的数据进行训练。

解决这一问题的一种方法是迁移学习。这包括使用预先训练的网络,冻结大部分层权重,并且只对音频训练数据的最后几层进行再训练。这是为这个项目所采用的方法之一。如果想用数据完全训练网络,那么像讨论的网络会更合适。该网络是为8732个条目和10个类的数据集设计的,而不是7000000个条目和30871个类。这启发了对数据集进行分类的第二种方法,即构建一个较小的体系结构。

试图解释和解释细胞神经网络如何对音频信号进行分类。使用声谱图和原始音频输入,对细胞神经网络进行训练,并使用分层相关性传播(LRP)来查看模型如何选择特征和做出决策。他们展示了输入信号上与特定输出标签最强烈对应的独特区域。

论文的结果还证实,声谱图输入比原始音频输入具有更高的准确性。

这些先前工作的结果影响了提出的音频分类方法。对于预处理,Mel声谱图用于以更具描述性的方式表示音频信号。迁移学习和较小的CNN架构被实现来准确地对音频数据进行分类。以下部分详细介绍了原始音频预处理和梅尔声谱图。

数据集和功能

正在进行的竞争的一部分,受欢迎的机器学习和数据科学网站Kaggle提供了两个包含标记音频片段的数据集。第一个是Freesound数据集(FSD),它是297144个音频片段的众包注释的集合。这些音频片段的子集(4970)包括比赛策划的数据集,这些数据集已被清理和验证以去除标签噪声。第二个数据集是Yahoo Flickr Creative Commons 100M数据集(YFCC)。YFCC数据集包含99206564张照片和793436个视频。YFCC视频的一个子集(19800)的音轨包括比赛的噪声数据集。所有音频数据的采样频率为44.1kHz,长度范围为0.2-30s。

在这项研究中,选择专注于精心策划的数据集,以确定提出的方法是否适用于干净的数据。这导致4970个标记的音频片段,其中80%保留用于训练,其余20%用于测试。共有80种声音类别,对应于日常声音,如掌声、狗叫、摩托车和雨滴。使用该子集,首先通过修剪剪辑的无声部分来处理每个原始音频波形,然后进一步修剪或零填充以等于2秒的长度。这是必要的,因为模型需要静态输入维度,而2秒是音频数据的平均长度。接下来,将每个处理后的剪辑转换为其梅尔谱图表示。频谱图是对信号随时间变化的频率组成的直观描述。

梅尔量表为人类听觉系统提供了一个线性量表,并通过以下公式与赫兹相关,其中m表示梅尔斯,f表示赫兹:

 

梅尔声谱图用于为模型提供类似于人类感知的声音信息。

原始音频波形通过滤波器组以获得梅尔频谱图。在该过程之后,每个样本具有128 x 128的形状,表示使用了128个滤波器组和每个剪辑128个时间步长。图1和图2分别显示了原始音频剪辑和相应的梅尔频率表示。

模型希望从这种表示中学习特性,下面将描述它们的体系结构。IV、 建议的方法

在本节中,介绍了解决音频分类问题的两种方法。详细讨论了不同的模型体系结构和组件。

 

图1:原始音频信号

图2:相应的梅尔光谱图

A.自主开发的CNN

CNN由于其独特的层次,在各种任务中都非常成功。它通常由卷积层和池化层组成。这些层的简要描述如下所示。选择CNN主要是因为它能够分析空间不变特征,并且使用相对较少的参数。

卷积层使用滤波器对输入进行转换,然后在添加偏差之前获取内积。

每个滤波器都有自己的一组权重和偏差。权重和偏差是唯一需要训练的参数。每个层可以有多个过滤器来学习不同的特征。这为CNN提供了相对较少的参数学习和能够学习空间不变特征的优势。

池化层用于降低后续层的维度。常用的池化技术有maxpooling和average pooling,其中maxpooling取池化窗口的最大值,average池化取平均值。

对于模型中的隐藏层,使用Relu激活函数。它有形式????(?) = ???(0,?). 表达式的非线性消除了梯度消失问题。对于输出层,使用softmax激活函数进行分类。该函数将向量压缩到所有元素加起来为1的范围(0,1)中。这可以解释为每个元素的概率。

由于这是一个多标签分类任务,使用二进制交叉熵损失来训练模型。二进制交叉熵损失独立计算给定样本的每个类别的损失。对于每个标签,它使用当前类与其他类来评估损失。表达式如下所示:

其中s1是当前得分。

使用Adam优化器进行随机梯度下降。Adam优化器使用可变学习率,使步长与梯度的大小保持不变,这是传统随机梯度下降中遇到的典型问题。

模型的可视化显示如下:

图2:自行开发的CNN架构

B.迁移学习

迁移学习是一种机器学习技术,使用一组数据构建和训练模型,然后将其重新用于不同的任务。它有缩短训练时间和提高成绩的好处。

VGG19是一个使用Imagenet数据训练的基于CNN的大规模模型。它在图像分类方面非常成功。

在其他图像分类任务中应用VGG19模型进行迁移学习,通常只对全连通层进行再训练。然而,对于项目,正在重新调整音频分类的结构。预计在最后几个卷积层中学习到的高级特征在音频和图像数据之间会有所不同。因此,将重新训练最后一个卷积块(包含4个卷积层)和完全连接层。

 

图2:VGG19网络的最后一层(红框)经过再培训

V.结果

对于该项目,用于评估模型性能的主要指标是标签加权标签排名平均精度(LWLRAP)。

这测量了检索每个测试剪辑的相关标签的排序列表的平均精度(即,系统对所有可用标签进行排序,然后对排序列表的精度进行平均,直到每个真实标签)。新颖的“标签加权”部分意味着总得分是测试集中所有标签的平均值,其中每个标签的权重相等(相比之下,普通lrap赋予每个测试项目相同的权重,从而在单个标签与多个其他标签出现在同一项目上时,对其贡献进行折现)。

还使用排名前五的分类准确性作为参考。

这不是性能的准确度量,因为这是一个多标签分类问题。然而,它将提供一种更直接、更容易解释的测量方法。在用于训练和测试的4970个样本中,只有1个样本的标签超过5个。因此,理想情况下,第一个基本事实标签(当有多个标签时,度量选择第一个标签作为基本事实)应该在模型预测的前5个中。

不同模型在测试集上的分类性能如下所示。

 

表1. 模型的分类结果

深度CNN在分类精度方面具有最佳性能。这是通过迭代超参数来找到复杂性和过度训练之间的平衡的结果。如上所述,在模型介绍部分,与在各种任务中成功实现的流行结构(如Resnet、Inception…)相比,深度CNN模型相对较小。这是因为该项目的主要困难在于,在有限的数据量下获得性能最佳的模型。

迁移学习在准确性方面与深度CNN模型类似。这证实了期望,即卷积层从图像数据中学习的较低级别特征也可以应用于音频数据。尽管迁移学习模型的准确性稍差

与CNN模型相比,训练时间大幅减少,从400个时期减少到100个时期。还训练了VGG19模型,没有预先训练的权重进行比较。VGG19是一个大型网络,不出所料,其性能是三者中最差的。没有足够的数据使模型达到最佳性能。

还可以分析模型在每个类别中的表现。下表显示了每种型号的前五名最佳和最差性能。

表2. 深度CNN的前5个最佳分类性能

表3. 深度CNN排名前五的最差分类性能

从表2可以看出,该模型在对乐器声音进行分类方面表现良好。这是由于记录良好的乐器的声音具有明显的频率特征。使用mel声谱图对原始音频进行预处理后,模型可以很容易地学习这些特征。

在表2中,可以观察到表现不佳的类别是变异范围广、容易与其他声音混淆的声音,即使是对人类耳朵来说也是如此。

例如,如果没有上下文,很容易混淆“水槽填充”和“水龙头”。召回率低表明许多样本未标记,很可能是由于标记为另一个类似的标签所致。由于多标签分类的性质,也很难检查类之间的混淆。

表4.VGG19迁移学习的前五大最佳分类性能

表5.VGG19迁移学习的前5个最差分类性能

从表4和表5中,可以观察到迁移学习模型的性能与深度CNN模型相似。

它们共享最佳和最差分类性能的大多数类。有几个类的性能不同。它还显示出良好的乐器声音分类性能和糟糕的日常声音容易混淆的性能。

VI、 结论

提出的方法详细介绍了一种稳健的机器学习方法来对音频片段进行分类。使用自行开发的CNN架构,当在验证集上预测80个声音类别时,获得了0.813的LWLRAP得分和88.9%的前五名准确率。此外,使用迁移学习在VGG19网络中实现了类似的性能,LWLRAP得分为.797,前五名的准确率为88.5%。

未来还有一些工作可以做,以进一步改进声音识别系统。为了开发更强大的系统,可以实现更大/更深的神经网络。这将需要大量的训练数据,这意味着需要利用YFCC提供的噪声数据集。虽然这个数据集更难使用,而且它的标签也不太可靠,但使用这些数据可能有助于将系统推广到更嘈杂的条件下工作。为了人工构建更多的训练数据,还可以使用诸如数据扩充之类的技术。感兴趣的未来应用是将该系统与计算机视觉系统结合使用,用于从视频剪辑中自动提取信息。