一种黑盒场景下的定向对抗音频生成方法及系统与流程

文档序号:17933458发布日期:2019-06-15 01:07阅读:203来源:国知局
一种黑盒场景下的定向对抗音频生成方法及系统与流程

本发明涉及对抗样本生成技术领域,尤其涉及一种黑盒场景下的定向对抗音频生成方法及系统。



背景技术:

语音识别正以磅礴之势占据着一个智能时代的高点。美国谷歌公司发布的一项调查报告显示,13岁到18岁之间的青少年中,每天都要使用语音搜索的人数比率约为55%。随着大数据、机器学习、云计算、人工智能等技术的发展,语音识别在一步步解放用户的双手,语音输入框也大有取代鼠标、键盘之势。伴随着智能移动设备的普及,语音交互作为一种新型的人机交互方式,正越来越引起整个it业界的重视。

虽然人工智能技术的发展极大程度上提升了语音识别模型准确率,但是人工智能神秘莫测的内部机制也为实际应用埋下了许多安全隐患。通常在设计机器学习系统时,为了保证设计的系统是安全的、可信赖的并且结果能达到预期效果,我们通常会考虑特定的威胁模型,这些模型是对那些企图使我们的机器学习系统出错的攻击者的攻击能力和攻击目标的假设。迄今为止,现有大多数的机器学习模型都是针对一个非常弱的威胁模型设计实现的,没有过多地考虑攻击者。尽管在面对自然的输入时,这些模型能有非常完美的表现,但最近的研究发现,即使性能优良的模型也容易遭受对抗样本攻击——在样本中添加人眼察觉不到的微小扰动后,样本会以很高的置信度被分类错误。如果对抗样本被分类为攻击者指定的类别,那么就称之为定向对抗样本。

目前已有的工作大多数考虑的是对抗图像的生成,对抗音频少有人研究,尤其是黑盒场景下的定向对抗音频。在黑盒场景下,攻击者不知道要攻击的模型的内部架构和参数,只能获取输入数据被分类为每个类别的概率。由于这种场景下攻击者知道的信息非常有限,目前还没有人研究过黑盒场景下的定向对抗音频生成方法。考虑到语音识别模型在实际生活中应用时通常处于黑盒场景下,因此研究黑盒对抗音频样本的生成机理对于研究相应的防御方法以增强实际应用中的语音识别模型的鲁棒性是十分必要的。



技术实现要素:

本发明提供了一种黑盒场景下的定向对抗音频生成方法,该方法可以通过在源音频上添加微小的扰动以达到让语音识别模型识别成特定的内容的目的。

具体技术方案如下:

一种黑盒场景下的定向对抗音频生成方法,包括以下步骤:

(1)选择目标黑盒语音识别模型作为音频识别模型,选择源音频并设定攻击目标;

(2)根据音频识别模型对输入音频采样率的要求,对源音频进行重采样;

(3)提取重采样后源音频的mfcc特征;

(4)采用音频识别模型对所述的mfcc特征进行识别,得到识别结果;

(5)设定目标函数,利用粒子群算法寻找使目标函数值最小的最佳噪声,将最佳噪声与源音频叠加,获得识别结果为攻击目标的定向对抗音频。

所述的黑盒语音识别模型是指参数未知的语音识别模型。本发明的黑盒语音识别模型为对语音进行分类且输出类别固定的模型,如命令词识别模型。攻击目标是指黑盒语音识别模型对定向对抗音频的预期识别结果,例如,定向对抗音频在人耳听起来是“no”,而黑盒语音识别模型的识别结果为“yes”,“yes”即为其攻击目标。

步骤(3)中,所述的mfcc特征为梅尔倒谱系数。由于mfcc在一定程度上模拟了人耳对语音的处理特点,应用了人耳听觉感知方面的研究成果,采用这种技术有助于提高语音识别系统的性能。

步骤(3)包括:

(3-1)对预处理后的音频进行预加重处理,使音频的频谱变得平坦;

(3-2)之后将音频分成若干帧,并将每一帧乘以汉明窗;

(3-3)对各帧音频进行快速傅里叶变换,得到各帧音频的频谱,从音频的频谱获得音频的能量谱;

(3-4)将音频的能量谱通过一组mel尺度的三角形滤波器组;

