On Open-Set Classification with L3-NetEmbeddings for Machine Listening Applications

摘要

On Open-Set Classification with L3-Net Embeddings for Machine Listening Applications
为机器听觉应用获得标记的数据是很昂贵的,因为标记音频数据需要人类去听录音。然而,最先进的基于深度学习的系统通常需要大量的标记数据来进行训练。这个问题的解决方案是用大量的未标记的数据集来训练神经网络,以提取嵌入,然后用这些嵌入来训练适合应用的小型但有标记的数据集上的浅层分类器。一个例子是 "看、听、学"(L3-Net)嵌入,它是在自我监督下训练的,以捕捉视频中的视听对应关系。由于浅层分类器的训练是辨别性的,因此默认了封闭集分类任务,它们在开放集分类任务中表现不佳。本文提出了一个神经网络,通过使用X-向量机制将属于一个录音的所有L3-Net嵌入合并成一个向量,并在此基础上提出一个开放集分类系统。在对属于2019年DCASE挑战赛的开放集声学场景分类任务进行的实验中,所提出的系统明显优于浅层判别式分类器和所有其他先前发表的系统,同时在多个封闭集机器听觉数据集上与浅层分类器表现相当。

引言

基于深度学习的模型是机器听觉的最先进技术,其总体目标在抽象意义上是以某种方式使用机器来理解音频。给音频文件贴上标签并使用卷积神经网络(CNN)作为光谱数据的分类器是迄今为止最流行的方法[1]-[5]。然而,为了训练这些模型,需要收集大量的标记数据。但是,标注数据是很昂贵的,因为它需要听录音,因此需要专家并花费时间。为了解决这个问题,可以用未标记数据的大型数据集来训练一个神经网络,其任务是从音频数据中提取嵌入。这些小维度的嵌入应该包含对音频文件进行分类所需的所有信息。然后,一个浅层分类器可以在从小型数据集中提取的嵌入上进行训练,这些数据是专门为单个机器听觉应用选择的。一个流行的例子是 "看、听、学"(L3-Net)嵌入[6]-[8],它被训练来捕捉视频帧和音频片段之间的视听相关性。

在开放集分类任务[9]中,不仅有需要正确识别的已知类别(封闭集分类),而且有需要被系统标记为 "未知 "的未知类别(离群检测[10])。主要的困难是,并非所有可能的未知类都是先验的。因此,对于这样的类,在训练时可以不提供样本,但在测试时仍需要拒绝该类的实例。总之,在遇到相同数量的已知类时,开放集分类问题要比封闭集分类问题更难解决。然而,对于现实环境中的机器听觉应用来说,开放集问题要普遍得多,因为只有在非常少的情况下才能确保在运行系统时可能出现的所有声音都是事先知道的。由于浅层分类器被训练成在已知的类别中进行区分,因此假设数据属于这些已知的类别之一,它们在试图检测异常值时表现很差。因此,它们不适合作为开放集分类设置中L3网嵌入的后端。本文的贡献有以下几点。

  • 首先,提出了一个用于L3-net嵌入的网络,该网络将属于一个音频文件的所有嵌入合并为一个向量。在多个数据集上显示,该网络提供的性能与直接在L3网嵌入上训练的标准浅层MLP分类器相似。
  • 其次,在这个网络的基础上提出了一个用于机器听觉应用的开放集分类系统
  • 在2019年声学场景和事件检测与分类(DCASE)挑战赛[11]的开放集声学场景分类数据集上进行的额外实验表明,所提出的系统明显优于浅层分类器和所有其他已发表的开放集分类系统。

II.L3网络嵌入后端

A. 看、听、学(L3-Net)嵌入

