HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种针对语音关键词分类网络的对抗样本攻击方法与流程

2021-01-28 12:01:48|308|起点商标网
一种针对语音关键词分类网络的对抗样本攻击方法与流程

本发明涉及基于条件生成对抗网络的对抗样本生成技术领域,具体是一种针对语音关键词分类网络的对抗样本攻击方法。



背景技术:

基于深度学习的语音关键词分类器作为语音唤醒功能的核心功能被广泛地应用于智能设备,如智能手机,智能音箱和智能声控门锁等。由于语音关键词分类器容易遭到对抗样本攻击,因而给这类应用蒙上潜在的安全隐患。为了消除这些安全隐患,对抗样本的研究显得非常必要。对抗样本是指在深度学习中,对网络的输入进行细微有目的修改导致网络做出错误输出,甚至攻击者指定的输出。一般意义上的对抗样本需要满足以下两个方面的条件:第一,在听觉感受上,对抗样本应与其原始样本无异。第二,在功能上,对抗样本可以使目标网络识别出错,甚至识别成攻击者指定的目标。现有构建对抗样本的方法可以分为以下两类:基于优化算法和基于进化算法。基于优化算法的攻击方法通过设计一个优化目标函数,通过迭代求出一个符合目标函数的最优解。基于进化算法的攻击方法的关键则是设计一个种群的适应度函数,通过对预设群体的不断进化更新,最终找到符合条件的结果。这两类方法的优点是,不需要获得目标网络的梯度信息,可以实现黑盒攻击;但是其缺点在于生成单个对抗样本需要大量的时间,这在实时场景中是无法接受的。近年来,也有基于深度学习方法的对抗样本攻击方法提出,这类方法将一个受害者模型置于网络框架种训练,最终使用训练好的模型生成对抗样本,但这种方法因需要对每个目标标签训练一个模型而导致效率不高,并且网络仅能针对某个特定的受害模型,生成的对抗样本的质量不高。

当前语音关键词分类网络的研究中,分为:一、使用遗传算法攻击谷歌提出的语音关键词分类网络;二、使用生成对抗网络生成对抗扰动,然后添加到语音中生成对抗样本,攻击了在关键词分类问题中性能很好的分类器。

方法一通过大量的迭代的方式求对抗样本,需要耗费大量的时间和计算机资源,而方法二需要针对每个目标都训练一个生成器,这导致在训练和使用时,效率都很低。此外,该方法生成的对抗样本语音质量也不高。



技术实现要素:

本发明要解决的技术问题就是克服以上的技术缺陷,提供一种针对语音关键词分类网络的对抗样本攻击方法,通过分析损失权重与生成对抗样本语音质量的关系,从而选择了一组恰当的权重。此外,为了提高生成对抗样本的可转移性,即保证其能在一定程度上攻击未知模型,提出了一种模型集成的方法。当模型训练完成后,提出的方法能够满足实时攻击的场景,并且生成的对抗样本在可转移性和质量都有很大的提升。

为了解决上述问题,本发明的技术方案为:一种针对语音关键词分类网络的对抗样本攻击方法,包括以下步骤:

(1)按照训练策略选择训练数据以及训练的批大小的目标标签;

(2)将数据以及标签输入到生成器g中,生成对抗扰动,并且构建相应的对抗样本;

(3)将生成的对抗样本分别输入到判别器d和目标受害模型,得到相应的损失,并且计算相应的损失,更新网络的参数;

(4)重复步骤(1)至步骤(4),直到满足训练的停止条件,最终得到训练好的模型;

(5)模型使用,加载模型参数,输入语音样本以及目标标签,即可快速的生成对抗样本。

进一步,所述步骤(1)中的目标标签由标签标量转化为标签向量的公式如下:

其中,ta是预设的目标标签,是预设目标标签的独热编码,w为目标高维矩阵,t是经过映射完的目标标签向量。

进一步,所述步骤(2)中的生成器采用1维卷积层的堆叠,并在最后一个卷积层后使用tanh激活函数,将生成器的输出约束在[-1,1]的范围内,所述生成器包括下采样和上采样的两个过程,下采样过程使用了8个一维卷积层,上采样过程使用了8个转置卷积成,并且在最后一个卷积层后使用了tanh激活函数,并且使用跳跃连接的方法连接下采样和上采样两个过程,所述对抗样本由如下的公式构建:

x′=x+g(x,t)#(2)

其中g(x,t)是生成的对抗扰动。

进一步,所述步骤(3)中的判别器由11个卷积块组成,除最后1个卷积块外每个卷积块都由1个一维卷积层,批归一化层,leaky-relu激活函数构成。最后1个卷积块由1个一维卷积层和leaky-relu激活函数构成。在卷积块后连接一个全连接层,最后通过softmax得到分类概率。