(3-5)计算每个三角形滤波器输出的对数能量,将对数能量经离散余弦变换,得到mfcc系数阶数阶的mel-scalecepstrum参数;提取音频的动态差分参数;

(3-6)得到mfcc特征。

优选的,mfcc特征提取中的参数为:预加重参数为0.97;512个采样点为一帧,帧与帧之间的重叠区域包含171个采样点,加窗参数为0.46;快速傅立叶变换点数为512;三角形滤波器个数为26;mfcc阶数为16。

步骤(5)中,粒子群算法的目标在于寻找最佳噪音δ,最佳噪音δ与源音频叠加后被音频识别模型识别为攻击目标。

步骤(5)中,所述的目标函数为:

其中,x为源音频,pi(i=1,...,n)为第i个粒子,n为正整数;f(x+pi)j为音频识别模型针对输入x+pi输出为第j类结果的概率;t为攻击目标,f(x+pi)t为音频识别模型针对输入x+pi输出为t的概率;参数κ为小于等于0的常数。参数κ是用来控制误分类的置信度,较小的κ意味着生成的定向对抗音频将以更高的置信度被识别为t,也就是生成的定向对抗音频的攻击效果越好。

步骤(5)中,利用粒子群算法寻找使目标函数值最小的最佳噪声,包括:

(5-1)将迭代次数初始化为0,均匀分布生成n个粒子pi(i=1,...,n),粒子的长度与源音频长度相同;

(5-2)将每个粒子pi分别与源音频x叠加,得到n个音频x+pi;

(5-3)提取音频x+pi的mfcc特征,采用音频识别模型对音频x+pi的mfcc特征进行识别,得到每个音频x+pi的识别结果,并计算其目标函数值g(x+pi);

若存在任一音频x+pi的识别结果为攻击目标,则攻击成功,粒子pi即为最佳噪声;

否则,执行步骤(5-4);

(5-4)将迭代次数加1,均匀分布生成n-1个粒子pi(i=1,...,n-1),并将上一轮次中具有最小目标函数值的粒子加入,作为下一轮迭代的种子;

重复步骤(5-2)~(5-3),直至目标函数收敛,获得使目标函数收敛的粒子pi,即为最佳噪声;

若迭代次数达到设定的最大迭代次数时目标函数仍未收敛,则攻击失败。

本发明还提供了一种黑盒场景下的定向对抗音频生成系统,包括:

数据预处理模块,对源音频数据进行重采样,使源音频的采样率符合黑盒语音识别模型对输入音频采样率的要求;

音频特征提取模块,提取音频数据的mfcc特征;

音频识别模块,具有黑盒语音识别模型,所述黑盒语音识别模型对音频的mfcc特征进行识别,得到识别结果;

粒子群优化模块,具有目标函数,利用粒子群算法寻找最佳噪音,将最佳噪音加入源音频,得到定向对抗音频。

所述定向对抗音频生成系统采用所述的定向对抗音频生成方法生成定向对抗音频。

与现有技术相比,本发明的有益效果为:

本发明的定向对抗音频生成方法能够产生一种添加微小扰动的对抗音频,在人耳听来这种对抗音频与原始音频的内容是一样的,而语音识别模型会将对抗音频识别成另外的特定内容。这种对抗音频的提出为深入分析基于深度学习的语音识别模型的脆弱性提供基础,便于后续研究如何防御对抗音频,提高语音识别模型的鲁棒性。

附图说明

图1为定向对抗音频生成系统的架构示意图;

图2为定向对抗音频生成方法的流程示意图;

图3为mfcc特征提取的流程示意图;

图4为利用粒子群算法寻找最佳噪声的流程示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步详细描述,需要指出的是,以下所述实施例旨在便于对本发明的理解,而对其不起任何限定作用。

本发明的基于粒子群算法的黑盒场景下的定向对抗音频生成系统包括四个模块:数据预处理模块、特征提取模块、音频识别模块、目标函数优化模块,其系统架构如图1所示。

定向对抗音频生成系统生成定向对抗音频的流程如图2所示。假设现有一黑盒语音识别模型,用户想要生成一个人耳听起来是“no”(目标文本)但被这个模型识别为“yes”(原始音频)的12khz采样率、时长1秒的音频,整个流程如下:

(1)将谷歌提供的命令词识别模型作为黑盒语音识别模型,将人耳听起来是“no”的音频作为原始音频,将“yes”作为攻击目标;

