掌桥专利:专业的专利平台
掌桥专利
首页

针对声纹识别的对抗扰动生成方法、装置、设备和介质

文献发布时间:2024-04-18 19:58:30


针对声纹识别的对抗扰动生成方法、装置、设备和介质

技术领域

本公开涉及人工智能领域,特别是涉及针对声纹识别的对抗扰动生成方法、装置、设备和介质。

背景技术

声纹识别技术逐渐被应用到越来越多的场景中。随着声纹识别系统识别准确度的提高,对抗样本生成技术也随之发展。对抗样本是在输入样本上添加一个对抗扰动得到的样本,用于攻击声纹识别系统,使声纹识别系统得到错误的识别结果。利用对抗样本攻击声纹识别系统,可以提高声纹识别系统的抗干扰能力。为了得到更好的攻击效果,对对抗扰动生成技术的要求也越高。

现有技术中,对抗扰动生成技术主要有两种,一种是针对不同的输入样本生成不同的对抗扰动。这种方式难以指定对抗样本的目标识别对象(对抗样本被指定识别成的错误对象),缺乏实用性,而且对于每个输入样本,都需要重新生成对抗扰动,花费的时间较长、且消耗的计算资源较多。另一种方式是生成针对不同输入样本都有效的通用对抗扰动。这种方式主要通过训练一个用于对抗判别网络的大规模生成对抗网络,利用生成对抗网络生成扰动。但是由于网络规模较大,训练难度较高,训练花费的时间也较多。

发明内容

本公开实施例提供了针对声纹识别的对抗扰动生成方法、装置、设备和介质,能够提高生成对抗扰动的效率,还可以提高对抗扰动的隐蔽性与主导性。

根据本公开的一方面,提供了一种对抗扰动生成方法,包括:

获取训练声纹样本集,所述训练声纹样本集中包含多个原始声纹样本;

初始化对抗样本生成网络,所述对抗样本生成网络为单层神经网络,其中,神经元的数量等于所述对抗扰动的预设帧数,每一个所述神经元对应所述对抗扰动的一帧;

针对所述训练声纹样本集中的每一个所述原始声纹样本,确定目标识别对象,所述目标识别对象不同于所述原始声纹样本的真实识别对象;

将所述原始声纹样本输入所述对抗样本生成网络,得到声纹对抗样本;

将所述声纹对抗样本输入声纹识别网络,得到第一识别结果向量,所述第一识别结果向量包含所述声纹对抗样本被识别为所述目标识别对象的第一概率,与被识别为除所述目标识别对象以外的其他对象的第二概率;

根据所述原始声纹样本、所述声纹对抗样本、所述第一概率与所述第二概率,确定所述对抗样本生成网络的样本损失函数,基于所述样本损失函数训练所述对抗样本生成网络,生成所述对抗扰动。

根据本公开的一方面,提供了一种对抗扰动生成装置,包括:

第一获取单元,用于获取训练声纹样本集,所述训练声纹样本集中包含多个原始声纹样本;

初始化单元,用于初始化对抗样本生成网络,所述对抗样本生成网络为单层神经网络,其中,神经元的数量等于所述对抗扰动的预设帧数,每一个所述神经元对应所述对抗扰动的一帧;

第一确定单元,用于针对所述训练声纹样本集中的每一个所述原始声纹样本,确定目标识别对象,所述目标识别对象不同于所述原始声纹样本的真实识别对象;

第一输入单元,用于将所述原始声纹样本输入所述对抗样本生成网络,得到声纹对抗样本;

第二输入单元,用于将所述声纹对抗样本输入声纹识别网络,得到第一识别结果向量,所述第一识别结果向量包含所述声纹对抗样本被识别为所述目标识别对象的第一概率,与被识别为除所述目标识别对象以外的其他对象的第二概率;

训练单元,用于根据所述原始声纹样本、所述声纹对抗样本、所述第一概率、与所述第二概率,确定所述对抗样本生成网络的样本损失函数,基于所述样本损失函数训练所述对抗样本生成网络,生成所述对抗扰动。

可选地,所述第一获取单元具体用于:

从声纹数据总集中随机采样出所述训练声纹样本集;

所述对抗扰动生成装置还包括:

第二获取单元,用于从所述声纹样本总集中随机获取测试声纹样本集,所述测试声纹样本集中包含多个测试声纹样本;

第三输入单元,用于将所述测试声纹样本输入所述对抗样本生成网络,得到测试对抗样本;

第四输入单元,用于将所述测试对抗样本输入所述声纹识别网络,得到第二识别结果向量,将所述测试声纹样本输入所述声纹识别网络,得到第三识别结果向量,将所述对抗扰动输入所述声纹识别网络,得到第四识别结果向量;

第二确定单元,用于基于所述第二识别结果向量与所述第三识别结果向量,确定第一相关性;

第三确定单元,用于基于所述第二识别结果向量与所述第四识别结果向量,确定第二相关性;

第四确定单元,用于比较所述第一相关性与所述第二相关性,确定所述对抗扰动对所述测试声纹样本的影响程度。

可选地,所述训练单元具体用于:

基于所述第一概率与第二概率,确定所述声纹对抗样本被识别为所述目标识别对象的攻击成功率;

基于所述原始声纹样本与所述声纹对抗样本,确定所述声纹对抗样本的扰动隐蔽值;

