(1997- ), 男, 硕士生, 主要研究领域为人工智能软件测试, 图像检索
(1987- ), 女, 博士, 副教授, CCF专业会员, 主要研究领域为软件建模, 测试与验证
(1981- ), 男, 博士, 博士生导师, CCF高级会员, 主要研究领域为人工智能软件测试, 服务计算, 数据科学
(1995-), 男, 博士生, CCF学生会员, 主要研究领域为数据安全, 人工智能软件测试
(1996-), 男, 硕士生, 主要研究领域为人工智能软件测试
(1996-), 男, 硕士生, 主要研究领域为人工智能软件测试
(1997-), 男, 硕士生, 主要研究领域为人工智能软件测试
随着深度学习技术的成熟, 智能语音识别软件获得了广泛的应用, 存在于智能软件内部的各种深度神经网络发挥了关键性的作用. 然而, 最近的研究表明: 含有微小扰动的对抗样本会对深度神经网络的安全性和鲁棒性构成极大威胁. 研究人员通常将生成的对抗样本作为测试用例输入到智能语音识别软件中, 观察对抗样本是否会让软件产生错误判断, 从而采取防御方法来提高智能软件安全性和鲁棒性. 在对抗样本的生成中, 黑盒智能语音软件在生活中较为常见, 具有实际的研究价值, 而现有的生成方法却存在一定的局限性. 为此, 针对黑盒智能语音软件, 提出了一种基于萤火虫算法和梯度评估方法的目标对抗样本生成方法, 即萤火虫-梯度对抗样本生成方法. 针对设定的目标文本, 在原始的音频样本中不断加入干扰, 根据当前对抗样本的文本内容与目标文本之间的编辑距离, 选择使用萤火虫算法或梯度评估方法来优化对抗样本, 最终生成目标对抗样本. 为了验证方法的效果, 在常用的语音识别软件上, 使用公共语音数据集、谷歌命令数据集和LibriSpeech数据集这3种不同类型的语音数据集进行了实验评估, 并寻找志愿者进行对抗样本的质量评估. 实验表明, 提出的方法能有效提高目标对抗样本生成的成功率, 例如针对DeepSpeech语音识别软件, 在公共语音数据集上生成对抗样本的成功率相比对比方法提升了13%.
With the maturity of deep learning technology, intelligent speech recognition software has been widely used. Various deep neural networks in the intelligent software play a crucial role. Recent studies have shown that minor disturbances in adversarial examples significantly threaten the security and robustness of deep neural networks. Researchers usually take the generated adversarial examples as the test cases and input them into the intelligent speech recognition software to test whether the adversarial examples will make the software misjudge. And then defense methods are adopted to improve the security and robustness of intelligent software. For the adversarial example generation, black box intelligent speech software is more common in life and has practical research value. However, the existing generation methods have some limitations. Therefore, this study proposes a target adversarial example generation method for the black box speech software based on the firefly algorithm and gradient evaluation method, namely the firefly-gradient adversarial example generation method. With the set target text, disturbances are added to the original speech example. The firefly algorithm or gradient evaluation method is chosen to optimize the adversarial example according to the edit distance between the text of the current generated adversarial example and the target text so that the target adversarial example is generated finally. To verify the effectiveness of the method, this study conducts an experimental evaluation on common speech recognition software, using three different types of speech datasets: Common Speech dataset, Google Command dataset and LibriSpeech dataset, and looks for volunteers to evaluate the generated adversarial examples. Experimental results show that the proposed method can effectively improve the success rate of target adversarial example generation. For example, for the DeepSpeech speech recognition software, the success rate of generating adversarial examples on Common Speech datasets is 13% higher than that of the compared method.
近年来, 随着机器学习, 尤其是深度学习技术的成熟, 智能软件因其高效率、高准确率以及所需时间成本较低等优势, 受到人们欢迎并被广泛使用. 其中, 智能语音软件, 例如科大讯飞的语音翻译、谷歌公司的语音助手、苹果手机的Siri等, 在生活中应用非常广泛. 此外, 智能语音识别软件在智能家居[
然而, Goodfellow等人[
在语音对抗样本的研究中, 根据智能语音识别软件内部结构是否被人了解, 可以将对抗样本生成方法分为针对白盒软件和黑盒软件两种类型. 白盒软件是指人们已经了解其内部结构和参数的语音识别软件, 根据这些信息采取相应的方法来生成对抗样本. 反之, 对于人们不了解其内部结构和参数, 只能从输入和输出上进行观察的智能语音识别软件, 则称为黑盒软件. 在实际应用中, 多数智能语音识别软件是黑盒的, 例如谷歌公司的语音助手、苹果手机的Siri, 普通用户无法了解这些软件的内部结构和参数. 另一方面, 根据样本是否指定生成目标, 又可以将对抗样本分为非目标对抗样本和目标对抗样本. 非目标对抗样本要求生成的对抗样本相应文本内容与原始样本不相同即可. 而目标对抗样本不仅要求对抗样本文本内容和原始样本不相同, 而且要求其文本内容与预先设置的目标文本完全相同. 在实际应用中, 非目标对抗样本会使被测软件做出任意错误的预测, 而目标对抗样本则会引导被测软件产生期望的错误, 后者通常会产生更具破坏性的影响. 例如, 在声控驾驶的场景中, 智能软件应该将语音命令识别为“turn left”. 对于非目标对抗样本, 软件可能会错误地将其识别为无效命令“turn loft”. 而在目标对抗样本中, 软件可能会将其识别为完全相反的命令“turn right”, 使得汽车转向改变, 甚至可能导致交通事故的发生. 因此, 针对黑盒智能语音软件的目标对抗样本生成具有实际价值, 是值得研究的.
针对黑盒语音识别系统已提出了一些对抗样本生成方法[
(1) 在对黑盒智能语音软件进行对抗样本的生成时, 多数方法侧重于非目标对抗样本的生成, 而生成目标对抗样本作为测试用例的研究却不多.
(2) 一些方法在实验评估时采用的语音数据集较为单一, 只是运用一些包含简单单词、短语的语音数据集, 却很少使用包含中等句或长句内容的语音数据集, 这导致了这些对抗样本生成方法普适性不强, 往往只是针对某种特殊的语音数据集.
(3) 现有的针对黑盒智能语音软件的目标对抗样本生成方法, 成功率比较低. 例如Taori等人[
由于萤火虫算法[
(1) 提出了一种基于萤火虫算法[
(2) 将提出的语音对抗样本生成方法应用在多个常用的语音数据集上, 进行实验评估. 这些语音数据集包括公共语音数据集[
(3) 进行了大规模的实验来评估方法的效果, 并寻找志愿者测试生成的对抗样本对人听觉的影响. 结果表明, 与现有生成方法相比, 提出的方法针对不同的语音数据集, 对抗样本语音相似度和生成样本所需时间略差于对比方法的情况下, 生成对抗样本的成功率均优于其他方法. 例如在公共语音数据集上, 生成目标对抗样本的成功率相比基于遗传算法和梯度评估的对抗样本生成方法[
本文第1节对所作研究的背景知识, 包括语音识别、萤火虫算法、梯度评估方法以及编辑距离进行基本介绍. 第2节对现有针对智能语音软件的对抗样本生成方法进行总结. 第3节对提出的萤火虫-梯度对抗样本生成方法进行详细介绍. 第4节介绍评估实验的设置, 包括使用的语音数据集、语音识别软件、方法衡量指标、对照方法以及参数选择. 第5节是对于实验结果的详细分析, 包含对生成对抗样本的人工验证. 第6节则对全文进行总结, 方法存在的问题以及未来的工作.
语音识别是语音领域中的常见技术, 它的功能是通过智能语音识别软件理解输入的音频, 并将其正确转换成相应的文本内容. 传统语音识别软件[
End-to-end speech recognition system
端到端语音识别系统
(1) 预处理: 对信号量低于阈值的时间域进行删除, 最常用的技术是语音活动检测技术(VAD)[
(2) 特征提取: 就是从语音信号中提取出相关的语音特征. 常用的语音特征提取方法有梅尔倒谱系数(MFCC)[
(3) 基于模型的预测: 将提取的特征作为输入, 和软件模型进行匹配来得到预测的结果. 当前的软件模型大多采用具有联结主义时间分类(connectionist temporal classification, CTC)损失函数[
萤火虫算法属于群智能算法[
(1) 萤火虫之间的吸引不考虑性别, 即不考虑这种吸引属于同性吸引还是异性吸引.
(2) 萤火虫之间的吸引度与它们的亮度相关联. 因此, 对于任意两只萤火虫来说, 亮度低的萤火虫将会朝着光度高的物种所在位置进行移动. 同时, 二者之间的吸引度和亮度都随着二者之间的距离增大而减小, 反之会增加吸引度. 对于萤火虫来说, 如果没有任何其他萤火虫的亮度比它的高度高, 那么它就会在原位置周围进行随机移动.
(3) 萤火虫亮度
在萤火虫算法中, 有两个重要的部分: 亮度
其中,
其中, “|| ||2”这种格式是范式的表现形式.
假设一只萤火虫
其中, 公式右侧第1项表示萤火虫
梯度评估方法, 是一种针对黑盒智能软件的对抗样本生成方法. 受白盒生成方法的启发, 其直接对黑盒软件内部的梯度进行评估, 以支持黑盒软件的对抗样本生成, 提出了一种基于有限差分法[
本文采用基于有限差分法的梯度评估对抗样本生成方法. 假设软件的梯度函数为
其中,
编辑距离[
目前对于图像领域对抗样本生成方法的研究[
Carlini等人[
以上所提出的都是针对白盒智能语音识别软件的对抗样本生成方法, 是在用于了解语音识别软件内部参数的情况下而采用的方法. 然而, 对于内部参数和结构都无法获得的黑盒智能语音软件, 上述方法就会失去作用. 因此, 研究人员对于黑盒语音识别软件的对抗样本生成也进行了研究.
Alzantot等人[
本文设计的萤火虫-梯度对抗样本生成方法, 针对内部结构和参数未知的黑盒语音软件, 通过萤火虫算法以及梯度评估方法这两种优异的优化算法, 向原始音频样本中加入干扰噪声, 不断进行迭代, 最终生成目标对抗样本. 方法的系统框架如
(1) 种群初始化: 以萤火虫算法为代表的群智能算法的思想, 是在含有多个个体的种群中进行优化操作, 寻找满足条件的最优个体. 同样, 梯度评估方法也需要对多个个体进行梯度处理, 最终挑选出最优个体. 然而, 原始音频样本仅提供了一个样本个体, 不满足萤火虫算法和梯度评估方法的使用条件. 因此, 有必要对原始样本进行扩充, 形成包含多个样本个体的种群. 另外, 为了使个体间产生差异, 还需要向种群中加入随机噪声, 完成种群初始化操作.
(2) 初始对抗样本生成: 种群初始化完成后, 根据选择的适应度函数, 给种群中所有个体进行评分, 寻找到当前满足条件的最优个体, 将其作为初始的对抗样本, 并输入到语音软件中, 得到样本对应的文本内容. 为了解生成对抗样本文本内容与目标文本的差距, 采用编辑距离这一指标来衡量对抗样本的文本内容转换到目标文本所需操作次数.
(3) 目标对抗样本生成: 生成初始对抗样本后, 使用萤火虫算法或梯度评估方法继续进行优化, 样本优化算法的选择取决于对抗样本的文本内容与目标文本之间的编辑距离: 当其小于一定的数值时, 采用萤火虫算法进行寻优的效果将会减弱, 则采用梯度评估方法进行对抗样本的局部优化. 经过不断迭代, 如果生成对抗样本的文本内容与目标文本之间的编辑距离为0, 意味着样本对应的文本内容和设置的目标文本完全相同, 则成功地生成了目标对抗样本.
Overall framework of the method
方法总体框架
给定原始音频样本
首先, 需要构造出包含多个样本个体的种群, 以便于在后续工作中使用萤火虫算法和梯度评估方法, 在种群中寻找最优样本个体. 然而, 目前的输入只有一个原始音频样本, 不存在包含多个样本的种群. 因此, 需要对输入个体进行扩充操作: 将原始音频样本转换成一维矩阵, 并扩充成为
由原始的音频样本扩充生成的样本种群, 个体之间不存在差异. 在这种情况下无法选择出最优个体. 为此, 可以通过向种群中所有个体随机添加细微噪声的方式, 使得个体间形成一定差异. 加入的细微噪声可以当做原始音频样本中的背景噪声. 为了防止噪声过大而对原始音频样本的内容造成干扰, 导致用户无法听清原始音频的内容, 需要对噪声进行特定处理. 根据Reichenbach等人[
在优化方法中, 通常需要一种衡量种群个体表现的函数, 称为适应度函数. 优化方法会根据样本个体的适应度函数值来选择当前最优个体, 不断进行优化. 针对特定问题, 一般需要人为选择适当的函数, 来作为算法的适应度函数. 适应度函数的选择对于总体方法的性能表现来说是非常重要的.
在本方法中, 使用语音领域常用的CTC损失函数[
(1) CTC损失函数在使用时不要求原始音频样本与对应文本内容间的严格对齐, 处理起来更为方便.
(2) CTC损失函数可以有效衡量生成对抗样本的文本内容与目标文本之间的接近程度, 即损失函数的数值越小, 意味着二者的文本内容越接近.
因此, 对抗样本的生成需要不断减小损失函数, 即适应度函数值, 使得样本的文本内容与目标文本越来越接近. 使用适应度函数对初始化后的个体进行评分, 得到相应的数值, 并使用排序算法按适应度函数值从低到高对种群个体进行排序, 记录最低适应度函数值, 生成初始语音对抗样本. 将生成的对抗样本输入到选择的黑盒智能语音软件中, 得到相应的文本内容.
尽管适应度函数值能够衡量对抗样本的文本内容与目标文本之间的接近程度, 然而, 这对于用户来说并不容易理解: 用户只是知晓函数值在不断下降, 但是不清楚下降到什么数值时会生成最终的目标对抗样本. 并且用户也不了解每一轮迭代后生成对抗样本的文本内容与目标文本二者之间的具体差异, 即对抗样本的文本内容还需要多少次文本转换操作才能最终变成目标文本. 因此, 需要采用一种衡量文本之间转换所需操作次数的指标. 由于编辑距离在衡量字符串之间转换次数的优异表现, 因此, 方法使用编辑距离这一常用指标来衡量对抗样本文本内容与目标文本之间的具体差异.
大量实验表明, 萤火虫算法的优化效果优于遗传算法和粒子群优化算法. 而梯度评估方法对于样本局部区域的优化效果也比较好. 因此, 根据编辑距离的不同情况, 选择使用萤火虫算法或梯度评估方法, 来对生成的对抗样本进行优化操作. 下面将对这两种算法的使用进行详细介绍.
(1) 萤火虫算法: 目前为止, 只是生成了初始的对抗样本. 为了生成目标对抗样本, 还需使用萤火虫算法不断进行迭代, 来降低最优个体的适应度函数值, 以及对抗样本文本内容与目标文本之间的编辑距离(以下简称编辑距离). 为了继续寻找全局最优个体以及对应的适应度函数值, 还需要继续对当前最优个体的矩阵形式进行扩充, 形成行数为
形成新种群后, 采用萤火虫算法进行种群个体间的位置移动. 设定种群中萤火虫个体的适应度函数值和所在位置有关, 而个体位置可以用个体代表的一维矩阵的数值来表示. 如果种群中任意两个个体之间的适应度函数值不同, 那么适应度值高的个体会在相应一维矩阵的所有维度上向函数值低的个体所在位置进行移动, 即一维矩阵的数值发生改变, 而种群中适应度函数值最低的个体则会在原位置周围进行随机移动, 即一维矩阵的数值发生微小的改变. 其余的萤火虫个体会向最优个体所在位置进行靠拢. 在萤火虫个体移动的同时, 任意两个适应度不同的个体间的吸引度也会随着距离远近发生改变. 等待种群中全部个体的移动结束之后, 种群个体所在位置会发生一定的改变, 相应的适应度函数值. 经过萤火虫算法的不断迭代后, 最优位置将会被找到. 在个体随机移动方法的选择上, 本方法采用–1到1的均匀分布作为个体位置的随机移动方式. 根据适应度函数值, 使用排序算法对所有个体进行排序并记录下当前适应度函数最优个体并记录最优函数值, 生成相应的对抗样本. 将当前最优个体输入到黑盒智能语音软件中, 得到对抗样本的文本内容, 计算新的文本内容与目标文本之间的编辑距离. 将新的最优个体的矩阵形式进行扩充, 不断重复上面的操作. 有关萤火虫算法的详细步骤如算法1所示.
在经过萤火虫算法的多次迭代后, 种群最优个体适应度函数值以及编辑距离都会不断减小, 使得生成对抗样本的文本内容越来越接近目标文本. 例如, 将原始内容为“hello world”的音频样本加入扰动, 逐渐生成诸如“hell word”“fel horp”“for hp”等文本内容. 可以观察到, 随着算法的不断迭代, 生成对抗样本的文本内容向目标文本“for help”不断靠近.
算法
输入: 原始语音样本
输出: 一个目标语音对抗样本
1 初始化
2
3 scores
4 当前最优萤火虫个体
5 扩充当前最优萤火虫的个体数量, 形成萤火虫新种群
6 给新种群个体加入噪声
7
8
9 处于
10 i
11 将个体
12
13 个体之间吸引度随着距离而变化
14 更新种群中个体的适应度函数值
15
16
17 根据适应度函数值对种群个体进行排序, 找到当前最优个体
18
19
(2) 梯度评估方法: 萤火虫算法主要用于全局优化, 即在一个比较大的范围内寻找当前最优个体. 然而, 当生成对抗样本的文本内容十分接近目标文本, 即当前编辑距离小于一定的数值时, 如果继续使用萤火虫算法, 寻优效果将会大大减弱. 例如当前生成的对抗样本内容为“for hp”, 距离目标文本“for help”只有2个编辑距离时, 使用萤火虫算法, 不论如何加入噪声, 种群个体一维矩阵的数值只会发生微小改变, 即种群中样本个体的位置相对固定, 不会进行显著移动. 种群中寻找到的最优个体长期保持不变, 只是在原始位置周围进行非常微小的随机移动, 这样就会导致最优个体适应度函数值下降程度相比之前较为缓慢, 而编辑距离也会长时间保持不变, 直至达到最大的迭代次数, 生成对抗样本的过程就会陷入僵局. 由于此时生成对抗样本的文本内容已经非常接近目标文本, 只需要在对抗样本的关键区域加入一些细微扰动, 就可以最终生成目标对抗样本. 因此, 需要采用另外的方法对生成的对抗样本进行局部优化, 在不改变最优种群个体的情况下, 也能最终生成目标对抗样本.
为此, 我们采用基于有限差分法的梯度评估对抗样本生成方法, 把适应度函数值当做梯度评估方法中的梯度对象. 这样做的目的是在不改变种群个体的情况下, 对样本梯度进行处理, 减小梯度与编辑距离的值, 使其能够最终生成目标对抗样本. 首先, 需要将当前最优个体的矩阵形式进行扩充, 形成
在总体方法中, 根据Taori等人[
算法
输入: 原始语音样本
输出: 一个目标语音对抗样本
1 初始化
2
3
4 当前最优萤火虫个体
5 扩充当前最优萤火虫的个体数量, 形成新种群
6 给新种群中每个个体增加一些细微的干扰
7 更新种群中个体的适应度函数值
8 使用公式
9 使用公式
10
11
提出的方法将萤火虫算法与梯度评估方法进行结合, 即使用萤火虫算法在全局上进行扰动, 使用梯度评估方法进行局部关键扰动, 不断进行迭代, 生成目标对抗样本. 当迭代次数达到设置的最大次数, 或生成对抗样本的文本内容与设置的目标文本完全一致的条件下, 方法运行结束. 如果最终生成的对抗文本和目标文本之间的编辑距离为0时, 表示使用萤火虫-梯度方法, 在原始的音频样本上成功生成了目标对抗样本.
本节对实验设置进行介绍, 用于评估提出的萤火虫-梯度评估方法生成对抗样本的实际效果, 主要从生成目标对抗样本的语音相似度、生成对抗样本所需时间以及成功率这3种指标来进行实验评估.
实验选择公共语音数据集[
实验采用DeepSpeech作为待测试的智能语音识别软件. DeepSpeech是由百度开发的, 一种常用的端到端深度语音识别软件, 尤其在有噪声的环境中具有较好的语音识别效果. 而且该软件是通过CTC损失函数来计算预测的误差, 使用更为方便. 在实验中, 将每一轮迭代生成的语音对抗样本输入到DeepSpeech软件中, 输出当前对抗样本相应的文本内容, 将其与目标文本进行对比.
实验所用系统环境为Ubuntu 16.04系统, 使用Python语言作为实验的编程语言, 使用的深度学习平台框架为TensorFlow 1.12.
实验采用语音相似度、生成对抗样本所需时间以及生成对抗样本成功率这3个指标来衡量对抗样本生成方法的效果. 下面对这3个指标进行详细介绍.
(1) 语音相似度: 提出的方法通过在原始样本中不断添加噪声进行干扰, 最终生成对抗样本. 为了衡量加入噪声后的对抗样本与原始样本之间音频的差异, 需要知道二者音频方面的相似程度. 为此, 实验引入了皮尔逊相关系数
其中,
(2) 生成时间: 生成目标对抗样本所需时间越短, 表明该方法在时间效率方面表现更为优异. 虽然可以通过比较各种算法的迭代次数来衡量生成效率, 但是考虑到本算法和对比方法的每一轮迭代所需时间都不相同, 简单使用迭代次数进行对比显然是不合理的, 本实验采用对抗样本所需的生成时间作为衡量指标. 在进行每一次生成对抗样本的实验时, 统计出开始时间
(3) 成功率: 如果方法最终生成的对抗样本的文本内容和目标文本之间的编辑距离为0, 就表明这种方法成功生成了目标对抗样本. 在选择的语音数据集上进行方法的效果评估时, 将在该数据集上成功生成目标对抗样本的实验次数表示成
为了验证萤火虫-梯度对抗样本生成方法相比同类型生成方法是否具有优异的表现, 经过调研, 实验选择了3种同类型的对抗样本生成方法: Taori等人[
在萤火虫算法中, 种群中个体数量
种群中个体数量
The success rate and speech similarity in populations of different size
不同种群数量下的成功率与语音相似度
The time(seconds) of the adversarial example generation in populations of different size
不同种群数量下各数据集对抗样本生成时间 (s)
种群
|
谷歌命令
|
公共语音
|
LibriSpeech语音
|
25 | 94.5 | 2665.8 | 6 545.4 |
30 | 105.0 | 3076.2 | 7 367.3 |
35 | 130.5 | 2976.4 | 6 915.4 |
40 | 103.5 | 2765.6 | 6 741.6 |
系数
The success rate and speech similarity in different
不同
为了评估萤火虫-梯度评估对抗样本生成方法的效果, 针对智能语音识别软件, 在选择的3种语音数据集上进行了4种对抗样本生成方法的实验评估. 其中, 将萤火虫-梯度评估方法中的种群个数设置为40, 系数
The time(seconds) of the adversarial example generation in different
不同
数值 |
谷歌命令
|
公共语音
|
LibriSpeech语音
|
0.2 | 104.0 | 2868.6 | 6867.4 |
0.4 | 133.7 | 3431.8 | 7284.2 |
0.6 | 115.5 | 3765.8 | 7168.1 |
0.8 | 106.0 | 3167.3 | 7441.5 |
1 | 103.5 | 2765.6 | 6741.6 |
在使用4种方法对原始音频样本进行实验、生成目标对抗样本后, 求出每一种方法最终生成的对抗样本与原始样本之间的平均语音相似度, 结果如
从
Comparison of average speech similarity of four methods
4种方法平均语音相似度比较 (%)
数据集 | 方法 | DeepSpeech |
谷歌命令 | 遗传-梯度评估方法 | |
布谷鸟算法 | 94.86 | |
初始萤火虫算法 | 98.26 | |
萤火虫-梯度评估方法 | 99.00 | |
公共语音 | 遗传-梯度评估方法 | |
布谷鸟算法 | 92.31 | |
初始萤火虫算法 | 90.67 | |
萤火虫-梯度评估方法 | 93.14 | |
LiberSpeech | 遗传-梯度评估方法 | 93.45 |
布谷鸟算法 | 92.91 | |
初始萤火虫算法 | 93.14 | |
萤火虫-梯度评估方法 |
为了对原始音频样本和对应的对抗样本二者之间的语音相似度有更为直观的了解, 实验在3种不同语音数据集上分别选取2个原始样本以及相应的目标对抗样本进行比较, 原始样本以1-wav至6-wav的方式按顺序进行命名, 相应的对抗样本以“adv-wav”为后缀进行命名.6个原始样本的相关详细信息如
实验获取到每个原始样本与相应对抗样本的语音波形图, 对比结果如
Speech similarity of some original examples
部分原始样本的语音相似度
名称 | 原始样本内容 | 目标文本 | 语音相似度 (%) |
1-wav | left | right | 99.21 |
2-wav | right | left | 97.65 |
3-wav | The boy was surprised | happy birthday | 92.19 |
4-wav | Please had to move on | jump out | 96.17 |
5-wav | this is a box recalling all box recalling remain in the public domain for our information to volunteer please visit start work | hello world | 96.65 |
6-wav | this is a box recalling all box recalling remain in the public domain for our information to volunteer please visit start work | stay away | 95.74 |
观察这6组语音波形对照图, 可以注意到: 几乎所有的扰动都添加在没有波形, 或者波形振动幅度较小的区域, 即样本中没有原始有效语音的区域, 将干扰噪声加入到这些区域中, 会让人们认为噪声来自原始样本的周围环境而加以忽略, 因而不易被察觉. 而在有效语音部分添加的噪声干扰很小, 几乎没发生变化, 因而保持了原始的有效语音内容, 不会影响正常的有效语音部分. 从3种不同语音数据集的角度来看, 可以更直观看出所加入噪声的差异: 在简单的谷歌命令数据集上, 只需要加入比较细微的噪声就可以生成对应的目标对抗样本, 而在LibriSpeech语音数据集中需要加入比较明显的噪声, 才能生成目标对抗样本. 当然这个结论并不是绝对的, 例如在略为复杂的公共语音数据集的原始样本4-wav上, 只需加入细微、几乎可忽略的干扰噪声, 就可以成功生成目标对抗样本.
Waveform comparison of example 1-wav 、2-wav
样本1-wav、2-wav的波形对比图
Waveform comparison of example 3-wav、4-wav
样本3-wav、4-wav的波形对比图
Waveform comparison of example 5-wav、6-wav
样本5-wav、6-wav的波形对比图
本实验统计了4种方法生成目标对抗样本所需的平均时间, 结果如
The time(seconds) of four methods to generate adversarial examples
4种方法生成对抗样本时间 (s)
数据集 | 方法 | DeepSpeech |
谷歌命令 | 遗传-梯度评估方法 | |
布谷鸟算法 | 140.6 | |
初始萤火虫算法 | 162.5 | |
萤火虫-梯度评估方法 | 133.8 | |
公共语音 | 遗传-梯度评估方法 | |
布谷鸟算法 | 3521.8 | |
初始萤火虫算法 | 3842.8 | |
萤火虫-梯度评估方法 | 3167.3 | |
LiberSpeech | 遗传-梯度评估方法 | |
布谷鸟算法 | 7727.3 | |
初始萤火虫算法 | 8368.1 | |
萤火虫-梯度评估方法 | 7541.6 |
在3种语音数据集上, 萤火虫-梯度评估方法生成对抗样本所需时间都不是最短, 但是和其他3个方法所需的最短时间差距都不大, 且优于布谷鸟算法与初始萤火虫算法所需时间. 遗传-梯度评估方法通常需要很短的时间来生成目标对抗样本. 相比之下, 其他方法需要较长的时间才能在相较于遗传算法搜索范围更大的区域内找到最优解. 因此, 它们都比萤火虫-梯度评估方法所需时间长. 而从3种语音数据集的类型上看, 可以发现: 在原始音频样本中, 语音内容越短、越简单, 生成对抗样本所需时间越短, 例如在谷歌命令数据集上生成对抗样本平均时间只有两分多钟.
为了进一步分析对抗样本生成所需时间, 实验还选取了谷歌命令语音数据集上的部分评估结果, 如
Time(seconds) for some samples to generate target adversarial examples
部分样本生成目标对抗样本所需时间 (s)
原始样本内容 | 目标文本 | 生成对抗样本所需时间 |
left | right | 142 |
right | left | 320 |
yes | right | 不成功 |
right | yes | 200 |
go | stop | 146 |
stop | go | 60 |
go | no | 19 |
no | go | 25 |
经过实验, 最终得到4种对比方法在不同类型的语音数据集上生成目标对抗样本的成功率, 结果如
Comparison of success rate of four methods
4种方法成功率比较 (%)
数据集 | 方法 | DeepSpeech |
谷歌命令 | 遗传-梯度评估方法 | 92 |
布谷鸟算法 | 92 | |
初始萤火虫算法 | 84 | |
萤火虫-梯度评估方法 | ||
公共语音 | 遗传-梯度评估方法 | 35 |
布谷鸟算法 | 38 | |
初始萤火虫算法 | 32 | |
萤火虫-梯度评估方法 | ||
LiberSpeech | 遗传-梯度评估方法 | 24 |
布谷鸟算法 | 28 | |
初始萤火虫算法 | 24 | |
萤火虫-梯度评估方法 |
可以看出, 在3种语音数据集上, 萤火虫-梯度评估方法生成对抗样本的成功率均优于对照组的遗传-梯度评估方法、布谷鸟算法以及初始萤火虫算法, 在公共语音数据集和LibriSpeech语音数据集上, 本方法的成功率优势则更为明显. 这样的结果与算法自身的特点有关: 萤火虫算法的核心是利用种群间的吸引度和随机移动来不断改变种群中每个个体的位置, 从而搜索空间非常广阔, 因此生成对抗样本的成功率较高, 布谷鸟搜索算法和萤火虫算法类似, 也是通过广泛移动, 在广阔的搜索空间内寻优. 而遗传算法的核心是种群之间的选择、交叉、变异操作, 搜索空间相对比较小, 因此生成目标对抗样本的成功率不如前两者.
从不同的语音数据集的角度来看, 可以观察到, 提出的方法在包含单个单词的谷歌命令语音数据集上, 生成对抗样本成功率最高, 超过了90%, 在包含中等长度句子的公共语音数据集上, 成功率相对较低, 而在包含长句的LibriSpeech语音数据集上生成对抗样本的成功率则最低. 一般来说, 在原始音频样本中, 语音内容越短、越简单, 生成目标对抗样本的成功率就越高; 反之, 原始样本语音内容越长、越复杂, 生成相应的对抗样本的成功率就越低.
由于针对语音智能软件的对抗样本生成比较复杂, 再加上针对的是参数未知的黑盒语音软件, 无法保证在任意情况下都可以成功生成目标对抗样本, 因此导致使用提出方法, 生成对抗样本成功率的绝对数值比较低. 然而, 和对比方法相比, 成功率已经大幅度提升, 例如在公共语音数据集上, 相比遗传-梯度评估方法将成功率从35%提升至48%, 成功率提升了13%.
对抗样本生成方法生成的语音对抗样本应使得黑盒智能语音识别软件产生期望的错误识别, 而人们只能听到在原始音频样本中加入了一些细微干扰噪声, 无法察觉生成的对抗样本与原始样本的明显差异. 为了解所提方法生成的对抗样本是否能够使人们察觉不出与原始样本的明显差异, 还需要采用人工的方式对生成的对抗样本进行验证.
为此, 实验寻找了30名志愿者, 从3种语音数据集上分别任意挑选了10组原始样本以及成功生成的对应目标对抗样本. 这些志愿者都是大学学生, 此前并不了解对抗样本领域, 对于本实验所做研究也并不了解. 在进行人工验证时, 先给志愿者播放原始样本的音频内容, 然后再播放对应的目标对抗样本的音频内容. 每一组原始样本与目标样本播放结束后, 再告诉志愿者最终对抗样本转换成的目标文本, 并询问有没有听到目标文本的相关内容. 例如, 原始样本的音频内容为“left”, 目标文本为“right”, 最终需要询问志愿者有没有听到对抗样本里有关“right”的音频内容. 结果表明, 90%的志愿者表示听到对抗样本和原始样本的音频内容一致, 只是前者存在一些细微噪声, 但仍能听清原始音频的内容, 并表示听不出任何有关目标文本的声音. 只有10%的志愿者表示30条对抗样本里只有一两组对抗样本中的噪声比较明显, 对原始的音频样本产生了干扰. 这表明采用提出方法生成的对抗样本, 能够让人们察觉不出与原始样本的明显差异. 然而, 仍然有一小部分对抗样本的噪声较为明显, 需要在之后的工作中减弱噪声.
本节从原始样本与对抗样本的平均语音相似度、生成目标对抗样本所需时间以及生成对抗样本的成功率3个方面来对提出的萤火虫-梯度评估对抗样本生成方法以及选择的对比方法的实际效果进行评估. 结果表明, 虽然萤火虫-梯度评估对抗样本生成方法在生成对抗样本所需时间和平均语音相似度上的表现不是最好, 略低于遗传-梯度评估方法的表现, 然而, 在生成对抗样本的成功率方面, 提出的方法要优于其他3种对照方法, 尤其对于中等长度语句和长句而言更具优势. 实验还进行了人工验证, 表明生成的语音对抗样本是有效的.
另外, 实验将未经参数选择的初始萤火虫算法和萤火虫-梯度评估对抗样本生成方法进行对比, 可以发现后者在语音数据集上的综合性能表现远远优于前者. 这表明在实验之前对萤火虫算法进行重要参数的选择是十分必要的, 这样能够显著提高方法的效果.
针对黑盒智能语音软件, 本文采用了萤火虫算法与梯度评估相结合的方法, 在原始的音频样本中不断加入干扰噪声, 来生成目标对抗样本作为测试用例. 在使用的两种优化方法中, 萤火虫算法用于扩大寻优搜索范围, 而不是仅仅局限于某一固定空间进行寻优, 梯度评估方法则是当生成的对抗样本的文本内容和目标文本之间的编辑距离非常小时, 用来进行最终的局部优化. 实验表明本文提出的方法在3种语音数据集上都取得了一定的效果: 在语音相似度和对抗样本生成时间略差于对比方法的情况下, 目标对抗样本生成的成功率在不同类型的数据集上均优于对比方法.
然而, 提出的萤火虫-梯度评估对抗样本生成方法也存在一些不足之处: 生成目标对抗样本的成功率虽然比之前提高, 但仍有很大的提升空间; 原始音频和生成的对抗音频的语音相似度相对比较低. 在后面的工作中, 可以采用其他优化方法, 在保持样本语音相似度和生成样本所需时间比较合理的情况下, 能够将生成对抗样本的成功率进一步提升.
Cook DJ, Crandall AS, Thomas BL, Krishnan NC. CASAS: A smart home in a box. Computer, 2013, 46(7): 62–69. [doi: 10.1109/MC.2012.328]
陈晋音, 叶林辉, 郑海斌, 杨奕涛, 俞山青. 面向语音识别系统的黑盒对抗攻击方法. 小型微型计算机系统, 2020, 41(5): 1019–1029. [doi: 10.3969/j.issn.1000-1220.2020.05.020]
Chen JY, Ye LH, Zheng HB, Yang YT, Yu SQ. Black-box adversarial attack toward speech recognition system. Journal of Chinese Computer Systems, 2020, 41(5): 1019–1029. [doi: 10.3969/j.issn.1000-1220.2020.05.020]
Yang XS. Firefly algorithm, stochastic test functions and design optimisation. International Journal of Bio-Inspired Computation, 2010, 2(2): 78–84. [doi: 10.1504/IJBIC.2010.032124]
Baum LE, Petrie T, Soules G, Weiss N. A maximization technique occurring in the statistical analysis of probabilistic functions of Markov chains. The Annals of Mathematical Statistics, 1970, 41(1): 164–171. [doi: 10.1214/aoms/1177697196]
Mohamed AR, Dahl GE, Hinton G. Acoustic modeling using deep belief networks. IEEE Transactions on Audio, Speech, and Language Processing, 2012, 20(1): 14–22. [doi: 10.1109/TASL.2011.2109382]
Sohn J, Kim NS, Sung W. A statistical model-based voice activity detection. IEEE Signal Processing Letters, 1999, 6(1): 1–3. [doi: 10.1109/97.736233]
Itakura F. Line spectrum representation of linear predictor coefficients of speech signals. The Journal of the Acoustical Society of America, 1975, 57(S1): S35. [doi: 10.1121/1.199518910.1121/1.199518910.1121/1.1995189]
Hermansky H. Perceptual linear predictive (PLP) analysis of speech. The Journal of the Acoustical Society of America, 1990, 87(4): 1738–1752. [doi: 10.1121/1.399423]
Yang XS, He X. Firefly algorithm: Recent advances and applications. International Journal of Swarm Intelligence, 2013, 1(1): 36–50. [doi: 10.1504/IJSI.2013.055801]
Liszka T, Orkisz J. The finite difference method at arbitrary irregular grids and its application in applied mechanics. Computers & Structures, 1980, 11(1–2): 83–95. [doi: 10.1016/0045-7949(80)90149-2]
Wold S, Esbensen K, Geladi P. Principal component analysis. Chemometrics and Intelligent Laboratory Systems, 1987, 2(1–3): 37–52. [doi: 10.1016/0169-7439(87)80084-9]
Masek WJ, Paterson MS. A faster algorithm computing string edit distances. Journal of Computer and System Sciences, 1980, 20(1): 18–31. [doi: 10.1016/0022-0000(80)90002-1]
Reichenbach T, Hudspeth AJ. Discrimination of low-frequency tones employs temporal fine structure. PLoS One, 2012, 7(9): e45579. [doi: 10.1371/journal.pone.0045579]