看、听、学(L3-Net)[6]的目标是检测一个视频帧和一个持续时间为1s的音频片段之间的视听对应关系,其整体结构如图1所示。L3网络由一个视频子网络和一个音频子网络组成,这两个网络都由四个卷积块组成,并带有池化操作,分别从视频帧和音频片段中提取一个嵌入。为了检查两个嵌入之间的对应关系,使用了一个融合网络,该网络将两个嵌入连接起来,并使用两个全连接层以及一个用于二进制分类的softmax层。L3网络的训练可以在没有注释数据的情况下进行,只需要一个(大)视频数据集。正面例子包括视频帧和同一视频的相应音频片段。负面的例子可以由不同视频的视频帧和音频片段提供。训练结束后,只需使用音频子网络就可以提取嵌入物。在本文中,一个来自[8]的预训练模型(openL3)被用来提取L3网络的嵌入。该模型在AudioSet[12]的音乐子集上进行了预训练,并从长度为1s的重叠窗口中提取了512维的嵌入,而Mel-spectrograms的跳数为0:1s,有256个Mel bins。关于openL3的其他细节,请读者参考[8]。在本文中,所有的嵌入都是通过减去属于特定任务训练集的所有嵌入的平均值和除以标准差来进行标准化的。

 

B.标准的封闭式分类后端

使用L3网络嵌入对音频数据进行分类的简单模型是一个浅层多感知器(MLP),如[8]中提出的。它是为分类单一的嵌入而训练的鉴别性的。MLP由两个大小为512和128的全连接层组成,用整流线性单元(ReLU)作为传播函数,还有一个输出层,用softmax非线性进行分类,其大小与类别总数相对应。为了对整个音频文件进行分类,对属于该文件的所有嵌入结果的每一类的平均得分进行计算。利用这个平均值,可以通过最大似然法预测每个文件的类别。

C. 基于X向量的封闭集分类后端

开放集分类问题可以分解为两个子问题[13]。1)离群点检测和2)封闭集分类。因此,对于L3-net嵌入的开放集分类后端,其封闭集性能不比浅层MLP获得的性能差,这一点至关重要。在本小节中,将介绍用于封闭集分类的后端,它将被扩展到开放集分类系统。两者都在图2中被描述出来。其基本思想是将属于单个音频文件的所有嵌入结合到一个单一的嵌入中,这很适合在特定的机器听觉应用中出现的类别中进行区分。一种方法是使用所谓的x-向量[14],这是说话人识别中最先进的方法,通常是根据梅尔-频谱系数(MFCC)[15]进行训练。拟议系统的x-向量子网络由五个卷积层和一个统计池层组成,统计池层输出平均值和标准差的连接,作为另一个称为x-向量的嵌入。明确地说,这里的x-向量子网络收集的是L3网络嵌入的统计数据,而不是MFCCs。一个分类器子网络被用来在x-向量中加入针对数据集的类别的辨别行为。表一包含了网络的所有细节。I包含了网络结构的所有细节。训练网络是通过最小化Adam[16]的分类交叉熵和32的批次大小来完成的。为了有效地增加训练数据量并防止网络过拟合,在训练时使用了以下数据增强技术。首先,mixup[17],即在两个随机选择的训练样本之间进行线性插值,并使用从均匀分布中提取的混合系数。对于声音事件的检测,SpecAugment[18]没有时间扭曲,即只有频率和时间屏蔽,已经成功地应用于谱图[19]。这就是为什么所有的L3-net嵌入都有5个大小为64的频率掩码和10个大小为64的时间掩码的原因。请注意,L3网嵌入并不(直接)包含频率信息,频率掩码一词只是为了方便而保留。此外,还应用了高达99%的随机循环移动。为了加快和稳定训练过程,整个网络中都有批量规范化层[20]。对于正则化,使用了dropout[21]、标准偏差为0:1的高斯噪声层和权重为0:00001的L2-正则化。此外,梯度的权重与每类训练样本的数量成反比,以确保网络不偏向于有更多训练样本的类别。所有的神经网络都是用Keras[22]和Tensorflow[23]实现的。

 