基于所述攻击成功率与所述扰动隐蔽值,确定所述样本损失函数。

可选地,所述训练单元具体用于:

将所述第一概率与所述第二概率中的最大值相减,得到所述攻击成功率;

获取第一阈值,并根据所述第一阈值调整所述攻击成功率,如果所述攻击成功率大于或等于所述第一阈值,以所述第一阈值作为所述攻击成功率。

可选地,所述训练单元具体用于:

计算所述原始声纹样本与所述声纹对抗样本的差的l 2范数作为所述扰动隐蔽值。

可选地,所述训练单元具体用于:

获取隐蔽系数;

利用所述攻击成功率减去所述隐蔽系数与所述扰动隐蔽值的乘积,得到所述样本损失函数。

可选地,所述对抗扰动的预设帧数为3200帧;所述对抗样本生成网络的所述神经元数量为3200个。

可选地,所述第一输入单元具体用于:

如果所述原始声纹样本的帧数大于所述对抗样本生成网络的所述神经元数量,复制所述对抗样本生成网络的所述神经元,加入所述对抗样本生成网络;

如果所述原始声纹样本的帧数小于所述对抗样本生成网络的所述神经元数量,删除所述对抗样本生成网络中多出的部分所述神经元,以确保所述原始声纹样本的每一帧对应所述对抗样本生成网络中的一个所述神经元;

如果所述原始声纹样本的帧数等于所述对抗样本生成网络的所述神经元数量,将所述原始声纹样本输入所述对抗样本生成网络。

根据本公开的一方面,提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的对抗扰动生成方法。

根据本公开的一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的对抗扰动生成方法。

根据本公开的一方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器读取并执行,使得该计算机设备执行如上所述的对抗扰动生成方法。

本公开实施例中,利用对抗样本生成网络生成对抗样本。与现有技术的大规模生成对抗网络不同,本公开实施例的对抗样本生成网络是只有单层的神经网络,且神经元的数量等于对抗扰动的预设帧数,每一个神经元对应于对抗扰动的一帧,神经元的参数直接对应对抗扰动。也就是说,对抗样本生成网络本身就是一个对抗扰动,当原始声纹样本输入对抗样本生成网络,原始声纹样本的一帧进入一个神经元,就会叠加上这个神经元对应的对抗扰动的一帧。因此,对抗样本生成网络输出的声纹对抗样本就是在原始声纹样本的每一帧上叠加一帧对抗扰动的结果。与大规模生成对抗网络相比,本公开实施例利用单层的神经网络直接表示对抗扰动,减小了训练难度,提高了训练效率。本公开实施例还通过目标识别对象来指定对抗样本需要被识别成的错误对象。在将声纹对抗样本输入声纹识别网络后,会得到声纹对抗样本被识别为目标识别对象的第一概率,与被识别为其他对象的第二概率。根据原始声纹样本、声纹对抗样本、第一概率与第二概率,确定样本损失函数,其中,原始声纹样本与声纹对抗样本可以用于评估对抗扰动的隐蔽性,隐蔽性越高的对抗扰动越不易被声纹识别网络察觉,扰动效果越高;第一概率与第二概率可以用于评估声纹对抗样本被识别为目标识别对象的成功率,成功率越高,表示对抗扰动的主导性越高,可以主导声纹识别网络的识别方向。因此,基于样本损失函数训练对抗样本生成网络可以提高对抗扰动的隐蔽性与主导性。

本公开的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本公开技术方案的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。

图1是本公开实施例提供的针对声纹识别的对抗扰动生成方法的一种体系架构图;

图2是本公开实施例的针对声纹识别的对抗扰动生成方法的流程图;

图3A-B是对抗样本生成网络的结构示意图;

图4是原始声纹样本经过对抗样本生成网络生成声纹对抗样本的示意图;

图5是图2中步骤240的一个具体流程图;

图6是根据原始声纹样本的帧数对对抗样本生成网络中的神经元进行复制与剪切的流程图;

图7是对对抗样本生成网络中的神经元进行剪切的示意图;

图8A-C是对对抗样本生成网络中的神经元进行复制与剪切的具体过程示意图;

图9是图2中步骤260的一个具体流程图;

图10是图9中步骤910的一个具体流程图;

图11是图9中步骤930的一个具体流程图;

图12是在图2的步骤260之后添加评估对抗扰动对声纹样本总集的主导性过程的一个具体流程图;

图13是评估对抗扰动对声纹样本总集的主导型的过程示意图;

图14是本公开实施例的示例性实施流程图;

图15是本公开实施例的对抗扰动生成装置的结构框图;

图16是根据本公开实施例图2所示的对抗扰动生成方法的终端结构图;

图17是根据本公开实施例图2所示的对抗扰动生成方法的服务器结构图。

具体实施方式

为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本公开,并不用于限定本公开。

对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释:

神经网络:神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技术。神经网络中包含输入层、输出层、与隐藏层,其中输入层负责接收数据,输出层负责输出结果,隐藏层负责计算。神经网络中包含的神经元,不同层的神经元通过连接线进行连接,每个连接线对应一个权重,一个神经网络的训练算法就是让权重的值调整到最佳,以使得整个网络的预测效果最好。

声纹识别:声纹识别就是利用算法和神经网络模型,可以让机器能够从语音信号当中识别出不同人说话的声音,然后给交给其他系统进行使用。

