基于注意力门控卷积循环神经网络的通用音频标记

2020-06-29 01:06王金甲纪绍男
复旦学报(自然科学版) 2020年3期
关键词:音频卷积神经网络

王金甲,崔 琳,杨 倩,纪绍男

(1. 燕山大学 信息科学与工程学院,河北 秦皇岛 066004;2. 河北省信息传输与信号处理重点实验室,河北 秦皇岛 066004)

我们日常环境中的声音事件带有大量信息.人类能够识别和辨别许多声音事件,但机器听觉的声音自动处理技术仍然远远落后,所以需要进一步研究开发能够识别真实音频流中各种声音事件的系统.近年来,随着智能移动设备的发展,每天都有大量用户将录音上传到网络上,如何给音频添加标签是1个新的挑战问题[1].音频标记(Audio Tagging, AT)旨在为音频剪辑片段分配1个或多个标签,标签是音频剪辑中发生的声音事件,例如“枪声”、“猫叫声”、“笑声”等[2].目前音频标记在音频检索、智能家居、监控、智能驾驶和医疗保健等领域有很多应用.

自声学场景和事件的检测和分类(Detection and Classification of Acoustic Scenes and Events, DCASE) 2016挑战赛以来,许多基于深度学习的方法被用于音频标记,它们具有如下优点: 端到端学习、自动提取特征和非线性学习能力.其中卷积神经网络(Convolutional Neural Network, CNN)和循环神经网络(Recurrent Neural Network, RNN)已经实现了较高的音频标记性能.DCASE 2016任务4是在家庭环境录制的4s音频块上执行多标签分类(即为每个4s音频块分配零个或多个标签).2016年竞赛的第1名,即Lidy团队提出了1种并行的卷积神经网络架构,该架构能够在时间和频率上捕获相关的音频特征[3].Xu等[4]使用卷积循环神经网络从原始波形,Mel滤波器组和Mel频率倒谱系数(Mel Frequency Cepstrum Coefficient, MFCC)中提取稳健的特征以进行音频标记,创新在于使用基于门控循环单元(Gated Recurrent Unit, GRU)的循环神经网络来建模音频信号的长期时间模式.DCASE 2017任务4是使用弱标记训练数据评估用于大规模音频标记和声音事件检测的系统.此竞赛音频标记子任务中排名第一的徐勇团队级联了卷积神经网络、门控循环单元的循环神经网络作为基本框架进行音频标记,并提出了可学习的门控激活函数用于选择信息丰富的局部特征[5].Iqbal等[6]使用胶囊路由机制的神经网络来解决音频标记问题,能够准确识别出局部特征和整体的关系,并在该任务上显示出了良好的性能.

DCASE 2018任务2是通过使用更多类别和具有不同可靠性注释的数据进行通用音频标记的任务.该任务数据集来自Freesound的音频样本,使用来自谷歌的AudioSet音频本体的41个标签进行注释[7].该任务的基线系统由3个卷积层、最大池化和softmax分类器层组成.此竞赛的第1名是Jeong团队,他们使用Mixup数据增强技术对样本进行预处理,然后结合单DenseNet架构和多softmax分类器进行学习,对标签噪声使用了批处理损失掩蔽方法来消除小批处理中异常值的损失[8].

针对该音频标记任务,本文提出了1种注意力门控卷积循环神经网络(Attention-Gated Convolutional Recurrent Neural Network, AT_GCRNN)模型.在信号预处理阶段,首先将信号的静音部分检测出来并删除,非静音部分提取出来并作为输入,然后采用Mixup数据增强技术,可以有效地减少过拟合.为了让模型关注音频的重要特征,在卷积神经网络模块上加入了上下文门控(Context Gating, CG),这个可学习的门能够控制当前层到下一层的信息流.之后的循环层用来处理和预测时间序列数据,捕获时间流上音频帧的上下文信息.在循环层后引入时间注意力机制来定位块中的音频事件,该注意力机制可以关注音频类事件相关的音频帧并且忽略不相关的音频帧,提高了对显著音频帧的关注度[9].

1 研究背景

目前音频分类研究方向包括音频场景分类、声音事件检测和音频标记.这部分重点讨论音频标记的研究现状.

音频场景分类(Acoustic Scene Classification, ASC)是根据音频流的声学内容,识别其所对应的特定场景语义标签,进而达到感知和理解周边环境的目的[10].在ASC任务中,传统处理方式主要依靠浅层机器学习方法,比如K-means算法、隐马尔科夫模型(Hidden Markov Model, HMM)、高斯混合模型(Gaussian Mixture Model, GMM)和支持向量机(Support Vector Machine, SVM)等.近年来,发现基于深度神经网络的方法也有很好的效果.Xu等[11]通过使用多通道CNN,以端到端的方式从不同的通道中提取特征,提高分类准确率.Feng等[12]选用多尺度密集连接卷积神经网络进行分类任务,从音频的时频表示中提取多尺度特征信号,提高分类性能.Phan等[13]使用深度循环神经网络进行音频场景分类.

声音事件检测(Sound Event Detection, SED)更为困难,它不仅要为每个事件给出标签,还要预测出声音事件的开始和结束时间[14].传统方法中,最经典的是隐马尔可夫模型和非负矩阵分解(Nonnegative Matrix Factorization, NMF).由于环境声音更加复杂多样化且混乱无规律性,传统的声学模型缺乏建模能力,导致存在明显的缺陷.后来出现了多尺度RNN来平衡细粒度依赖关系和建模长期依赖关系.

音频标记旨在将1个或多个标签分配给音频剪辑.在音频标记任务中,常见的方法是将低级声学特征转换为“音频词包”[15-16].K-means作为1种无监督聚类方法,已广泛应用于音频分析和音乐检索.Shao等[15]提出使用由HMM导出的相似性度量来聚类音频流段.Cai等[16]用基于谱聚类的方法取代了K-means,将输入流分段并聚类成音频元素.Sainath等[17]使用扩展Baum-Welch变换推导出1种用于估计高斯混合参数的音频分割方法,该方法具有较好的分割效果和较快的计算速度.之后Kumar等[18]还提出了1种基于SVM的多示例学习(Multiple Instance Learning, MIL)系统用于音频标记.

音频标记已经通过不同的手工特征和浅层架构分类器得到解决,但是手动特征工程的方法具有如下的缺点: 它需要相当大的工作量和专业知识来手动创建用于特定目的的特征,尤其是大多数手动特征都是非特定任务的.在数据量不足和噪声标签情况下,音频标记任务就会缺乏准确性和稳健性,手工特征和浅层架构分类器方法都不能很好地利用上下文信息和不同事件类之间的潜在关系.针对传统方法的弊端,考虑到所有深度学习方法都是特定于任务的,因此深度学习方法开始用于音频标记任务,并且在这些任务中展现了很好的性能.

近年来,使用深度学习的方法进行音频标记的技术发展迅速.深度卷积神经网络已经在音频标记任务实现了很好的性能[19-20].Xu等[4]使用卷积循环神经网络从对数Mel语谱图中提取稳健的特征,使用门控循环单元(GRU)建模音频信号的长期时间模式,完成了音频标记任务.之后,Xu等[1]又提出了无监督特征学习的收缩深度神经网络框架来处理多标签分类任务,对声学建模,他们研究了具有收缩结构的深度模型,可用于减小模型尺寸,加速训练和测试过程,并采用dropout策略和背景噪声感知训练来进一步改善收缩深度神经网络的标记性能;对特征学习,他们提出使用对称或非对称深度去噪自动编码器(syDAE或asyDAE)的无监督方法从基本特征生成新特征.Kong等[2]提出了1种联合检测分类(Joint Detection-classification, JDC)模型来同时检测和分类音频片段.JDC模型在弱标签数据上进行训练,通过引入检测器来模拟人类的参与和忽略能力,该模型能够处理有信息并忽略无信息的声音,可以执行事件检测而无需事件级标签.Li等[21]提出了1种音频标记的多模式框架,它结合了视频剪辑中的音频和视频信息来预测音频中的声音事件,该框架的音频分支是基于MIL的卷积循环神经网络,视频分支使用预训练图像识别网络和从视频轨道中提取字嵌入信息并将视觉对象映射到声音事件.MIL提供了1种将剪辑级别的标签与音频剪辑的各个帧链接起来的方法,从而支持帧级别的监督学习.

2 注意力门控卷积循环神经网络

2.1 上下文门控

为了让模型关注音频特征的重要部分,我们引入了门控机制,门控机制控制网络中信息流动的路径,门控线性单元(Gated Linear Unit, GLU)[22]是1种简化的门控机制,而上下文门控的形式受门控线性单元启发,通过减少学习参数的数量来提高效率.

将上下文门控用于音频标记任务,能控制当前层传入下一层的信息量.每层的输出Y是输入的特征向量X通过门σ(V*X+c)调节来实现的.门的输出值在0到1之间,当门接近1时,则关注相应的单元,当门接近零时,则忽略相应的单元.通过这种方法,网络将会学习关注音频事件和忽视不相关的声音.上下文门控将输入特征表示X转变为新的表示Y,定义为

Y=X⊙σ(V*X+c),

(1)

式中:X是输入特征;σ是sigmoid非线性函数;⊙是元素积;*是卷积算子;V和c是可训练的参数;权重向量σ(V*X+c)表示应用于输入特征X的各个维度的1组学习门.与门控线性单元相比,上下文门控减少了学习参数的数量,它只学习1组参数.上下文门控不需要对X进行线性变换,而是直接重新加权输入向量X.

2.2 注意力模块

音频事件可能仅在音频片段中发生很短的时间,音频的背景噪声可能会导致过拟合问题.为了解决这些问题,注意力机制[9]是1种可行的方法.有sigmoid激活函数的注意力能够预测出每帧的重要性,对音频事件进行分类;有softmax激活函数的注意力可以实现对音频事件发生的时间位置的预测.

以sigmoid为激活函数的注意力模块可以对音频进行分类.第t帧sigmoid层的分类输出o(t)表示当前音频帧对最终预测标签的重要程度,o(t)是根据观察到的标签推测的潜在变量,而隐含层的数值是未知的才需要进行训练学习,因此设计的这层没有隐含层.o(t)被定义为

o(t)=σ(w1*x(t)+b1),

(2)

式中:x(t)为输入特征;w1为权重;b1为偏置参数;σ是sigmoid非线性函数.

以softmax为激活函数的注意力模型能预测音频事件发生的准确时间位置,能在选择重要特征的同时抑制不相关的信息,比如忽略背景噪声帧.它将帮助平滑训练集和测试集之间不匹配或过拟合的问题.为了便于学习,这层也没有隐含层.第t帧softmax层的输出z(t)定义为

z(t)=λ(w2*x(t)+b2),

(3)

式中:w2为权重;b2为偏置参数;λ是softmax函数.z(t)的范围为从0到1,z(t)表示每类音频事件的后验概率,后验概率总和为1.由于存在噪声帧,在这些时间帧并没有发生有意义的事件,此时时间帧的输出为零.

图1 注意力门控卷积循环网络Fig.1 Attention-gated convolutional recurrent neural network

2.3 提出的网络模型

本节提出注意力门控卷积循环网络来进行音频标记,网络模型如图1所示,首先将音频片段转成对数Mel语谱图,然后将对数Mel语谱图输入到提出的注意力门控卷积循环网络,最后模型的输出是音频标签的预测值.

提出的网络模型框架由门控卷积层、双向循环神经网络层、注意力层(attention layer)组成.输入的对数Mel语谱图先经过门控卷积层,输出特征,然后将提取的特征输入到双向循环神经网络,得到更高级的特征,最后送入注意力层,得到音频标签的预测值.

门控卷积层有3个门控卷积块(GCNN block),每块由2个上下文门控卷积网络,最大池化和dropout策略组成,每个上下文门控卷积网络有sigmoid非线性函数,用来生成门控输出.sigmoid函数可以保留网络的非线性能力.最大池化不仅可以帮助提取更稳健的特征,还可以减小空间维度.

门控卷积层之后是基于门控循环单元(GRU)的双向循环神经网络层[23],门控循环单元是长短时记忆网络(Long Short Term Memory, LSTM)的替代结构,在很多任务中GRU相比LSTM表现出了更好的性能,双向循环神经网络可以更好地模拟音频信号的长期时间模式[4].这层主要用来处理时间序列数据,可以从每个音频事件的长期上下文中选择相关信息.

最后是注意力层,在前馈神经网络(Feedforward Neural Network, FNN)中引入了注意力机制,激活函数是sigmoid和softmax.前馈神经网络能预测每帧的每类音频事件的后验概率,以sigmoid为激活函数的前馈神经网络将对音频进行分类,以softmax函数为激活函数的前馈神经网络将帮助推断每个音频事件发生的时间位置,并且关注每个类的显著音频帧,将当前事件定位在音频片段中.

用时间注意力的方法来定位音频事件,将FNN-sigmoid每帧的分类输出o(t)与FNN-softmax的输出z(t)相乘,第t帧注意力层的输出o′(t)为

o′(t)=o(t)⊙z(t),

(4)

式中:z(t)的特定维度对应特定的事件.因此,z(t)能预测沿音频片段的每个事件的位置.为了获得最终音频事件的标签预测值,应该在音频片段上平均o′(t)以获得最终输出o″,也就是每帧都能为音频标签生成1个预测值,所有帧的结果加权平均以获得音频标签最终的预测值.o″表示为o′(t)的加权平均值,定义为

(5)

其中:T是频谱图的帧级分辨率.如果沿时间轴没有池化操作,则T与整个输入的音频频谱图的帧数量相同.

比较输出的音频标签的最终预测值o″和真实标签来计算误差.我们将二进制交叉熵用作损失函数来计算误差,通过反向传播算法来更新网络参数.误差定义为

(6)

式中:E是二进制交叉熵;On和Pn分别表示样本索引n处的估计和真实标签向量;批处理大小由N表示.

2.4 数据增强

小数据集的缺点就是模型容易过拟合.目前公开的音频标记数据集大小都有限[24-25].为了克服过拟合问题,流行的方法是数据增强.我们此次采用的数据增强的方法是Mixup[26].

Mixup是基于邻域风险最小化原则的数据增强方法,使用线性插值得到新的样本数据.它通过结合先验知识,即特征向量的线性插值应该导致相关目标的线性插值,来扩展训练分布.从训练集中随意选取两个样本(x1,y1)和(x2,y2),为了将原输入向量x1,x2和one-hot标签编码y1,y2混合,用参数λ∈(0,1)创建凸组合,即

x=λx1+(1-λ)x2,

(7)

y=λy1+(1-λ)y2.

(8)

输出x,y是插值生成的新数据,可以作为训练样本.Mixup用样本对和标签对的凸组合来训练网络,训练出的模型在预测训练数据之间的数据时更稳定,能够减少网络对错误样本的记忆力,增强模型对样本的鲁棒性和训练网络的稳定性.

2.5 Dropout策略

深度学习模型很容易出现过拟合的趋势,尤其是在数据集训练样本过小的情况下.本文的音频标记任务包含大约9500个训练样本,分布在41类中,训练集中每类音频样本的最小样本数为94个,最大为300个.Dropout策略可以有效地缓解过拟合现象,在重复迭代过程中将输入特征向量的值和隐藏层的激活单元按一定的概率暂时从网络中丢弃.这种随机丢弃的方式可以防止模型的学习伪特征依赖性[1].

3 实 验

3.1 数据预处理

此次挑战任务提供的音频文件是由世界各地的用户上传到网络(https:∥www.kaggle.com/c/freesound-audio-tagging/data)上的,因此原始音频的质量有很大的不同.音频片段中会包含一些没有信息的静音片段,长时间的静音对训练是没有用的,而且每个音频片段的时间长度不同,所以在训练之前,需要对数据进行预处理.

我们将音频信号分割成帧,并且对帧的均方根(Root Mean Square, RMS)能量进行阈值化来检测静音片段,然后消除静音部分.音频片段的声音波形如图2(a)所示,该片段长度为13s,蓝色为非静音区域,非静音区域是声音事件发生的区域.每个非静音部分之间的静音时间至少为0.5s,为了防止信息被过度剪切,在每个非静音部分的开头和结尾保留0.5s的静音,音频片段的对数Mel语谱图如图2(b) 所示.

为了解决了音频长度不同的问题,选择1个大小为128×64的块,当特征向量的长度小于块的长度时,特征向量会被填充;当它大于块的长度时,会添加1个附加的块与特征向量的末尾对齐,来包含其剩余部分.所以在特征提取后,每个特征向量被分割成固定大小的块.

3.2 实验设置

我们将对数Mel滤波作为此次实验的特征提取方法.首先将音频片段以16kHz采样,窗口大小为1024,然后用短时傅里叶变换(Short-Time Fourier Transform, STFT)得到音频片段的语谱图,在语谱图上应用64频带的Mel滤波器组,将语谱图与Mel滤波器组相乘,最后进行对数运算,得到对数Mel语谱图.因此,对每个音频片段,会得到1个128×64的特征矢量.

图2 音频片段的声音波形和对数Mel语谱图Fig.2 Sound waveform and log Mel spectrogram of audio clip

在训练阶段,我们采用二元交叉熵作为损失函数.随机优化器采用Adam,初始学习率为0.0005,以0.9的衰减率每两轮衰减1次学习率,dropout设为0.5.批处理大小为128,总共训练40轮.实验采用此次竞赛的评估指标平均准确率(Mean Average Precision, MAP@3)来评估我们的网络.MAP@3定义为

(9)

式中:N为数据样本的数量;K=41是音频事件的总类别数;P(i)是截止时间点i的准确率.

3.3 实验结果

表1和表2为6个系统模型在开发集和测试集上的MAP@3得分.DCASE2018的基线(baseline)系统使用相对浅的3层CNN.VGG13基本上等同于文献[27]中提出的VGG13网络.CRNN是在VGG13基础上加入了GRU.GCRNN是在CRNN的基础上加入了CG.AT_GCRNN_NoMixup是在没有使用Mixup数据增强情况下的AT_GCRNN模型.AT_GCRNN是我们提出的模型,使用的门控是CG.将AT_GCRNN的门控替换为GLU后,与使用CG相比,实验结果相当,在运算速度上比使用CG慢.

表1 开发集的结果Tab.1 The results of development dataset

表2 测试集的结果Tab.2 The results of test dataset

从表1和表2的结果可以看出,在开发集和测试集上,GCRNN相比于CRNN的MAP@3得分分别提高了0.3%和0.2%,实验结果有所提高,这说明CG对提取音频事件相关特征是起作用的.AT_GCRNN相比于GCRNN在开发集和测试集上的MAP@3得分分别提高了0.2%和0.7%,实验结果稍微有所提高,说明attention对关注音频事件的相关帧有很好的效果.比较有或者没有Mixup的AT_GCRNN,MAP@3得分分别提高了4.3%和3%,这说明Mixup数据增强方法有助于改善网络的性能.值得注意的是,我们的模型AT_GCRNN在6个模型中MAP@3得分都是最高的,并且也远高于此次竞赛的基线系统的MAP@3得分.

4 结 语

本文提出了1种注意力门控卷积循环网络用于通用音频标记.可学习的上下文门控可以帮助选择与最终音频事件类最相关的特征.注意力机制能够帮助模型更关注音频事件类最相关的音频帧.通过实验,可以看到提出的网络模型比CNN和CRNN有更好的表现,测试集上的MAP@3得分达到了0.924,远远高于基线系统的得分0.704.下一步考虑将此方法推广到城市音频标记任务和弱标签半监督音频事件检测任务.

猜你喜欢
音频卷积神经网络
On Doors
基于全卷积神经网络的猪背膘厚快速准确测定
Egdon Heath (Extract from The Return of the Native)
基于神经网络的船舶电力系统故障诊断方法
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
柏韵音频举办Pureaudio 2021新产品发布会