在将所有文件的L3-net嵌入合并为x-向量后,可以应用x-向量的标准分类链。第一步,通过减去属于训练集的所有x-向量的平均值并除以标准差,对x-向量进行归一化。接下来,应用线性判别分析(LDA)。LDA的目标是通过将X-向量投射到适合区分类别的子空间来降低X-向量的维度。使用LDA,子空间的最大维度是类的数量减去1。正则化线性判别分析(RLDA),如[24]所述,在类间和类内协方差矩阵的对角线上增加一个小数字,从而使它们变成全等级。这允许为子空间选择一个任意的维度。在所有的实验中,LDA维度已经被优化以减少错误率。之后,所有LDA投影的X向量再次被长度规范化。作为最后一步,如[27]中实现的双协方差概率线性判别分析(PLDA)模型[25], [26]被训练。让y表示一个类别模型,它是一个与x向量相同维度的向量,而φ表示属于该类的x向量。那么,双协方差PLDA模型由以下方程描述。

 其中μ是类的平均值,B-1是类间协方差矩阵,W-1是类内协方差矩阵。使用这个模型,可以计算出一个对数似然比,比较属于同一类别或不同类别的两个X向量的似然。使用来自训练数据的每个类的平均X向量,可以得到每个类的似然,并通过使用最大似然决定一个X向量属于哪个类。

D. 开放集分类后端 本文的总体目标是为L3-net嵌入提出一个开放集分类后端。PLDA模型返回两个X向量属于同一类别的空假设与两个X向量属于不同类别的另一假设之间的对数可能性比率。因此,我们可以很容易地对所得到的分数使用一个固定的阈值,只要所有的分数都低于这个选定的阈值,就可以输出 "未知 "类。同样的程序也可用于MLP和X-向量网络的softmax输出。然而,由于softmax函数建立了一个后验概率模型,并默认每个测试文件都属于其中一个类别,因此预计这不会导致一个良好的离群点检测性能。另一种结合L3网络嵌入的方法是取每个文件的平均嵌入。然后,产生的平均嵌入可以用与X-向量相同的方式处理。与X-向量的主要区别是,所产生的平均数没有经过鉴别性的训练,也不适应应用的小数据集。因此,在封闭集分类中,均值嵌入预计不会像X-向量那样表现良好。但是,由于在检测异常值时,已知类别之间的判别行为是没有用的,而且均值嵌入对数据的看法与x-向量完全不同,因此将它们结合起来似乎是有益的。在应用RLDA和PLDA之前,通过简单地连接X-向量和平均嵌入来实现这一点。为了检测异常值,自适应对称归一化(ASnorm)[28], [29]被应用于PLDA模型产生的分数,因为这可以提高openet设置中的性能[30], [31]。AS-Norm利用一组文件(称为队列)来规范分数,定义为

 其中s(e;t)表示平均x向量e和测试x向量t之间的分数,μ和σ分别表示分数的平均值和标准差。此外,Ctop(e;n1)表示具有最高分数s(e;ck)的队列C的n1 2 N样本fck 2 C : k = 1; ::; n1g(Ctop(t;n2)的定义与此类似)。在本系统中,队列由属于已知类别的所有训练文件组成,n1=900和n2=6500被用作队列大小。这些值是由验证集上的性能最大化决定的。最后,正如在[32]中实现的那样,用逻辑回归法对分数进行校准,只要分数低于该阈值,就用0:5的阈值将文件标记为 "未知"。

III. 实验结果

 

结论

在这项工作中,我们提出了一个用于机器听觉应用的开放集分类系统,该系统基于一个将L3网络嵌入到X向量的神经网络。在多个数据集上,该系统在用于封闭集分类时,与直接训练来分类L3-net嵌入的浅层MLP表现同样出色。此外,在2019年DCASE挑战赛的开放集声学场景分类任务上,所提出的系统明显优于MLP以及之前公布的所有结果。在不久的将来,将对作为2020年DCASE挑战的一部分的开放集分类问题的拟议系统进行额外的实验评估,以补充本文提出的结果。此外,计划用L3网络嵌入和更传统的CNN的集合进行实验,这些CNN直接在属于手头任务的小数据集上训练。由于这两种方法的性质完全不同,这应该会大大改善封闭集的分类性能。关于类的数量对闭合集分类性能的影响的额外调查也将进行,因为拟议的后端在ESC50上的表现明显好于浅层分类器,ESC50包含50个而不是10个类。 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值