对抗样本:在原始样本添加一些人眼无法察觉的扰动(这样的扰动不会影响人类的识别,但是却很容易愚弄模型),致使机器做出错误的判断。

对抗扰动:用于叠加在原始样本上以生成对抗样本的、人眼无法察觉的扰动。

L2范数:是指向量各元素的平方和然后求平方根。

语音质量客观评价(Perceptual evaluation of speech quality,PESQ):PESQ算法基于语音源信号和失真信号之间的差异,对语音质量进行客观评价,其评价结果可以反映出人类听觉系统对语音质量的主观感受,更加符合实际应用的需要。PESQ从语音源信号的能量、失真信号的能量、时域失真、频域失真、和加性噪声等维度对语音质量进行客观评价。

皮尔逊相关系数(Pearson correlation coefficient,PCC):用于衡量两个变量X与Y之间的线性相关关系,至于在-1到1之间。

图1是根据本公开的实施例的对抗扰动生成方法所应用的系统构架图。它包括:服务器110、网关120、互联网130、与终端140。

服务器110是指生成对抗扰动的计算机系统。相对于终端140来说,服务器110的稳定性、安全性、性能等方面都要求更高。服务器110可以是网络平台中的一台高性能计算机、多台高性能计算机中划出的一部分(例如虚拟机)的组合等。服务器110也可以通过有线或无线的方式与互联网130进行通信,交换数据。

网关120又称网间连接器、协议转换器。网关120在传输层上实现网络互连,是一种充当转换作用的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关120是一个翻译器。同时,网关120也可以提供过滤和安全功能。终端140向服务器110发送的消息要通过网关120发送到相应的服务器110。服务器110向终端140发送的消息也要通过网关120发送到相应的终端140。

终端140是用来查看原始声纹样本、发起对抗样本生成网络的训练、与查看对抗样本攻击效果的设备。它包括桌面电脑、膝上型电脑、PDA(个人数字助理)、手机、车载终端、家庭影院终端、专用终端等多种形式。另外,它可以是单台设备,也可以是多台设备组成的集合。例如,多台设备通过局域网连接,公用一台显示设备进行协同工作,共同构成一个终端140。终端140也可以以有线或无线的方式与互联网130进行通信,交换数据。

根据本公开的一个实施例,提供了一种针对声纹识别的对抗扰动生成方法。

对抗扰动是在声纹样本上添加的噪音,生成的对抗样本用于误导声纹识别模型的识别结果。例如,声纹样本中的声音属于对象A,在添加了对抗扰动后,声纹识别模型将声音识别为对象B。使用对抗扰动的作用是提高声纹识别模型的鲁棒性,在面对声音干扰时,也可以保证声纹识别的准确度。因此,生成一个不易被察觉的、干扰成功率较高的对抗扰动对于提高声纹识别模型的鲁棒性有着重要的作用。

如图2所示,根据本公开的一个实施例,针对声纹识别的对抗扰动生成方法包括:

步骤210、获取训练声纹样本集,训练声纹样本集中包含多个原始声纹样本;

步骤220、初始化对抗样本生成网络,对抗样本生成网络为单层神经网络;

步骤230、针对训练声纹样本集中的每一个原始声纹样本,确定目标识别对象;

步骤240、将原始声纹样本输入对抗样本生成网络,得到声纹对抗样本;

步骤250、将声纹对抗样本输入声纹识别网络,得到第一识别结果向量,第一识别结果向量包含声纹对抗样本被识别为目标识别对象的第一概率,与被识别为除目标识别对象以外的其他对象的第二概率;

步骤260、根据原始声纹样本、声纹对抗样本、第一概率与第二概率,确定对抗样本生成网络的样本损失函数,基于样本损失函数训练对抗样本生成网络,生成对抗扰动。

在步骤210中,训练声纹样本集中是用于训练对抗样本生成网络的样本集合,其中包含多个原始声纹样本。由于本实施例的对抗扰动是为了使声纹识别网络尽可能将原始声纹样本判断成另一个对象,利用真实识别对象与目标识别对象的差距来判断攻击是否成功,因此,原始声纹样本中的声纹特征对于判定对抗扰动的攻击成功率来说是不重要的。而且,为了让本实施例生成的对抗扰动可以尽可能适用于各种声纹样本,在各种声纹样本上都可以表现出隐蔽性,训练声纹样本集中的原始声纹样本可以包含任意声纹特征,不需要针对对抗样本生成网络的训练进行样本与特征的预处理。

获取训练声纹样本集可以通过获取服务器110本地存储的训练声纹样本集,也可以获取云端存储的开源的训练声纹样本集。

由于本实施例的对抗样本生成网络是一个单层神经网络,结构比较简单,因此,不需要使用数据规模较为庞大的训练声纹样本集。在一个实施例中,获取训练声纹样本集,包括:从声纹数据总集中随机采样出训练声纹样本集。

声纹数据总集中包含大量的声纹样本,从声纹数据总集中随机采样出训练声纹样本集。训练声纹样本集中的原始声纹样本的数量远远小于声纹数据总集中的声纹样本的数量。基于训练声纹样本集训练生成的对抗扰动迁移到声纹数据总集中的声纹数据中也可以获得较高的攻击成功率与隐蔽性。

从声纹数据总集中随机采样出训练声纹样本集的优点是:训练数据集较小,提升了训练速度,降低了训练过程中的计算成本。