进一步,所述步骤(3)中计算损失的公式为:

lg=lgan+αladv+βl2#(3)

其中,lg是生成器总的损失;lgan是判别器将对抗样本识别成正常样本的损失;ladv是受害模型对生成的对抗样本的分类结果,即对抗样本被分类成目标标签的损失;l2是对抗样本与正常样本之间的二范数损失,α和β是损失的权重,控制对抗样本的攻击成功率和语音质量的参数。

进一步,所述lgan的具体计算方法如下:

其中d(x′)是判别器对生成对抗样本的分类情况,表示求期望运算。

所述ladv的具体计算方法如下:

其中lce是指目标受害网络的分类损失函数,ta表示预设的目标标签,fi表示第i个受害模型。

所述l2的具体计算方法如下:

l2=||x′-x||2#(6)

所述判别器的损失具体计算方法如下:

进一步,所述步骤(4)中得到的模型计算公式为:

其中g*为训练好的生成器,d*为训练好的判别器。

进一步,所述目标标签的选择方法为:在网络训练时,随机选择不同的目标标签作为批训练的目标标签,批大小设为64,使用交替更新的方式训练生成器和判别器,首先固定判别器的参数,更新生成器的参数,然后固定生成器的参数,更新判别器的参数,网络训练的终止条件有两个,第一个是达到预设的训练次数,第二是5个训练次数内攻击成功了没有提升。具体的过程如下:

输入:目标标签ta,目标受害网络fi,训练数据集,超参数α,β,批大小m;

输出:训练好的生成器g*

用xavier初始化生成器和判别器的参数;加载目标受害网络的参数,并且固定其参数;

do

在训练集中随机获取m个原始样本和随机选择不同的m个目标标签。

通过公式(1)得到经过映射的目标标签。

通过公式(2)得到构建的对抗样本。

使用随机梯度更新生成器的参数:

使用随机梯度更新判别器的参数:

while满足结束条件

本发明与现有的技术相比的优点在于:本发明提供了一种可用于实时场景下对语音关键词分类网络的对抗样本攻击方法,设计了基于条件生成网络的网络框架,通过设计模型集成的方法。使用本发明提出的方法,能够实现实时场景下基于语音关键词分类网络应用的对抗样本攻击。

附图说明

图1是本发明中网络框架概论图。

图2是本发明中生成器g的结构示意图。

图3是本发明中判别器d的结构示意图。

具体实施方式

以下通过具体实施例进一步描述本发明,但本发明不仅仅限于以下实施例。在本发明的范围内或者在不脱离本发明的内容、精神和范围内,对本发明进行的变更、组合或替换,对于本领域的技术人员来说是显而易见的,且包含在本发明的范围之内。

如图1所示,所提出的基于条件生成对抗网络由3部分构成:生成器g,判别器d,目标受害模型组成。其中,生成器g是训练后需要保存的模型,也是本发明的关键;判别器d的作用是使得构建的对抗样本与正常样本的分布尽可能相似,若对抗样本能够骗过判别器d,则说明生成器g生成的对抗样本语音质量较好;受害者模型的作用是对生成的对抗样本进行分类,并且将对抗样本与目标标签的分类损失回传到生成器g,指导生成器g生成能够使对抗样本识别为目标标签的扰动。通过设计合理的网络结构和训练策略,最终得到训练好的生成器。用训练完的生成器g可以生成指定目标标签的对抗样本。假设x是原始样本,y是其原始的标签;x′是生成的对抗样本,t是预设的目标标签。fi是目标受害模型,有fi(x)=y,fi(x′)=t。

目标标签映射

为了使生成器学习到输入标签,本发明提出一种将标签标量转化为标签向量的方法,具体方法是将标签编码成独热编码(one-hotencoding),然后乘以一个可训练的矩阵w,将标签标量转化成标签向量。过程如下述公式所示:

其中,ta是预设的目标标签,是预设目标标签的独热编码,w为目标高维矩阵,t是经过映射完的目标标签向量。通过公式(1),标量标签即可当作生成对抗网络的标签信息输入到生成器g中。

