你听到的声音是模型听到的吗?一种增强声音分类模型鲁棒性的方法
Esmaeilpour M, Cardinal P, Koerich A L. A robust approach for securing audio classification against adversarial attacks[J]. IEEE Transactions on Information Forensics and Security, 2019.
摘要:对抗音频攻击是对音频信号添加轻微扰动,该扰动人耳不可感知的,但会使机器学习模型出现预测错误。对机器学习模型的欺骗将造成一定的安全隐患。文章首先回顾了几种强力的对抗攻击方式,这些对抗攻击将影响到音频信号以及他们的数据二维表示(2D representation),二维表示主要有离散小波变换(Discrete Wavelet Transform,DWT)、短时傅里叶变换(Short Time Fourier Transform,STFT)、交叉递归图(Cross Recurrence Plot,CRP)。然后评估基于二维数据训练的深度学习模型和SVM模型在面对对抗攻击后的韧性(Resiliency)。之后,作者提出了一种基于DWT的音频信号表示的SVM分类方法,用来抵抗对抗攻击。该方案包含预处理模块,如降低维度和平滑,用来生成和增强声谱图;特征提取模块:利用加速稳健特征算法(speeded up robust feature,SURF)对声谱图的每个small patch提取特征;模型训练模块:通过SURF算法生成的特征输入到SVM模型进行训练。以上提出的方法都是为了让模型的准确率和抵抗性达到一个平衡。作者在三个自然声音分类数据集上进行试验,在对抗攻击下,准确率和鲁棒性都跟深度学习效果相当。
一、背景介绍
对抗攻击在计算机视觉领域研究较多,在音频信号领域研究较少,其中一个可能的原因是对抗性算法在应用于音频信号时,由于音频信号的高维性而带来了相当大的优化开销。但是,在音频应用上,如语音助手、语音识别、说话人识别、声音分类等,对音频信号或模型的恶意攻击将造成模型错乱和极大的安全隐患。
目前,音频对抗攻击的样本生成可以从两方面入手:(1)通过改变人类无法感知的振幅和频率来生成。需要注意的是,这样生成的对抗样本有可能被认为是噪音。(2)通过对音频数据的二维特征(如频谱图)进行扰动,使得模型预测出现错乱。
在声音分类方向,基于CNN的模型(AlexNet/GoogLeNet)性能表现最优,但模型抗攻击能力较差。SVM模型性能比深度学习模型较差,但抗攻击能力较强,因为从模型原理上SVM就是找到低维边界(支持向量),可以排除多数非支持向量的影响,降低了扰动的可能性。本文的研究基于SVM模型,目的是取得跟深度学习模型效果相近的同时具备更强的抗干扰能力。
1. 对抗攻击(Adversarial Attack)/逃逸攻击(Evasion Attack)的分类:
逃逸攻击是指攻击者在不改变目标机器学习系统的情况下,通过构造特定输入样本以完成欺骗目标系统的攻击。对抗攻击有多种分类方式,最常见的分类方式是根据其是否了解模型和是否有攻击目标来分。
根据攻击者是否了解模型,可以分为黑白盒攻击两类。
白盒攻击:攻击者能够获知机器学习所使用的算法,以及算法所使用的参数。攻击者在产生对抗性攻击数据的过程中能够与机器学习的系统有所交互。
黑盒攻击:攻击者并不知道机器学习所使用的算法和参数,但攻击者仍能与机器学习的系统有所交互,比如可以通过传入任意输入观察输出,判断输出。
根据是否有攻击目标,可以分为无目标攻击和有目标攻击两类。
无目标攻击(untargeted attack):对于一张图片,生成一个对抗样本,使得标注系统在其上的标注与原标注无关。换而言之,只要攻击成功就好,对抗样本的最终属于哪一类不做限制。
有目标攻击(targeted attack):对于一张图片和一个目标标注句子,生成一个对抗样本,使得标注系统在其上的标注与目标标注完全一致。换而言之,不仅要求攻击成功,还要求生成的对抗样本属于特定的类。
比如常用的熊猫例子,如果我只需要模型无法识别出这是一只熊猫,系统把它识别成猩猩兔子都可以,就叫做无目标攻击。如果我不仅需要系统将其识别为一只熊猫,还需要系统将它识别为我指定的一个东西,比如说我想让他将熊猫识别为长臂猿,这就叫做有目标攻击[1]。
2. 本文的对抗攻击方法
(1)Fast Gradient Sign Method(FGSM):快速梯度逐步算法(Fast Gradient Step Method ,FGSM)可以分解对抗过程。这个方法的关键就是在每一步分析的过程中加入少量Noise,让预测结果朝目标类别偏移。有时候需要限制Noise的振幅以使得攻击更加隐蔽, 以防被反侦察。在图像领域,Noise的振幅意味着像素通道的强度,这意味着限制振幅可以确保Noise几乎无法察觉,最理想的情况就是,经过Noise的图片看起来仅像一个压缩的jpeg文件。具体参考:[1][2]
(2)Basic Iterative Method(BIM):BIM-a,BIM-b 二者都是FGSM的迭代版本,也就是I-FGSD(Iterative gradient sign Method)。不同的是,BIM-a在生成第一个对抗样本后就停止,BIM-b则迭代生成指定数目的对抗样本。
(3)CWA:来自论文《Towards Evaluating the Robustness of Neural Networks》作者将求取对抗样本的过程,构建为了一个最优化问题,如下图所示,具体过程参考[3][4][5]。
(4)Evasion attack (EA):来源于论文《Evasion attacks against machine learning at test time》,通过改变样本的分布来影响真实的样本标签。
(5)Label Flipping Attack (LFA):来源于论文《Adversarial label flips attack on support vector machines》,通过翻转样本的真实标签来改变样本。
3. 对音频信号的两种攻击方式:
(1)Backdoor Attack:对超过人耳感知的频段加入噪音,噪音可以被收音设备感知到,使得模型出错。
该方法缺少通用的对抗频率计算方法,也就是根据不同音频信号加载不同频率,非常耗时。另外当音频信号转化为2D表示后,只要检测其频谱,加入的干扰很容易被发现。《Backdoor: Making microphones hear inaudible sounds》
(2)Dolphin Attack:一种理想的方式是对抗音频不管在1D还是2D表示时,都不能被发现。DolphinAttack就是一种攻击信号的相位域来改变样本的标签,并且人耳无法感知的方式。《Inaudible voice commands》
作者没有将以上两种方式归类为对抗攻击,理由有两点:1.对抗样本落在了真实样本和噪声的分布区域,而它本来应该落在自己的分布域。2.这两种方式产生对抗样本是通过人工或贪心算法得到,在实际场景中很容易被防御模型检测到。因此作者只使用了之前介绍的5种对抗攻击方式。
4. 对抗样本的检测:
Local Intrinsic Dimensionality score (LID),LID用来区分normal,noise类和adversarial类,通过对抗学习得到的对抗样本(adversarial类),其分布应该区别于正常数据样本或噪音。文章将两个类别的标签分别定义为negative和positive。该检测算法的具体计算如下:
其中k表示样本的邻居个数,分子表示样本x跟最近邻样本点的距离,分母表示最远距离样本点的距离。
二、论文方法
本文的提出的方法主要分为三个步骤:
1. 对音频提取三个声谱表示,同时经过color compensation, highboost filtering, dimensionality reduction, and smoothing。
2. SURF对频谱图每个patch进行特征提取,并通过K-means++最大化特征向量之间的几何距离。
3. SVM进行训练和预测。
(一)频谱的表示和预处理
1. 音频信号的二维表示:本文不考虑从1D表示到2D表示都能适配的对抗方式,主要研究的是2D表示下的音频对抗攻击。二维表示主要有离散小波变换(Discrete Wavelet Transform,DWT)、短时傅里叶变换(Short Time Fourier Transform,STFT)、交叉递归图(Cross Recurrence Plot,CRP)。
2. 对于音频的三种2D表示(DWT,STFT,CRP),作者通过linear,logarithmic, and logarithmic real三种标度来进一步处理。其中linear标度主要高亮高频部分,logarithmic高亮低频部分,logarithmic real则主要跟信号均值相关,高亮信号的能量。
3. 频谱的预处理:频谱预处理的目的是提高Accuracy;提升模型抗攻击能力;生成更多训练数据。
(1)Color Compensation:将频谱映射到三个色彩空间BBG、PG、WB。三种频谱表示以及三种颜色填充,让数据变成原来的9倍。
(2)highboost filtering:加强高频成分同时保留低频成分。
(3)pitch shifting:采用MUDA library加速和慢放音频扩充数据,经过过Pitch-shifting后样本增加到原来的8倍。
(4)Dimensionality Reduction:采用奇异值分解(SVD)进行特征降维。
(5)CDA Smoothing:CDA能很好地适配数据并易于重构,另外CDA的平滑操作可以让频谱对于微小的对抗扰动更鲁棒,从而使机器学习模型更稳定。CDA网络结构如下:
(二)特征提取
1. Zoning and Grid Shifting:对频谱图采用不同size的方片[16,32,64,96,128]和对应不同大小的stride[5,4,3,2,1]进行采样(类似CNN中的卷积采样过程);然后使用SURF提取每个patch(block)的特征。
2. Feature Extraction:考虑到模型准确率和鲁棒性,SURF特征提取方式优于CNN的效果。因为前者是映射的梯度特征,而基于DNN的特征虽然有很高准确率,但是很容易受到对抗攻击的干扰。另外,对比SURF和SIFT(scale invariant feature transform)两种特征提取算法,前者虽然提取的特征更少,但是计算更快,因此最终选择SURF。
3. Feature Transformation:对特征向量采用Kmeans++进行聚类,聚类中心个数就是样本的类别数。得到每个类别的聚类中心后,采用论文[41]的方法将每个类下的向量进行映射,得到新的向量。如此不同类之间的欧式距离将变大,利于模型分类训练。
(三)SVM进行训练和预测:将处理完的特征向量输入到多分类支持向量机(multiclass SVM),进行模型训练与预测。
三、实验数据
(1)ESC-50, ESC-10:ESC-50含2000个自然界的短音频(5秒),分为50个小类,5个大类(动物、自然音效、人类非说话音、室内音、室外/城市的声音)(animals, natural soundscapes, human non-speech sounds, interior/domestic sounds, and exterior/urban noises)。每个小类下含40个样本。 ESC-10是 ESC-50的子集,只含有400个音频,10个小类(dog bark, rain, sea waves, baby cry, clock tic, person sneeze, helicopter, chainsaw, rooster, and fire cracking)。下载链接:https://github.com/karolpiczak/ESC-50
(2)UrbanSound8K:包含8732个短音频,每个音频最长4秒,分为10个类别(air conditioner, car horn, children playing, dog bark, drilling, engine idling, gun shot,jackhammer, siren, and street music)。下载链接:https://urbansounddataset.weebly.com/urbansound8k.html
四、实验结果
实验分为4个部分:
1. 评测现有的对抗攻击方法对2D的音频数据的攻击是否可探测。
2. 对比新提出的算法与AlexNet和GoogLeNet的预测效果。
3. 对比新提出的算法与AlexNet和GoogLeNet的抗攻击能力。
4. 对抗攻击算法在不同模型下的可迁移性(CNN、SVM)。
5. 参数分析。
1. 评测Backdoor和DolphinAttack两种方式产生的对抗样本是否可检测
实验结果表明:两种攻击方式的效果跟样本中加入噪声几乎相同,LID的分值非常低,几乎无法区分对抗生成的样本和原始样本及噪音。并且分类器的准确率也很低。说明这两种对抗攻击方式很难被检测到,不能作为对抗样本的生成方式。
2. 对比新提出的算法与AlexNet和GoogLeNet的预测效果。
实验结果表明:AlexNet and GoogLeNet 效果最佳,新提出的算法次之,SVM效果最差。但性能最好不代表鲁棒性最佳。
3.4. 对比新提出的算法与AlexNet和GoogLeNet的抗攻击能力。对抗攻击算法在不同模型下的可迁移性(CNN、SVM)。
实验结果表明:
(1)两种模型CNN、SVM都容易被针对的攻击给欺骗,被欺骗的概率在90%以上。作者提出的模型则面对所有攻击,被欺骗的概率都在58.15%到71.64%之间。
(2)DL模型适合采用FGSM、BIM-a、BIM-b、CWA进行攻击,SVM适合采用EA和SVM Attack攻击。不同的攻击方式的迁移性不是很高,如针对CNN的攻击方式对SVM则效果较差,反之亦然。
(3)提出的模型准确率第三,但防欺骗的能力第一,在二者之间达到平衡(参考第二个表)。
5. 参数分析
(1)消融实验:去除每个模块后,模型的准确率和鲁棒性所受的影响
(2)设置不同的zoning size和窗移大小,对准确率的影响。
五、总结及评价
1.对于SVM和深度学习算法的对抗攻击,采用CDA平滑、SVD降维、频谱的可视化表示以及滤波器过滤可以有效地增强模型的鲁棒性,并且提升SVM算法的准确率。在处理音频信号时,这些方法可以加入,提升模型的可靠性。
2. 论文专注于2D音频信号表示下的对抗攻击,面对原始的一维信号的攻击也是值得关注的研究点。
参考文献:
[1] AI与安全「2」:Attack AI(2)破坏模型完整性——逃逸攻击 https://www.zuozuovera.com/archives/1637/
[2] 什么是对抗攻击?https://zhuanlan.zhihu.com/p/30856685
[3] <EYD与机器学习>:对抗攻击基础知识(五):https://zhuanlan.zhihu.com/p/39285664
[4] 关于Towards evaluating the robustness of neural networks的理解https://blog.csdn.net/kearney1995/article/details/79904095
[5] [论文阅读笔记]Towards Evaluating the Robustness of Neural Networks(CW)https://blog.csdn.net/Invokar/article/details/96698653
- 点赞
- 收藏
- 关注作者
评论(0)