在步骤220中,初始化对抗样本生成网络。对抗样本生成网络是一个单层神经网络,如图3A所示,对抗样本生成网络包括单层隐藏层,输入样本经过单层隐藏层直接得到输出样本。初始化对抗样本生成网络时,需要为每一个神经元参数赋一个初始值,可以采用高斯分布对神经元参数进行初始化。

单层隐藏层中神经元的数量等于对抗扰动的预设帧数,每一个神经元对应对抗扰动的一帧,神经元的参数直接表示对抗扰动。如图3B所示,隐藏层中的每一个神经元与对抗扰动的每一帧是一一对应的,因此,每一个神经元就是一帧对抗扰动。将原始声纹样本输入对抗样本生成网络中,每一帧输入一个神经元后会叠加一帧的对抗扰动。因此,训练对抗样本生成网络的过程,就是优化对抗扰动的过程。

对抗扰动的预设帧数通过衡量扰动成功率与隐蔽性来确定。通常,对抗扰动的预设帧数越高,攻击成功率越高,但是扰动隐蔽性较差。因此,需要通过设定预设帧数来平衡攻击成功率与扰动隐蔽性,以得到扰动效果最好的对抗扰动。

在一个实施例中,对抗扰动的预设帧数为3200帧,也就是说,对抗样本生成网络的神经元数量为3200个。经过对比实验得到的结论是,单层具有3200个神经元的对抗样本生成网络是可以平衡对抗扰动的攻击成功率与扰动隐蔽性两个指标,如果神经元数量增加,攻击成功率一定程度地增加,但是扰动隐蔽性会大幅度下降。因此,本实施例可以在提高对抗扰动的攻击成功率的同时保持扰动隐蔽性。3200个神经元的对抗样本生成网络的网络规模远远小于现有技术中的对抗生成网络,可以减小生成的对抗扰动的过拟合,也可以提高训练效率。

在步骤230中,针对训练声纹样本集中的每一个原始声纹样本,确定目标识别对象。目标识别对象是不同于原始声纹样本的真实识别对象的其他对象。目标识别对象是原始声纹样本添加对抗扰动后希望被识别成的对象;真实识别对象是原始声纹样本真正所属的对象。例如,对于一个原始声纹样本,真实识别对象为对象A,目标识别对象为对象B,也就是说,为原始声纹样本叠加的对抗扰动需要朝着让原始声纹样本识别为对象B的方向进行优化。为原始声纹样本确定目标识别对象可以表示为公式1:

Argmax(P(x+σ))=t(公式1)。

在公式1中,x表示原始声纹样本;σ表示攻击扰动;x+σ=x’,x’表示声纹对抗样本;P表示声纹识别模型;P(x+σ)表示将声纹对抗样本输入声纹识别模型得到的第一识别结果向量;t表示目标识别对象。通过公式1设定了基于声纹识别模型得到的第一识别结果向量得到的识别结果应该为目标识别对象t。如果希望目标识别对象是指定的对象,那么将直接将t设定为该对象;如果目标识别对象没有特指的对象,那么将t设定为除真实识别对象以外的任何对象。

设置目标识别对象的目的是为了增强对抗扰动的主导性,可以让生成的对抗扰动朝着目标识别对象的方向干扰声纹识别网络的识别结果,增强了对抗扰动的主导性。在很多实际应用场景中,需要将输入声纹样本识别为目标识别对象,因此,在优化对抗扰动时,提高对抗扰动的主导性可以进而提高实际应用场景中的实用性。

在步骤240中,将原始声纹样本输入对抗样本生成网络,得到声纹对抗样本。声纹对抗样本是原始声纹样本叠加对抗扰动,将声纹对抗样本输入对抗样本生成网络中,原始声纹样本的每一帧输入到一个神经元中,叠加一帧对抗扰动,得到声纹对抗样本中的一帧。如图4所示,原始声纹样本中的帧A输入对抗样本生成网络中的神经元a,得到声纹对抗样本中的帧A’,依次类推,得到原始声纹样本叠加了对抗扰动的声纹对抗样本。

如果原始声纹样本的帧数与对抗扰动的帧数不相同,那么就无法做到将原始声纹样本的每一帧输入到对抗样本生成网络的一个神经元中。因此,在一个实施例中,如图5所示,将原始声纹样本输入对抗样本生成网络,包括:

步骤510、如果原始声纹样本的帧数大于对抗样本生成网络的神经元数量,复制对抗样本生成网络的神经元,加入对抗样本生成网络;

步骤520、如果原始声纹样本的帧数小于对抗样本生成网络的神经元数量,删除对抗样本生成网络中多出的部分神经元,以确保原始声纹样本的每一帧对应对抗样本生成网络中的一个神经元;

步骤530、如果原始声纹样本的帧数等于对抗样本生成网络的神经元数量,将原始声纹样本输入对抗样本生成网络。

本实施例的作用是将对抗样本生成网络的宽度调整为与原始声纹样本的帧数相等,以确保原始声纹样本的每一帧都可以叠加一帧对抗扰动。

本实施例的具体过程如图6所示,首先获取原始声纹样本,比较原始声纹样本的帧数与对抗样本生成网络的神经元数量;如果原始声纹样本的帧数等于对抗样本生成网络的神经元数量,则直接将原始声纹样本输入对抗样本生成网络。