(2)命令词识别模型的对输入音频的采样率要求为16khz,根据命令词识别模型的输入要求,数据预处理模块对原始音频进行重采样,即将12khz的音频重采样为16khz的音频;

(3)对预处理后的音频进行mfcc特征提取,mfcc特征提取的流程如图3所示。具体提取过程如下:

(i)预加重处理。首先,将语音信号通过一个高通滤波器,则经过预加重处理后结果为y(n)=x(n)-a·x(n-1),其中x(n)为n时刻语音采样值,a为预加重系数,通常设置为0.97。预加重目的在于消除发声过程中声带和嘴唇的效应,来补偿语音信号受到发音系统所抑制的高频部分,同时突出高频的共振峰。

(ii)分帧加窗。预加重完成后,需要对音频进行分帧处理,即将音频的每512个采样点集合成一帧,帧与帧之间的重叠区域包含171个采样点,然后将分帧后的每一帧乘以汉明窗以增加帧左端到右端的连续性,加窗参数a=0.46。

(iii)快速傅里叶变换。分帧加窗完成后,对各帧信号进行快速傅里叶变换得到各帧的频谱。然后对语音信号的频谱取模平方(即取绝对值的平方)并除以傅里叶变换的点数得到语音信号的能量谱,通常傅里叶变换点数设置为512。

(iv)三角带通滤波。将能量谱通过一组mel尺度的三角形滤波器组,对能量谱进行平滑,并消除谐波的作用,突显原先语音的共振峰。三角带通滤波器个数为26。

(v)计算滤波器输出的对数能量。首先,计算每个滤波器输出的对数能量s(m),然后将计算所得的对数能量代入离散余弦变换,求出mfcc系数其中m为三角滤波器个数,为26;n为傅里叶变换点数,l为mfcc系数阶数,取16。

(vi)动态差分参数的提取。标准的倒谱参数mfcc只反应了语音参数的静态特性。我们可以通过提取动态差分参数来描述语音的动态特性。

动态差分参数计算如下:

其中,dt表示第t个一阶差分参数,ct表示第t个倒谱系数,q表示倒谱系数的阶数,k表示一阶导数的时间差(可取值1或2)。dt公式迭代两次即可得到mfcc的二阶差分参数。

(4)用谷歌提供的命令词识别模型对提取的mfcc特征进行识别,得到识别结果为“no”,识别结果的置信度为0.9;

(5)利用粒子群算法寻找使目标函数值最小的扰动,具体为:

为了让粒子群朝着最大化目标类别概率的方向移动,将目标函数设置为:

其中,x代表输入的音频,pi(i=1,...,n)代表粒子i,共有n个粒子。f(x+pi)j代表语音识别模型针对输入x+pi输出的第j类的概率;令t代表攻击者指定的类别,则f(x+pi)t代表语音模型将输入分类为t的概率;参数κ是用来控制误分类的置信度,其值小于等于0,较小的κ意味着生成的对抗音频将以更高的置信度被识别为t,也就是生成的对抗音频的攻击效果越好。

根据给定的参数(κ=0),利用粒子群算法最小化目标函数,如图4所示,具体包括:

(a)首先将迭代次数初始化为0,并从[-1,1]均匀分布生成25个粒子随机序列,粒子的长度与原始音频长度相同,均为16000个点;

(b)将每个粒子pi分别叠加到原始音频x上得到25个新的音频x+pi,重复步骤(3)和(4),记录每个x+pi的识别结果f(x+pi)并计算其目标函数值g(x+pi);

(c)如果存在任一x+pi的识别结果为“yes”,则攻击成功,并且粒子pi是预期的最佳噪声δ;

否则,则执行步骤(d);

(d)将迭代次数加1,从[-1,1]均匀分布生成24个粒子,并将上一伦次中具有最小目标函数值的粒子加入,作为下一轮迭代的种子;

重复步骤(b)~(c),直到目标函数收敛,获得使目标函数收敛的粒子pi,即为预期的最佳噪声δ;

若迭代次数达到设定的最大迭代次数时目标函数仍未收敛,则表示攻击失败;

(6)将最佳噪声δ与原始音频x叠加,就获得了对抗音频,即音频在人耳听来是“no”,但被语音识别模型识别为“yes”。

以上所述的实施例对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的具体实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1