如图2所示,生成器g网络结构的设计对生成对抗网络的稳定训练有着重要的影响。由于本发明的目的是生成对抗扰动,而不是生成精细(高质量)的语音。因此,本专利的生成器g设计成采用1维卷积层的堆叠,并在最后一个卷积层后使用tanh激活函数,将生成器g的输出约束在[-1,1]的范围内;生成器g包括下采样和上采样的两个过程。下采样过程使用了8个一维卷积层。上采样过程使用了8个转置卷积成,并且在最后一个卷积层后使用了tanh激活函数。为了确保上采样过程能够保存语音的浅层信息,使用跳跃连接的方法连接下采样和上采样两个过程。生成器g的最终输出是尺寸与输入语音尺寸一致的扰动。对抗样本由如下的公式构建:

x′=x+g(x,t)#(2)

其中g(x,t)是生成的对抗扰动。

如图3所示,生成对抗网络的由两个网络构成,两个网络相互监督,互相学习。判别器的作用是分辨出生成的对抗样本与真实样本。为了达到欺骗判别器的目的,生成器生成的对抗样本要能被判别器识别成真实样本。判别器的损失用于更新生成器,指导生成器完成这一目标;判别器由11个卷积块组成,除最后1个卷积块外每个卷积块都由1个一维卷积层,批归一化层,leaky-relu激活函数构成。最后1个卷积块由1个一维卷积层和leaky-relu激活函数构成。在卷积块后连接一个全连接层,最后通过softmax得到分类概率。使用11层卷积块是为了使判别器有足够的分辨能力,从而更好的指导生成器更新。

损失函数设计

损失函数是指导网络训练的关键。为此,本发明提出了如下生成器的损失函数:

lg=lgan+αladv+βl2#(3)

其中,lg是生成器总的损失;lgan是判别器将对抗样本识别成正常样本的损失;ladv是受害模型对生成的对抗样本的分类结果,具体地说是对抗样本被分类成目标标签的损失;l2是对抗样本与正常样本之间的二范数损失,目的是为了使生成的对抗扰动尽可能小。α和β是损失的权重,控制对抗样本的攻击成功率和语音质量的参数,训练时,α设置为1和β设置为10000。

生成对抗网络损失lgan:该损失是为了鼓励生成器生成更小的扰动,使得构建的对抗样本与原始样本的差距尽可能小,从而骗过判别器。具体的计算方式如下:

其中d(x′)是判别器对生成对抗样本的分类情况,其分类结果越接近1,就说明构建的对抗样本与原始样本的差别越小;表示求期望运算。可以看出,d(x′)越接近1,该项损失越小,通过不断地优化,最终构建的对抗样本完全欺骗过判别器。

目标受害网络损失ladv:本发明的最终目的是生成对抗样本。因此,设计如下损失函数迫使生成器生成能够欺骗对抗样本的扰动:

其中lce是指目标受害网络的分类损失函数(交叉熵损失),ta表示预设的目标标签,fi表示第i个受害模型。当i≥2时,即为本发明提出的模型融合方法。通过不断地最小化该损失,可以使生成器生成让受害网络分类错误地扰动。

扰动约束损失l2:为了达到使生成的对抗扰动尽可能地小的目的,使用如下的二范数损失约束生成的扰动:

l2=||x′-x||2#(6)

通过最小化该损失,生成器生成的对抗扰动就会尽可能小。

除生成器的损失的设计外,判别器的损失也很关键,这里本发明采用文献[3]提出的计算方法:

通过最小化该损失,判别器分辨真假样本的能力不断提升。

最后通过不断地训练接近如下的一个最小最大化优化问题:

通过训练,得到训练好的生成器g*。对于给定的语音和目标关键词,使用该训练好的生成器构建对应的对抗样本,使得对抗样本被识别为指定的目标关键词。

训练策略

在网络训练时,随机选择不同的目标标签作为批训练的目标标签。批大小设为64。在训练时选择不同的目标标签可以使网络的训练更加稳定。此外,本发明在训练时,使用交替更新的方式训练生成器和判别器;首先固定判别器的参数,更新生成器的参数;然后固定生成器的参数,更新判别器的参数。受害者模型的参数不会进行更新。网络训练的终止条件有两个,第一个是达到预设的训练次数;第二是5个训练次数内攻击成功了没有提升。具体训练过程如下所示:

输入:目标标签ta,目标受害网络fi,训练数据集,超参数α,β,批大小m;

输出:训练好的生成器g*

用xavier初始化生成器和判别器的参数;加载目标受害网络的参数,并且固定其参数;

do

在训练集中随机获取m个原始样本和随机选择不同的m个目标标签。

通过公式(1)得到经过映射的目标标签。

通过公式(2)得到构建的对抗样本。

使用随机梯度更新生成器的参数:

使用随机梯度更新判别器的参数:

while满足结束条件

以上所述仅为本发明专利的较佳实施例而已,并不用以限制本发明专利,凡在本发明专利的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明专利的保护范围之内。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips