基于自编码器的无监督机器异常声检测

2021-09-23 02:13张晨旭李圣辰
复旦学报(自然科学版) 2021年3期
关键词:特征向量编码器频谱

张晨旭,李圣辰,邵 曦

(1.南京邮电大学 通信与信息工程学院,江苏 南京 210003;2.西交利物浦大学 智能工程学院,江苏 苏州 215123)

异常声检测技术一直是学术界和工业界研究的热点问题之一,已被广泛地应用于音频监控[1]、畜牧业[2]、产品检查和预测性维护[3].对机器而言,异常声音可能表示一台机器存在故障,迅速发现异常能够减少有缺陷产品的数量以及防止损坏继续蔓延.异常声检测方法可以分为两种:有监督方法和无监督方法.有监督异常声检测已经定义了异常,即使异常声音比正常声音稀有,也可以收集目标的异常声音的数据集,而无监督异常声检测是根据正常声音数据集进行异常检测的任务.

根据研究思路的不同,无监督异常声检测方法大致分为两类.一种是变点检测[4],将当前时间的声音与先前时间的声音进行比较以检测变化点并计算异常分数,但这种方法检测到的变化点并不总是由异常引起的.另一种检测方法是离群值检测[5],先对正常声音进行建模,然后检测与正常声音模型不符的声音并计算正常声音模型与观察到的声音之间的偏差,通常称之为异常分数,当异常分数高于预定阈值时,将观察到的声音识别为异常声音.离群值检测是目前异常声检测的主流方法.

早期的研究使用各种统计模型对正常声音进行建模以计算异常分数,例如高斯混合模型(Gaussian Mixture Model,GMM)[6]和支持向量机(Support Vector Machine,SVM)[7].随着深度学习的发展,基于神经网络的方法备受关注.如Larsen等[8],Marchi等[9]分别用生成对抗网络(Generative Adversarial Networks,GAN)和长短时记忆递归神经网络(Long Short Term Memory-Recurrent Neural Networks,LSTM-RNN)对正常声音进行建模以检测异常,但这些方法存在着网络收敛困难和数据容易过拟合的不足.自从自编码器网络被提出后,自编码器(Auto-Encoder,AE)[10-11]和变分自编码器(Variational Auto-Encoder,VAE)[12]已被广泛用于无监督学习任务中,它们能够对输入特征进行压缩降维并且将降维后的特征重构成输入特征,具有很强的特征表示能力,并且网络的结构相对简单、容易训练.因此,本文提出了一种基于自编码器的异常声检测方法,通过自编码器对机器正常声音的声学特征进行建模,通过待测音频特征和重建特征之间的误差值对机器声音进行异常检测.

1 基于自编码器的异常声检测方法

本文所提出的基于自编码器的机器异常声检测系统的框架如图1(见 第298页)所示.该系统主要包括3个部分:特征提取、自编码器和异常检测.训练阶段:首先,从训练集中提取出正常音频的频谱特征;然后,通过训练自编码器重建正常的频谱特征.测试阶段:将测试集中所有音频文件的频谱特征通过自编码器进行重建,通过重建的频谱特征为所有音频计算异常分数.

图1 异常声检测系统框架Fig.1 Framework of the detection system of anomalous sounds

1.1 音频特征的提取

声学特征是能够表征原始音频信号本质属性的参数.常用的声学特征有线性预测系数(Linear Prediction Coefficient,LPC)、感知线性预测(Perceptual Linear Predictive,PLP)、Mel频谱(Mel-spectrogram)和Mel频率倒谱系数(Mel Frequency Cepstral Coefficients,MFCC)[13-14].本文选择对数Mel频谱作为声学特征.

对数Mel频谱是模仿人耳听觉特性的短时特征,是音频处理过程中最有效的参数特征之一.相对于时域特征,频域上的特征能够更好地表现出正常和异常两个类别的音频所独有的属性.人耳对频率标度的声音频谱的响应是非线性的,将普通的频率标度转化为Mel频率标度,能够将人耳对频谱的响应转化为线性关系.因此对数Mel频谱特征能很好地用于机器异常声检测任务.

对数Mel频谱提取过程包括以下步骤:

1)对音频信号进行预加重,使提取音频的频谱变得更加平缓;然后分帧,使音频信号短时平稳;最后加窗,减小音频帧的剧烈变化.

2)对每一帧进行快速傅里叶变换(Fast Fourier Transform,FFT),将时域信号转换为频域信号,计算能量谱;

3)用一个三角滤波器进行Mel滤波,滤波器的输出取对数处理,将线性能量谱转换到对数能量谱上,得到特征矩阵.

1.2 自编码器

自编码器是一种无监督学习的3层神经网络,对输入数据编码,然后解码得到输出数据,利用BP(Back Propagation)反向传播算法[15]对输入数据进行重建.使用自编码器的目的是用编码器和解码器学习输入特征的表示,用机器正常音频特征训练出来的自编码器能够将正常音频的特征还原重建,但是一些和训练数据分布不同的特征不能较好地重建.当用自编码器重建机器异常音频的特征时,会导致重建的音频的误差较大,从而能够根据误差值的大小判断异常是否发生.

图2 深度自编码器的结构Fig.2 Framework of the deep auto-encoder

深度自编码器(Deep Auto-Encoder,DAE)是由多个自编码器端到端连接组成的神经网络,前一个自编码器的隐藏层特征作为下一个自编码器的输入,以获得输入数据的更高级别表示.编码器逐步将输入特征向量转换为抽象特征向量,实现从高维数据空间到低维数据空间的非线性转换[16].解码器将隐藏层特征向量解码回原始输入特征向量.深度自编码器的结构如图2所示.

自编码器的工作过程可分为两个步骤:

1)编码:编码器E将输入特征向量Xi转换为潜在特征Zi,即

Zi=E(Xi|θE).

(1)

2)解码:解码器D将潜在特征Zi重构成输入特征向量X′i,即

X′i=D(Zi|θD).

(2)

式(1)与式(2)中:i=1,2,…,n,表示当前是第i个特征向量;n为特征向量总数;θE和θD分别为编码器和解码器的参数.

通过训练自编码器来重构原始数据,调整编码器和解码器的参数,使重构数据和输入数据之间的误差最小化,重构误差函数为

(3)

1.3 异常检测

在训练阶段,系统使用训练集中正常音频的特征来训练自编码器.在测试阶段,由于自编码器用来学习正常音频的特征表示,因此,测试集中正常音频的重构误差会较小,而异常音频与正常音频相比有一些不同的特征点,不能很好地映射到由正常音频形成的低维数据空间中,也无法由解码器很好地重建,将具有相对较高的重构误差.将重构误差作为音频的异常分数S,异常分数越高,异常发生的可能性越大.通过对异常分数进行阈值Φ处理,可以对测试集中所有音频进行分类,如式(4)所示:

(4)

2 实 验

2.1 实验数据集

使用DCASE2020 Challenge Task2数据集[17-19]来评价基于自编码器的异常声检测方法,该数据集由ToyADMOS数据集和MIMII数据集组成,包含6类真实机器的正常和异常声音:toycar、toyconveyor、valve、pump、fan和slider,每个类别中有3或4台机器的声音,ID为0,2,4,6或者1,2,3,4.每条音频的长度大约为10 s,包含了目标机器的操作声音和环境噪声.数据集的具体情况如表1所示.

表1 数据集的统计信息Tab.1 Statistics of dataset

2.2 参数设置

在特征提取部分,将采样窗口的长度设置为64 ms,帧移设置为32 ms,滤波器数量设置为128,最大频率设置为8 000 Hz,获取对数Mel频谱特征.对于时长10 s的音频,最终得到312×128的参数并在网络训练前进行标准化.

在自编码器部分,编码器由一个输入全连接网络(Fully Connected Network,FCN)[20]层,两个隐藏FCN层和一个输出FCN层组成,维数分别设置为64,32,16和8,解码器结构和编码器相对应.为了防止过拟合,引入批归一化层(Batch normalization)[21].训练时迭代次数设置为100次,每一批数据的大小(Batch size)为500.实验采用修正线性单元(Rectified Linear Unit,RELU)函数作为激活函数,采用Adam优化算法,学习率为0.001.

2.3 评估指标

表2 6类机器的实验结果Tab.2 Experimental results of six types of machines

表3 所有机器的实验结果Tab.3 Experimental results of all machines

本文使用AUC(Area Under Curve)来评估实验结果,AUC被定义为ROC(Receiver Operating Characteristic)曲线下与坐标轴围成的面积[22],记为ηAUC,是衡量二分类模型优劣的一种评价指标.ηAUC值越大的分类器,其分类正确率越高.

(5)

2.4 结果分析

本实验选取DCASE2020 Challenge Task2的基线系统(Baseline system)作为此次实验的参照对象,对每种机器和每台机器的性能进行了比较.具体数据如表2,表3所示.

在特征部分,基线系统将音频信号连续的5帧特征送入网络进行训练,而本文系统直接用分帧后的特征进行训练.因为异常声音只在某些时刻发生,在进行异常检测时能够避免连续几帧中的异常帧因正常帧的存在使得重建误差小于阈值,导致异常情况检测不出来.在网络部分,基线系统编码部分选用除输入输出层外各层维数相同的网络,而本文系统在编码部分各层的维数逐层降低,能够逐步地将输入特征从高维空间转换到低维空间,具有更强的特征表示能力.

根据机器类型进行比较,通过计算均值得到两种系统对每种机器的ηAUC值,如表2所示.对fan,pump和toycar这3类机器的ηAUC值分别从65.83%,72.89%,78.77%提升至70.62%,76.40%,80.23%,而本文系统对其他3类机器的ηAUC值比基线系统的低一些.从表3可以看出,对于大多数机器,本文系统得到的ηAUC值提高了很多,尤其是对fan6和pump4,ηAUC值提高了12.11%和9.73%.尽管本文系统对toyconveyor的ηAUC均值较基线系统的差一些,但toyconveyor的3台机器中有2台机器上的结果是优于基线系统的.和均值结果的比较相同,slider和valve上的结果比基线系统的低一些.

由此可见,对于fan,pump,toycar和toyconveyor来说,本文系统的效果得到了提升,能够很好地执行异常声检测任务.对于slider和valve来说,本文系统不足以在异常声检测任务中很好地执行.

3 结 语

本文描述了一种基于自编码器的异常声检测方法,用训练集中的正常音频数据去训练网络,让自编码器学习正常音频的特征表示,通过自编码器重建待测音频的特征,利用待测音频的特征和重建的特征两者之间的误差值来检测音频是否异常.在DCASE2020 Challenge Task2数据集上的实验结果表明了文中方法的有效性.在未来的工作中,将考虑机器自身特性和音频数据的时序性,使用基于长短时记忆网络的自编码器,选择更加适合的分类方法,以进一步提高文中所提方法的异常检测效果.

猜你喜欢
特征向量编码器频谱
WV3650M/WH3650M 绝对值旋转编码器
电机在60Hz运行过程中的故障频谱分析
克罗内克积的特征向量
高中数学特征值和特征向量解题策略
设定多圈绝对值编码器当前圈数的方法
转炉系统常用编码器选型及调试
舞台机械技术与设备系列谈(二)
——编码器
三个高阶微分方程的解法研究
FCC启动 首次高频段5G频谱拍卖
动态频谱共享简述