如果原始声纹样本的帧数小于对抗样本生成网络的神经元数量,则将对抗样本生成网络中多出的部分神经元删除。如图7所示,对抗样本生成网络中的神经元e、f、与g是与原始声纹样本相比多出的部分神经元,因此,将对抗样本生成网络中的神经元e、f、与g删除,将原始声纹样本输入删除多余神经元后的对抗样本生成网络。

如果原始声纹样本的帧数大于对抗样本生成网络的神经元数量,则复制对抗样本生成网络的神经元,将复制的神经元加入对抗样本生成网络。如图8A所示,与对样样本生成网络的神经元相比,原始声纹样本多出了E、F、与G的3帧;复制对抗样本生成网络的神经元,将复制的神经元加入对抗样本生成网络,如图8B所示,将复制的神经元加入对抗样本生成网络后,帧E输入神经元a、帧F输入神经元b、帧G输入神经元c。

在将复制的神经元加入对抗样本生成网络后,重新比较原始声纹样本的帧数与对抗样本生成网络的神经元数量。如果原始声纹样本的帧数依旧大于对抗样本生成网络的神经元数量,那么再一次复制神经元,加入对抗样本生成网络;如果原始声纹样本的帧数此时等于神经元数量,那么将原始声纹样本输入对抗样本生成网络;如果原始声纹样本的帧数此时小于神经元数量,那么将对抗样本生成网络中多出的部分神经元删除,如图8C所示,在将复制的神经元加入对抗样本生成网络后,存在多余的神经元,因此,将多余的神经元删除。

本实施例的优点在于,可以根据原始声纹样本的帧数调整对抗样本生成网络的神经元数量,使原始声纹样本的每一帧都可以叠加对抗扰动,提高了生成对抗扰动的灵活性。

在步骤250中,将声纹对抗样本输入声纹识别网络,得到第一识别结果向量。第一识别结果向量可以是l ogi ts向量,也可以是将l ogits向量进行归一化后的向量。第一识别结果向量中包含声纹对抗样本被识别为目标识别对象的第一概率,与被识别为除目标识别对象以外的其他对象的第二概率,例如,第一识别结果向量为{对象A:1.85,对象B:2,对象C:0.5},其中,对象B为目标识别对象,第一概率为2;对象A与对象C为其他对象,声纹对抗样本被识别为对象A的第二概率为1.85,被识别为对象C的第二概率为0.5。

获取被识别为不同对象的概率的作用是,可以有效评估对抗扰动对于声纹识别的影响,如果第一概率与第二概率中最高的概率相比,差距较小,那么表示对抗扰动对于声纹识别的影响较小,攻击成功率偏低。因此,可以通过扩大第一概率与第二概率之间的概率差距,提高攻击成功率。

在步骤260中,根据原始声纹样本、声纹对抗样本、第一概率与第二概率,确定对抗样本生成网络的样本损失函数。为了可以使对抗扰动朝着主导性更强、更不易察觉的方向优化,损失函数同时考虑了扰动成功率与扰动隐蔽性。

在一个实施例中,如图9所示,根据原始声纹样本、声纹对抗样本、第一概率、与第二概率,确定对抗样本生成网络的样本损失函数,包括:

步骤910、基于第一概率与第二概率,确定声纹对抗样本被识别为目标识别对象的攻击成功率;

步骤920、基于原始声纹样本与声纹对抗样本,确定声纹对抗样本的扰动隐蔽值;

步骤930、基于攻击成功率与扰动隐蔽值,确定样本损失函数。

在本实施例中,利用声纹对抗样本被识别为目标识别对象的第一概率、与被识别为除目标对象以外的其他对象的第二概率,确定成功率。如果第一概率与第二概率之间的差距较大,那么就表示对抗扰动干扰比较成功,干扰声纹识别系统识别到完全错误的方向。

在一个实施例中,如图10所示,基于第一概率与第二概率,确定声纹对抗样本被识别为目标识别对象的攻击成功率,包括:

步骤1010、将第一概率与第二概率中的最大值相减,得到攻击成功率;

步骤1020、获取第一阈值,并根据第一阈值调整攻击成功率,如果攻击成功率大于或等于第一阈值,以第一阈值作为攻击成功率。

在本实施例中,确定攻击成功率的过程如公式2所示:

在公式2中,R

公式2中的T表示第一阈值,确定第一阈值的目的是,避免对抗样本生成网络对原始声纹样本过拟合。如果第一概率与第二概率最大值之间的差值较大,直接以差值作为攻击成功率可能会导致优化后的对抗扰动过度拟合本原始声纹样本,对于其他原始声纹样本的干扰效果却较差。因此,当第一概率与第二概率的最大值之间的差值大于或者等于第一阈值,那么直接将第一阈值作为攻击成功率。例如,第一概率减去第二概率中的最大值得到的攻击成功率为1.5,第一阈值为1,由于攻击成功率大于第一阈值,因此,将第一阈值作为攻击成功率。

本实施例的优点是,减小了对抗样本生成网络对原始声纹样本过拟合,提高了对抗扰动应用于其他原始声纹样本的迁移性。

利用原始声纹样本与声纹对抗样本,确定声纹对抗样本的扰动隐蔽值。如果原始声纹样本和声纹对抗样本之间的差距较小,那么就表示在原始声纹样本上叠加的对抗扰动不易被察觉,隐蔽性较好。

在一个实施例中,基于原始声纹样本与声纹对抗样本,确定声纹对抗样本的扰动隐蔽值,包括:计算原始声纹样本与声纹对抗样本的差的L2范数作为扰动隐蔽值。由于L2范数表示两个向量之间的距离,所以计算原始声纹样本与声纹对抗样本的差的L2范数可以表示在原始声纹样本上叠加的对抗扰动的大小。

为了确定L2范数对于扰动隐蔽性的影响,本实施例采用了多种方式对扰动隐蔽性进行评估。

在一个实施例中,可以采用语音质量客观评价(Perceptual evaluation ofspeech qual ity,PESQ)来评估对抗扰动的隐蔽性。PESQ算法基于原始声纹样本与声纹对抗样本之间的差异,对声纹对抗样本进行客观评价。它的取值范围值-0.5到4.5,值越大说明对抗扰动的隐蔽性较好。通过实验发现,通过降低L2范数可以有效提高PESQ的值。

在另一个实施例中,通过计算原始声纹样本与对抗扰动之间的信噪比来评估对抗扰动的隐蔽性。具体的计算公式如公式3所示:

在公式3中,||x||

计算原始声纹样本与声纹对抗样本的差的L2范数也就是计算对抗扰动的L2范数,对抗扰动的L2范数越小,表示对抗扰动的隐蔽性越大。例如,原始声纹样本为[0,1,1.3,1.5,0.9,1.7],声纹对抗样本为[1.1,1.4,2.1,0.4,1.3],叠加到原始声纹样本的对抗扰动为[1.1,0.1,0.6,-0.5,-0.4],扰动隐蔽值为

通过对L2范数与扰动隐蔽性的关联关系评估得到的结论是,L2范数可以充分表示对抗扰动的隐蔽性。因此,利用对抗扰动的L2范数作为扰动隐蔽值的优点是,利用较为简单的运算方式就可以得到可以充分体现隐蔽性的扰动隐蔽值,提高了计算效率与获取扰动隐蔽值的准确性。

样本损失函数由攻击成功率与扰动隐蔽值共同决定,在一个实施例中,如图11所示,基于攻击成功率与扰动隐蔽值,确定样本损失函数,包括:

步骤1110、获取隐蔽系数;

步骤1120、利用攻击成功率减去隐蔽系数与扰动隐蔽值的乘积,得到样本损失函数。

本实施例的计算过程如公式4所示:

g=R

在公式4中,g表示样本损失函数;R

因此,基于隐蔽系数计算样本损失函数的优点是,可以通过调整隐蔽系数来调节攻击成功率与与扰动隐蔽值对于训练对抗样本生成网络的影响,提高了训练对抗样本生成网络的灵活性与实用性。

步骤910-930的实施例的优点是,样本损失函数综合考虑了攻击成功率与扰动隐蔽性评估对抗扰动的重要性,使得优化得到的对抗扰动可以使攻击成功率较高且隐蔽性也较高。

在获取样本损失函数后,基于样本损失函数训练对抗样本生成网络。由于对抗样本生成网络的每一个神经元对应与对抗扰动的一帧,因此,为不同的神经元的参数设置独立的自适应性学习率。训练过程具体包括:针对样本损失函数计算出当前梯度;计算当前梯度的一阶矩(过往梯度与当前梯度的平均);计算当前梯度的二阶矩(过往梯度平方与当前梯度平方的平均);根据一阶矩与二阶矩更新参数的学习率,进而更新参数。基于上述训练过程,可以通过对当前梯度的一阶矩与二阶矩的综合考虑,计算出更新学习率后再进行参数更新,避免了梯度陷入局部最低点。

在更新参数后,还可以对参数进行标准化,使参数在一个指定的范围内,保持参数的稳定性,有利于模型进行收敛。

对抗样本生成网络在经过训练后,单层网络的神经元参数构成一个兼具扰动主导性与隐蔽性的对抗扰动。

在前述一个实施例中,训练声纹样本集是从声纹数据总集中随机采样的到的。由于本公开实施例的对抗扰动具有主导性,可以主导声纹识别网络的识别结果。为了保证使用小规模数据集优化得到的对抗扰动在迁移到完整声纹数据集上时也可以获得较强的主导性,在生成对抗扰动后,需要对迁移到完整声纹数据集上的干扰效果进行评估。因此,在一个实施例中,如图12所示,在基于样本损失函数训练对抗样本生成网络,生成对抗扰动之后,对抗扰动生成方法还包括:

步骤1210、从声纹样本总集中随机获取测试声纹样本集;

步骤1220、将测试声纹样本输入对抗样本生成网络,得到测试对抗样本;

步骤1230、将测试对抗样本输入声纹识别网络,得到第二识别结果向量,将测试声纹样本输入声纹识别网络,得到第三识别结果向量,将对抗扰动输入声纹识别网络,得到第四识别结果向量;

步骤1240、基于第二识别结果向量与第三识别结果向量,确定第一相关性;

步骤1250、基于第二识别结果向量与第四识别结果向量,确定第二相关性;

步骤1260、比较第一相关性与第二相关性,确定对抗扰动对测试声纹样本的影响程度。

在本实施例中,测试声纹样本集中包含多个测试声纹样本,测试声纹样本是从声纹样本总集中随机获取的,测试结果可以代表整个声纹样本总集的测试效果。

如图13所示,将测试声纹样本输入对抗样本生成网络,得到测试对抗样本。测试对抗样本的测试声纹样本叠加对抗扰动生成的;同时,从对抗样本生成网络中提取出对抗扰动。将测试对抗样本输入声纹识别网络,得到第二识别结果向量;将测试声纹样本输入声纹识别网络,得到第三识别结果向量;将对抗扰动输入声纹识别网络,得到第四识别结果向量。第二识别结果向量、第三识别结果向量、与第四识别结果向量中都包含了声纹识别网络识别为目标识别对象的第一概率、与识别为其他对象的第二概率。

基于第二识别结果向量与第三识别结果向量,确定第一相关性。第一相关性指示了第二识别结果向量与第三识别结果向量之间的相似性。基于第二识别结果向量与第三识别结果向量,确定第二相关性。第二相关性指示了第二识别结果向量与第三识别结果向量之间的相似性。计算第一相关性与第二相关性可以使用皮尔逊相关系数(PCC)算法。

在获取第一相关性与第二相关性之后,通过比较第一相关性与第二相关性,确定对抗扰动对测试声纹样本的影响程度,也就是评估对抗扰动与测试声纹样本的主导性,基于影响程度确定是否要对对抗扰动进一步优化。如果第一相关性大于第二相关性,则表示第三识别结果向量与第四识别结果向量相比,和第二识别结果向量更加相近,也就表示,在测试声纹样本上叠加的对抗扰动对于声纹识别网络的扰动程度较小,无法准确地进行目标识别。反之,如果第一相关性小于第二相关性,那就表示第四识别结果向量与第二识别结果向量更加相近,声纹识别网络收到了对抗扰动较强的干扰,以使测试对抗样本的识别结果接近与对抗扰动的识别结果,也就是趋向于目标识别对象,这也就代表了对抗扰动应用在测试声纹样本上具有较强的主导性。

因此,通过上述过程,可以对对抗扰动迁移到声纹样本总集后的结果进行主导性评估,如果评估结果显示对抗扰动迁移到声纹样本总集后的主导性较差,则需要可以重新执行步骤210-260,对对抗扰动进行进一步优化,反之,如果主导性较强,则停止训练,生成可应用声纹样本总集的对抗扰动。

本实施例通过将生成后的对抗扰动迁移到声纹样本总集上,来评估对抗扰动的主导性,如果主导性表现较差,则实施对对抗扰动的进一步优化。因此,本实施例的优点是,进一步验证对抗扰动的主导性,保证了利用小规模样本生成的对抗扰动在大规模样本上也可以具有良好的扰动效果。

综上所述,本公开实施例的针对声纹识别的对抗扰动生成方法的具体过程可以示例性地总结为如图14所示,包括:从声纹数据总集中随机采样出训练声纹样本集;初始化对抗样本生成网络;将原始声纹样本输入对抗样本生成网络,根据原始声纹样本的帧数对对抗样本生成网络中的神经元进行复制与剪切,保证每一帧对应一个神经元;对抗样本生成网络输入声纹对抗样本,声纹识别网络基于声纹对抗样本生成第一识别结果向量;基于第一识别结果向量,确定当前梯度;根据当前梯度更新对抗样本生成网络的参数,优化对抗扰动;标准化对抗扰动;针对一个原始声纹样本进行对抗扰动优化后,再针对下一个原始声纹样本进行对抗扰动优化,直到生成对于整体训练声纹样本集都具有较高主导性与隐蔽性的对抗扰动。

下面对本公开实施例的装置和设备进行描述。

可以理解的是,虽然上述各个流程图中的各个步骤按照箭头的表征依次显示,但是这些步骤并不是必然按照箭头表征的顺序依次执行。除非本实施例中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时间执行完成,而是可以在不同的时间执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据目标虚拟机属性信息或属性信息集合等与目标虚拟机特性相关的数据进行相关处理时,都会先获得目标虚拟机的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关国家和地区的相关法律法规和标准。此外,当本申请实施例需要获取目标虚拟机属性信息时,会通过弹窗或者跳转到确认页面等方式获得目标虚拟机的单独许可或者单独同意,在明确获得目标虚拟机的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的目标虚拟机相关数据。

图15为本公开实施例提供的对抗扰动生成装置1500的结构图。该对抗扰动生成装置1500包括:

第一获取单元1510,用于获取训练声纹样本集,训练声纹样本集中包含多个原始声纹样本;

初始化单元1520,用于初始化对抗样本生成网络,对抗样本生成网络为单层神经网络,其中,神经元的数量等于对抗扰动的预设帧数,每一个神经元对应对抗扰动的一帧;

第一确定单元1530,用于针对训练声纹样本集中的每一个原始声纹样本,确定目标识别对象,目标识别对象不同于原始声纹样本的真实识别对象;

第一输入单元1540,用于将原始声纹样本输入对抗样本生成网络,得到声纹对抗样本;

第二输入单元1550,用于将声纹对抗样本输入声纹识别网络,得到第一识别结果向量,第一识别结果向量包含声纹对抗样本被识别为目标识别对象的第一概率,与被识别为除目标识别对象以外的其他对象的第二概率;

训练单元1560,用于根据原始声纹样本、声纹对抗样本、第一概率、与第二概率,确定对抗样本生成网络的样本损失函数,基于样本损失函数训练对抗样本生成网络,生成对抗扰动。

可选地,第一获取单元1510具体用于:

从声纹数据总集中随机采样出训练声纹样本集;

对抗扰动生成装置还包括:

第二获取单元(未示出),用于从声纹样本总集中随机获取测试声纹样本集,测试声纹样本集中包含多个测试声纹样本;

第三输入单元(未示出),用于将测试声纹样本输入对抗样本生成网络,得到测试对抗样本;

第四输入单元(未示出),用于将测试对抗样本输入声纹识别网络,得到第二识别结果向量,将测试声纹样本输入声纹识别网络,得到第三识别结果向量,将对抗扰动输入声纹识别网络,得到第四识别结果向量;

第二确定单元(未示出),用于基于第二识别结果向量与第三识别结果向量,确定第一相关性;

第三确定单元(未示出),用于基于第二识别结果向量与第四识别结果向量,确定第二相关性;

第四确定单元(未示出),用于比较第一相关性与第二相关性,确定对抗扰动对测试声纹样本的影响程度。

可选地,训练单元1560具体用于:

基于第一概率与第二概率,确定声纹对抗样本被识别为目标识别对象的攻击成功率;

基于原始声纹样本与声纹对抗样本,确定声纹对抗样本的扰动隐蔽值;

基于攻击成功率与扰动隐蔽值,确定样本损失函数。

可选地,训练单元1560具体用于:

将第一概率与第二概率中的最大值相减,得到攻击成功率;

获取第一阈值,并根据第一阈值调整攻击成功率,如果攻击成功率大于或等于第一阈值,以第一阈值作为攻击成功率。

可选地,训练单元1560具体用于:

计算原始声纹样本与声纹对抗样本的差的l2范数作为扰动隐蔽值。

可选地,训练单元1560具体用于:

获取隐蔽系数;

利用攻击成功率减去隐蔽系数与扰动隐蔽值的乘积,得到样本损失函数。

可选地,对抗扰动的预设帧数为3200帧;对抗样本生成网络的神经元数量为3200个。

可选地,第一输入单元1540具体用于:

如果原始声纹样本的帧数大于对抗样本生成网络的神经元数量,复制对抗样本生成网络的神经元,加入对抗样本生成网络;

如果原始声纹样本的帧数小于对抗样本生成网络的神经元数量,删除对抗样本生成网络中多出的部分神经元,以确保原始声纹样本的每一帧对应对抗样本生成网络中的一个神经元;

如果原始声纹样本的帧数等于对抗样本生成网络的神经元数量,将原始声纹样本输入对抗样本生成网络。

参照图16,图16为实现本公开实施例的终端140的部分的结构框图,该终端140包括:射频(Radio Frequency,简称RF)电路1610、存储器1615、输入单元1630、显示单元1640、传感器1650、音频电路1660、无线保真(wireless fidelity,简称WiFi)模块1670、处理器1680、以及电源1690等部件。本领域技术人员可以理解,图16示出的终端结构并不构成对手机或电脑的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

RF电路1610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1680处理;另外,将设计上行的数据发送给基站。

存储器1615可用于存储软件程序以及模块,处理器1680通过运行存储在存储器1615的软件程序以及模块,从而执行终端的各种功能应用以及数据处理。

输入单元1630可用于接收输入的数字或字符信息,以及产生与终端的设置以及功能控制有关的键信号输入。具体地,输入单元1630可包括触控面板1631以及其他输入装置1632。

显示单元1640可用于显示输入的信息或提供的信息以及终端的各种菜单。显示单元1640可包括显示面板1641。

音频电路1660、扬声器1661,传声器1662可提供音频接口。

在本实施例中,该终端所包括的处理器1680可以执行前面实施例的对抗扰动生成方法。

本公开实施例的终端140包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。本发明实施例可应用于各种场景,包括但不限于人工智能、通信安全等。

图17为实施本公开实施例的服务器110的部分的结构框图。服务器110可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(CentralProcessing Units,简称CPU)1722(例如,一个或一个以上处理器)和存储器1732,一个或一个以上存储应用程序1742或数据1744的存储介质1730(例如一个或一个以上海量存储装置)。其中,存储器1732和存储介质1730可以是短暂存储或持久存储。存储在存储介质1730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器110中的一系列指令操作。更进一步地,中央处理器1722可以设置为与存储介质1730通信,在服务器110上执行存储介质1730中的一系列指令操作。

服务器110还可以包括一个或一个以上电源1726,一个或一个以上有线或无线网络接口1750,一个或一个以上输入输出接口1758,和/或,一个或一个以上操作系统1741,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

服务器110中的中央处理器1722可以用于执行本公开实施例的对抗扰动生成方法。

本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行前述各个实施例的对抗扰动生成方法。

本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序。计算机设备的处理器读取该计算机程序并执行,使得该计算机设备执行实现上述的对抗扰动生成方法。

本公开的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“包含”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其它步骤或单元。

应当理解,在本公开中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

应了解,在本公开实施例的描述中,多个(或多项)的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。

在本公开所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器110,或者网络装置等)执行本公开各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-On ly Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

还应了解,本公开实施例提供的各种实施方式可以任意进行组合,以实现不同的技术效果。

以上是对本公开的实施方式的具体说明,但本公开并不局限于上述实施方式,熟悉本领域的技术人员在不违背本公开精神的条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本公开权利要求所限定的范围内。

技术分类

06120116501893