CN112287323A - 基于生成对抗网络的语音验证码生成方法 - Google Patents
基于生成对抗网络的语音验证码生成方法 Download PDFInfo
- Publication number
- CN112287323A CN112287323A CN202011159897.4A CN202011159897A CN112287323A CN 112287323 A CN112287323 A CN 112287323A CN 202011159897 A CN202011159897 A CN 202011159897A CN 112287323 A CN112287323 A CN 112287323A
- Authority
- CN
- China
- Prior art keywords
- network
- verification code
- convolution layer
- audio
- disturbance noise
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2133—Verifying human interaction, e.g., Captcha
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种基于生成对抗网络的语音验证码生成方法,旨在通过增强抵御自动语音识别系统攻击的能力,提高语音验证码的安全性,实现步骤为:获取训练样本集、测试样本集和帧序列集;构建语音验证码生成网络模型;对语音验证码生成网络模型进行迭代训练;获取语音验证码的生成结果。本发明利用人耳不易觉察对抗扰动噪声可以使自动语音识别系统误分类的特性,将用包含生成对抗网络的模型生成的对抗扰动噪声添加到原始语音验证码的音频文件中,并通过生成对抗网络交替训练互相博弈的过程,使生成的带有对抗扰动噪声的语音验证码难以被自动语音识别系统攻击成功,从而提高语音验证码的安全性,可用于实际场景中的验证码验证过程。
Description
技术领域
本发明属于网络安全技术领域,涉及一种语音验证码生成方法,特别涉及一种利用包含生成对抗网络GAN的模型生成语音验证码的方法,可用于网络安全验证。
背景技术
验证码,即全自动区分计算机和人类的公开图灵测试(Completely AutomatedPublic Turing test to tell Computers and Humans Apart,CAPTCHA),是一种区分用户是计算机还是人的公共自动程序,主要通过强制人机交互来抵抗来自机器的恶意攻击。现如今,注册账号和登陆网站都需要验证码,验证码不仅能保护隐私安全、防止信息被恶意盗取,更能减少一些不必要的损失。现在比较主流的验证码包括文本验证码、图像验证码和语音验证码。语音验证码作为验证码的主流方式之一,主要形式以一段音频文件播放为主,通过用户完成听力识别音频内容完成验证过程,其出现为视觉障碍人群带来了福音。同时,作为一种以音频识别为主要任务的机制,扩充了验证码的多样性,增大了验证码自动识别的难度。近年来,随着语音识别技术取得突破性成果以及语音相关应用的普及,语音验证码也应该被重视起来。
现有大多数语音验证码已被证实可被自动语音识别系统攻破,且攻击成功率较高,其安全性亟需提高。目前影响语音验证码的安全性的因素主要可以分为两个方面:(1)语音验证码中音频自身的属性,例如语速、内容的难易程度、背景噪声等,语速越快、验证码中内容越难、噪声越大,语音验证码越不易被破解,但与此同时,人类通过语音验证码的难度也随之提升;(2)在语音验证码中加入的一些防御自动语音识别系统攻击的机制,这些加入的机制较大程度提高验证码的安全性的同时往往可以使人类难以察觉。现有的语音验证码一般是通过改变第一个方面的内容来提高安全性,例如从新闻等现实场景截取带有背景噪声的语音片段或者选择语速快的语音片段作为语音验证码。
在现今已有语音验证码中,抵御性较强的有Google于2014年提出并沿用的reCAPTCHA v2中的语音验证码,该语音验证码通过两端添加的噪声片段和一些背景噪声来抵御机器的恶意攻击,然而,验证码附带的背景噪声较容易被人类听众觉察且没有利用自动语音识别系统等机器攻击的特性来增加一些防御机制。用目前较好的Deepspeech和Lingvo自动语音识别模型对reCAPTCHA v2中的语音验证码进行识别,这些语音验证码大部分可被正确识别。
发明内容
本发明的目的在于针对上述现有技术存在的不足,提出了一种基于生成对抗网络的语音验证码生成方法,旨在通过增强抵御自动语音识别系统攻击的能力,提高语音验证码的安全性。
为实现上述目的,本发明采取的技术方案包括如下步骤:
(1)获取训练样本集、测试样本集和帧序列集:
(1a)从第三方开源平台获取N个原始语音验证码的音频文件,若音频文件的格式不是wav,则将其格式转换为wav,并对每个wav格式的音频文件首尾的噪音部分进行裁剪,得到音频文件集X={X1,X2,...,Xn,...,XN},其中N≥1200,Xn表示第n个裁剪后的长度为Ln的音频文件;
(1c)设分帧的帧数为M,F为分帧的帧长,K为帧移,并对每个音频文件Xn进行分帧,若Xn不足M帧,以Pn为长度对其末尾补零,得到N个音频文件分帧结果组成的帧序列集X'={X'1,X'2,...,X'n,...,X'N},其中X'n表示Xn分帧后的包括M个音频向量的帧序列
(2)构建语音验证码生成网络模型A2Captcha:
构建包括生成对抗网络GAN和目标语音识别系统ASR的语音验证码生成网络模型A2Captcha,其中生成对抗网络GAN包括生成器网络G以及与其级联的判别器网络D,G采用包含多个卷积层、多个残差块和多个转置卷积层的卷积神经网络,G的损失函数为LG,D采用包含全连接层和多个卷积层的卷积神经网络,D的损失函数为LD,ASR与G级联,采用包括开源的Deepspeech以及开源的Lingvo的自动语音识别系统,其中:
LG=Ladv+α1Lg+α2LTVD
其中Ladv表示对抗损失函数,S表示每次迭代训练时用到的训练样本的数目,lf()表示交叉熵损失函数,表示第s个带有对抗扰动噪声的语音验证码样本,表示ASR对识别的Deepspeech识别结果,表示ASR对识别的Lingvo识别结果,tfake表示目标转录标签,Lg表示内置损失函数, 表示第s个语音验证码样本,D()表示判别器网络D的输出结果,LTVD表示全变分去噪损失函数,ω为LTVD的损失权重参数,α1、α2为LG损失权重系数,λ为LD的梯度惩罚权重参数;
(3)对语音验证码生成网络模型A2Captcha进行迭代训练:
(3a)初始化生成器网络G的权重参数为θG,判别器网络D的权重参数为θD,迭代次数为q,最大迭代次数为Q,Q≥50000,并令q=0;
(3b)将从X'中随机选取的S个帧序列X’train={X'1,X'2,...,X's,...,X'S}作为语音验证码生成网络模型A2Captcha的输入进行前向推进,生成器网络G对每个帧序列X's中的每个音频向量进行特征变换,得到对抗扰动噪声序列Z’train={Z’1,Z’2,...,Z’s,...,Z’S},其中1≤S<I,Z’s表示X's对应的对抗扰动噪声序列, 表示对应的对抗扰动噪声向量;
(3c)按照m从小到大的次序将Z’s中所有对抗扰动噪声向量进行连接,实现对Z’s的音频合并,得到对抗扰动噪声音频集Ztrain={Z1,Z2,...,Zs,...ZS},其中Zs表示Z’s对应的对抗扰动噪声音频;
(3d)判断Ztrain中是否存在对抗扰动噪声音频对应的音频文件的末尾进行了补零,若是,将该对抗扰动噪声音频末尾补零的长度置零,并将Zs添加到对应的音频文件Xs中,得到带有对抗扰动噪声的语音验证码样本集其中表示Xs对应的带有对抗扰动噪声的语音验证码样本;
(3e)将Xtrain和作为判别器网络Dq的输入进行前向传播,分别提取Xtrain和中每一个Xs和的特征,并将Xs标记为1,将标记为0,得到S个音频文件的预测标签Dq(Xtrain)={Dq(X1),Dq(X2),...,Dq(Xs),...,Dq(XS)}和S个带有对抗扰动噪声的语音验证码样本的预测标签
(3g)采用对抗损失函数Ladv,通过tfake、fDeepspeech和fLingvo计算生成器网络G对抗损失Ladv的损失值同时采用内置损失函数Lg,通过Dq(Xtrain)和中所有的预测标签计算生成器网络G内置损失Lg的损失值采用全变分去噪损失函数LTVD,通过和Xtrain计算生成器网络G的全变分去噪损失LTVD的损失值并通过 和计算生成器网络G损失函数LG的损失值然后采用梯度下降法,通过对判别器网络Gq各层的权重参数θG进行更新;
(3i)判断q=Q是否成立,若是,得到训练好的语音验证码生成网络模型A2Captcha*,否则,令q=q+1,并执行步骤(3b);
(4)获取对抗语音验证码的生成结果:
(4a)将测试样本集中的所有测试样本Xtest={X1,X2,...,Xj,...,XN-I}和其对应的分帧后的帧序列集Xt'est={X'1,X'2,...,X'j,...,X'N-I}作为训练好的语音验证码生成网络模型A2Captcha*的输入并前向推进,生成器网络G*对X’test中的每一帧X'j的每个音频向量进行特征转换,得到对抗扰动噪声序列Z’test={Z’1,Z'2,...,Z’j,...,Z'N-I},Z’j表示X'j对应的对抗扰动噪声序列, 表示对应的对抗扰动噪声向量;
(4b)按照m从小到大的次序将Z’j中所有对抗扰动噪声向量进行连接,实现对Z’j的音频合并,得到对抗扰动噪声音频集Ztest={Z1,Z2,...,Zj,...ZN-I},其中Zj表示Z’j对应的对抗扰动噪声音频;
(4c)判断Ztest中是否存在对抗扰动噪声音频对应的音频文件的末尾进行了补零,若是,将该对抗扰动噪声音频末尾补零的长度置零,并将Zj添加到对应的音频文件Xj中,得到语音验证码集其中表示Xj对应的语音验证码。
本发明与现有技术相比,具有如下优点:
1.本发明利用人耳不易觉察的对抗扰动噪声可以使自动语音识别系统误分类的特性,将用生成对抗网络GAN生成的对抗扰动噪声添加到原始语音验证码音频文件中,从而增强语音验证码抵御自动语音识别系统攻击的能力;通过生成器网络G和判别器网络D的交替训练互相博弈这一过程,使生成的带有对抗扰动噪声的语音验证码可以很好地模拟输入的语音验证码音频文件的真实分布,从而使自动语音识别系统更加难以攻击成功。与现有技术相比,有效地提高了语音验证码的安全性,仿真结果表明,本发明生成的语音验证码的攻击成功率降低为了0%。
2.本发明在训练生成器网络G的过程中采用了全变分去噪损失LTVD,利用全变分去噪损失可以平滑掉带有对抗扰动噪声的语音验证码样本平坦区域的噪声,使语音验证码中的对抗噪声扰动听起来更加不可感知。用本发明得到的语音验证码对33位用户进行听力测试,大部分用户认为添加了对抗扰动噪声的语音验证码和原语音验证码的音频相比,不影响正常识别语音内容,仿真结果表明,生成的语音验证码可用性良好,不影响用户体验。
附图说明
图1是本发明的实现流程图;
图2是本发明对语音验证码生成网络模型A2Captcha进行迭代训练的实现流程图。
具体实施方式
以下结合附图和具体实施例,对本发明作进一步详细描述。
参照图1,本发明包括如下步骤:
步骤1)获取训练样本集、测试样本集和帧序列集:
步骤1a)从第三方开源平台获取N个原始语音验证码的音频文件,若音频文件的格式不是wav,则将其格式转换为wav,并对每个wav格式的音频文件首尾的噪音部分进行裁剪,得到音频文件集X={X1,X2,...,Xn,...,XN},其中N≥1200,Xn表示第n个裁剪后的长度为Ln的音频文件,本实施例中,第三方开源平台为rechaptcha v2,N=1200,获取N个原始语音验证码的音频文件是以能被自动语音识别系统Deepspeech和Lingvo正确识别为条件筛选得到的;
步骤1b)任选I个音频文件作为训练样本集,将其余N-I个音频文件作为测试样本集,I=1000;
步骤1c)设分帧的帧数为M,F为分帧的帧长,K为帧移,并对每个音频文件Xn进行分帧,若Xn不足M帧,以Pn为长度对其末尾补零,得到N个音频文件分帧结果组成的帧序列集X'={X'1,X'2,...,X'n,...,X'N},其中X'n表示Xn分帧后的包括M个音频向量的帧序列本实施例中,M=2048,F=16384,K=0。
步骤2)构建语音验证码生成网络模型A2Captcha:
构建包括生成对抗网络GAN和目标语音识别系统ASR的语音验证码生成网络模型A2Captcha,其中生成对抗网络GAN包括的生成器网络G以及与其级联的判别器网络D,目标语音识别系统ASR与G级联:
生成器网络G采用包含多个卷积层、多个残差块和多个转置卷积层的卷积神经网络,其卷积层的数量为5,残差块数量为4,转置卷积层数量为5;其具体结构为:第一卷积层→第二卷积层→第三卷积层→第四卷积层→第五卷积层→第一残差块→第二残差块→第三残差块→第四残差块→第一转置卷积层→第二转置卷积层→第三转置卷积层→第四转置卷积层→第五转置卷积层;卷积层采用一维卷积,卷积核大小为25,步长为4,激活函数采取LeakyRelu,第一卷积层、第二卷积层、第三卷积层、第四卷积层和第五卷积层的卷积核数量分别为64、128、256、512和1024;残差块包含卷积核数量为1024,卷积核大小为25,步长为3的两个卷积层,第一个层卷积层采用LeakyRelu激活函数;转置卷积层采用一维转置卷积,卷积核大小为25,步长为4,第一转置卷积层到第四转置卷积层的激活函数采用Relu,Relu的公式如下:
f(x)=max(0,x)
其中,x表示网络的当前层对输入数据经过运算后输出的数据,f(x)为激活后的数据;第五层转置卷积层的激活函数采用Tanh,Tahn的公式如下:
其中,x表示网络的当前层对输入数据经过运算后输出的数据,f(x)为激活后的数据,输出的值在[-1,1]之间;第一转置卷积层、第二转置卷积层、第三转置卷积、第四转置卷积层和第五转置卷积层的卷积核数量分别为512、256、128、64和1。G的损失函数LG为:
LG=Ladv+α1Lg+α2LTVD
其中,Ladv表示对抗损失函数,Ladv用于引导训练产生的带有对抗扰动噪声的语音验证码样本被ASR错误识别为tfake,S表示每次迭代训练时用到的训练样本的数目,lf()表示交叉熵损失函数,表示第s个带有对抗扰动噪声的语音验证码样本,表示ASR对识别的Deepspeech识别结果,表示ASR对识别的Lingvo识别结果,tfake表示目标转录标签;Lg表示内置损失函数,D()表示判别器网络D的输出结果;LTVD表示全变分去噪损失函数,LTVD可以平滑掉平坦区域的噪声,使语音验证码中的对抗噪声扰动听起来更加不可感知,ω为LTVD的损失权重参数,α1、α2为LG损失权重系数;本实施例中,tfake设定为“custom target phrase”,α1=0.1,α2=1,ω=10。
生成器网络G采用多个卷积层对裁剪后的音频文件的特征进行特征转换,根据每个音频文件的特征生成与之对应的扰动噪声,充分利用了音频文件的信息,并有利于生成的扰动噪声不易觉察且具有鲁棒性。
判别器网络D采用包含全连接层和多个卷积层的卷积神经网络,其卷积层的数目为5层,全连接层的数目为1层;其具体结构为:第一卷积层→第二卷积层→第三卷积层→第四卷积层→第五卷积层→全连接层;卷积层采用一维卷积,卷积核大小为25,步长为4,激活函数为LRelu,LRelu的公式如下:
其中,x表示网络的当前层对输入数据经过运算后输出的数据,f(x)为激活后的数据,本实施例中,a=0.2;第一卷积层、第二卷积层、第三卷积层、第四卷积层和第五卷积层的卷积核数量分别为64、128、256、512和1024;第一卷积层到第四卷积层并经过激活函数之后,需要对得到的特征图进行Phase Shuffle操作,Phase Shuffle用于将特征图的特征进行随机打乱,便于D对特征的学习,其具体过程为:设置超参数w,并从[-w,w]中随机选择一个数字b,若b>0则去掉特征图后面长度为b的部分,并对裁剪后的特征图进行映射得到一个新的长度为b的特征图,并将这个新的特征图填充到裁剪后的特征图的前面,若b<0则去掉特征图前面长度为b的部分,并对裁剪后的特征图进行映射得到一个新的长度为b的特征图,并将这个新的特征图填充到裁剪后的特征图的后面;全连接层卷积核数量为1024。D的损失函数LD为:
其中,λ为梯度惩罚权重参数,本实施例中,λ=10,Phase Shuffle映射方法使用了tensorflow.pad()函数中的reflect映射方法,Phase Shuffle的超参数设置为2。
判别器网络D对于输入的音频文件和带有对抗扰动噪声的语音验证码样本进行区分判别,再利用判别结果的预测标签来计算损失函数从而更新自身网络D和生成器网络G,引导G生成更加不易觉察的对抗扰动噪声。
目标语音识别系统ASR包含两个先进的基于深度学习的自动语音识别系统DeepSpeech和Lingvo,使用DeepSpeech和Lingvo进行集成学习,使得生成的对抗语音验证码对二者均有误导效果从而提高对抗语音验证码的安全性使之更加不易被自动语音识别系统攻破。
步骤3)对语音验证码生成网络模型A2Captcha进行迭代训练,实现过程如图2所示:
步骤3a)初始化生成器网络G的权重参数为θG,判别器网络D的权重参数为θD,迭代次数为q,最大迭代次数为Q,Q≥50000,并令q=0,本实施例中,Q=50000,所有训练过程学习率均为0.0001,梯度下降算法均使用Adam优化算法,Adam一阶指数衰减因子为0.5,二阶指数衰减因子为0.9;
步骤3b)将从X'中随机选取的S个帧序列X’train={X'1,X'2,...,X's,...,X'S}作为语音验证码生成网络模型A2Captcha的输入进行前向推进,生成器网络G对每个帧序列X's中的每个音频向量进行特征变换,得到对抗扰动噪声序列Z’train={Z’1,Z'2,...,Z’s,...,Z'S},其中1≤S<I,Z’s表示X's对应的对抗扰动噪声序列, 表示对应的对抗扰动噪声向量,本实施例中S=16。
步骤3c)按照m从小到大的次序将Z’s中所有对抗扰动噪声向量进行连接,实现对Z’s的音频合并,得到对抗扰动噪声的音频集Ztrain={Z1,Z2,...,Zs,...ZS},其中Zs表示用Z’s中的对抗扰动噪声向量生成的一段对抗扰动噪声的音频;
步骤3d)判断Ztrain中是否存在对抗扰动噪声音频对应的音频文件的末尾进行了补零,若是,将该对抗扰动噪声音频末尾补零的长度置零,并将Zs添加到对应的音频文件Xs中,得到带有对抗扰动噪声的语音验证码样本集其中表示Xs对应的带有对抗扰动噪声的语音验证码样本;
步骤3e)将Xtrain和作为判别器网络Dq的输入进行前向传播,分别提取Xtrain和中每一个Xs和的特征,并将Xs标记为1,将标记为0,得到S个音频文件的预测标签Dq(Xtrain)={Dq(X1),Dq(X2),...,Dq(Xs),...,Dq(XS)}和S个带有对抗扰动噪声的语音验证码样本的预测标签
步骤3g)采用对抗损失函数Ladv,通过fDeepspeech和fLingvo计算生成器网络G对抗损失Ladv的损失值同时采用内置损失函数Lg,通过Dq(Xtrain)和中所有的预测标签计算生成器网络G内置损失Lg的损失值采用全变分去噪损失函数LTVD,通过和Xtrain计算生成器网络G的全变分去噪损失LTVD的损失值并通过和计算生成器网络G损失函数LG的损失值然后采用梯度下降法,通过对判别器网络Gq各层的权重参数θG进行更新;
步骤3i)判断q=Q是否成立,若是,得到训练好的语音验证码生成网络模型A2Captcha*,否则,令q=q+1,并执行步骤(3b);
通过G和D交替训练最终使语音验证码生成网络模型A2Captcha中生成对抗网络GAN的D更加容易区分音频文件和带有对抗扰动噪声的语音验证码样本,并使G能够欺骗D的判别,从而生成更加真实的不易觉察的且具有较好鲁棒性对抗扰动噪声,从而得到效果较好的语音验证码。
步骤4)获取语音验证码的生成结果:
步骤4a)将测试样本集中的所有测试样本Xtest={X1,X2,...,Xj,...,XN-I}和其对应的分帧后的帧序列集X’test={X'1,X'2,...,X'j,...,X'N-I}作为训练好的语音验证码生成网络模型A2Captcha*的输入并前向推进,生成器网络G*对这些帧序列集中的每一帧的每个音频向量进行特征转换,得到对抗扰动噪声序列Z’test={Z’1,Z'2,...,Z’j,...,Z'N-I},Z’j表示X'j对应的对抗扰动噪声序列, 表示对应的对抗扰动噪声向量;
步骤4b)按照m从小到大的次序将Z’j中所有对抗扰动噪声向量进行连接,实现对Z’j的音频合并,得到对抗扰动噪声音频集Ztest={Z1,Z2,...,Zj,...ZN-I},其中Zj表示Z’j对应的对抗扰动噪声音频;
步骤4c)判断Ztest中是否存在对抗扰动噪声音频对应的音频文件的末尾进行了补零,若是,将该对抗扰动噪声音频末尾补零的长度置零,并将Zj添加到对应的音频文件Xj中,得到语音验证码集其中表示Xj对应的语音验证码。
下面结合仿真实验,对本发明的技术效果作进一步的描述:
1、仿真条件和内容:
本实验所用硬件平台为:处理器Intel Corei7 CPU(1.80GHz),显卡NVDIAGeForce GTX 1080,内存8GB。操作系统为Ubuntu 16.04。仿真实验软件平台为:Tensorflow和Python3.5。
仿真一:用自动语音识别系统Deepspeech和Lingvo,对生成的200个带有对抗扰动噪声的语音验证码进行识别,得到的识别结果和攻击成功率如表1所示,其中:
仿真二:对生成的200个带有对抗扰动噪声的语音验证码进行用户调研,33位用户分别听取6段reCAPTCHA v2语音验证码和6段本方法对应生成的带有对抗扰动噪声的语音验证码,得到的认为“加了对抗扰动的语音和原音频相比,不影响正常识别语音内容”的人数比例如表2所示。
2、仿真结果分析:
表1
表2
从表1可以看出,对于200个由语音识别系统成功识别的reCAPTCHAv2语音验证码生成的带有对抗扰动噪声的语音验证码,自动语音识别系统的攻击成功率从100%降到了0%,并将本发明生成的带有对抗扰动噪声的语音验证码错误识别为tfake的内容。结果表明提出的语音验证码生成方法生成的语音验证码能够成功地误导自动语音识别系统的识别,增强其抵御自动语音识别系统攻击的能力,从而提高语音验证码的安全性,降低其被自动语音识别系统破解的可能性。
从表2可以看出93.94%的用户均认为添加了对抗扰动噪声的语音验证码和原语音验证码的音频相比不影响正常识别语音内容,生成的语音验证码可用性良好,不影响用户体验。
以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修改和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
Claims (3)
1.一种基于生成对抗网络的语音验证码生成方法,其特征在于,包括以下步骤:
(1)获取训练样本集、测试样本集和帧序列集:
(1a)从第三方开源平台获取N个原始语音验证码的音频文件,若音频文件的格式不是wav,则将其格式转换为wav,并对每个wav格式的音频文件首尾的噪音部分进行裁剪,得到音频文件集X={X1,X2,...,Xn,...,XN},其中N≥1200,Xn表示第n个裁剪后的长度为Ln的音频文件;
(1c)设分帧的帧数为M,F为分帧的帧长,K为帧移,并对每个音频文件Xn进行分帧,若Xn不足M帧,以Pn为长度对其末尾补零,得到N个音频文件分帧结果组成的帧序列集X'={X'1,X'2,...,X'n,...,X'N},其中X'n表示Xn分帧后的包括M个音频向量的帧序列
(2)构建语音验证码生成网络模型A2Captcha:
构建包括生成对抗网络GAN和目标语音识别系统ASR的语音验证码生成网络模型A2Captcha,其中生成对抗网络GAN包括生成器网络G以及与其级联的判别器网络D,G采用包含多个卷积层、多个残差块和多个转置卷积层的卷积神经网络,G的损失函数为LG,D采用包含全连接层和多个卷积层的卷积神经网络,D的损失函数为LD,ASR与G级联,采用包括开源的Deepspeech以及开源的Lingvo的自动语音识别系统,其中:
LG=Ladv+α1Lg+α2LTVD
其中Ladv表示对抗损失函数,S表示每次迭代训练时用到的训练样本的数目,lf()表示交叉熵损失函数,表示第s个带有对抗扰动噪声的语音验证码样本,表示ASR对识别的Deepspeech识别结果,表示ASR对识别的Lingvo识别结果,tfake表示目标转录标签,Lg表示内置损失函数,D()表示判别器网络D的输出结果,LTVD表示全变分去噪损失函数,ω为LTVD的损失权重参数,α1、α2为LG损失权重系数,λ为LD的梯度惩罚权重参数;
(3)对语音验证码生成网络模型A2Captcha进行迭代训练:
(3a)初始化生成器网络G的权重参数为θG,判别器网络D的权重参数为θD,迭代次数为q,最大迭代次数为Q,Q≥50000,并令q=0;
(3b)将从X'中随机选取的S个帧序列X′train={X'1,X'2,...,X's,...,X'S}作为语音验证码生成网络模型A2Captcha的输入进行前向推进,生成器网络G对每个帧序列X's中的每个音频向量进行特征变换,得到对抗扰动噪声序列Z′train={Z′1,Z'2,...,Z′s,...,Z'S},其中1≤S<I,Z′s表示X's对应的对抗扰动噪声序列, 表示对应的对抗扰动噪声向量;
(3c)按照m从小到大的次序将Z′s中所有对抗扰动噪声向量进行连接,实现对Z′s的音频合并,得到对抗扰动噪声音频集Ztrain={Z1,Z2,...,Zs,...ZS},其中Zs表示Z′s对应的对抗扰动噪声音频;
(3d)判断Ztrain中是否存在对抗扰动噪声音频对应的音频文件的末尾进行了补零,若是,将该对抗扰动噪声音频末尾补零的长度置零,并将Zs添加到对应的音频文件Xs中,得到带有对抗扰动噪声的语音验证码样本集其中表示Xs对应的带有对抗扰动噪声的语音验证码样本;
(3e)将Xtrain和作为判别器网络Dq的输入进行前向传播,分别提取Xtrain和中每一个Xs和的特征,并将Xs标记为1,将标记为0,得到S个音频文件的预测标签Dq(Xtrain)={Dq(X1),Dq(X2),...,Dq(Xs),...,Dq(XS)}和S个带有对抗扰动噪声的语音验证码样本的预测标签
(3g)采用对抗损失函数Ladv,通过tfake、fDeepspeech和fLingvo计算生成器网络G对抗损失Ladv的损失值同时采用内置损失函数Lg,通过Dq(Xtrain)和中所有的预测标签计算生成器网络G内置损失Lg的损失值采用全变分去噪损失函数LTVD,通过和Xtrain计算生成器网络G的全变分去噪损失LTVD的损失值并通过和计算生成器网络G损失函数LG的损失值然后采用梯度下降法,通过对生成器网络Gq各层的权重参数θG进行更新;
(3i)判断q=Q是否成立,若是,得到训练好的语音验证码生成网络模型A2Captcha*,否则,令q=q+1,并执行步骤(3b);
(4)获取语音验证码的生成结果:
(4a)将测试样本集中的所有测试样本Xtest={X1,X2,...,Xj,...,XN-I}和其对应的分帧后的帧序列集X′test={X1′,X'2,...,X'j,...,X'N-I}作为训练好的语音验证码生成网络模型A2Captcha*的输入并前向推进,生成器网络G*对X′test中的每一帧X'j的每个音频向量进行特征转换,得到对抗扰动噪声序列Z′test={Z′1,Z'2,...,Z'j,...,Z'N-I},Z'j表示X'j对应的对抗扰动噪声序列, 表示对应的对抗扰动噪声向量;
(4b)按照m从小到大的次序将Z'j中所有对抗扰动噪声向量进行连接,实现对Z'j的音频合并,得到对抗扰动噪声音频集Ztest={Z1,Z2,...,Zj,...ZN-I},其中Zj表示Z'j对应的对抗扰动噪声音频;
2.根据权利要求1所述的基于生成对抗网络的语音验证码生成方法,其特征在于,步骤(2)中所述的生成器网络G和判别器网络D,其中生成器网络G包含的卷积层的数量为5,残差块的数量为4,转置卷积层的数量为5,D包含的卷积层的数量为5,生成器网络G和判别器网络D的具体结构和参数分别为:
生成器网络G的具体结构为:第一卷积层→第二卷积层→第三卷积层→第四卷积层→第五卷积层→第一残差块→第二残差块→第三残差块→第四残差块→第一转置卷积层→第二转置卷积层→第三转置卷积层→第四转置卷积层→第五转置卷积层;
生成器网络G的具体参数为:卷积层采用一维卷积,卷积核大小为25,步长为4,激活函数采取LeakyRelu,第一卷积层、第二卷积层、第三卷积层、第四卷积层和第五卷积层的卷积核数量分别为64、128、256、512和1024;残差块包含卷积核数量为1024,卷积核大小为25,步长为3的两个卷积层,第一个层卷积层的激活函数采用LeakyRelu;转置卷积层采用一维转置卷积,卷积核大小为25,步长为4,第一转置卷积层到第四转置卷积层的激活函数采用Relu,第五层转置卷积层的激活函数采用Tanh,第一转置卷积层、第二转置卷积层、第三转置卷积、第四转置卷积层和第五转置卷积层的卷积核数量分别为512、256、128、64和1;
判别器网络D的具体结构为:第一卷积层→第二卷积层→第三卷积层→第四卷积层→第五卷积层→全连接层;
判别器网络D的具体参数为:卷积层采用一维卷积,卷积核大小为25,步长为4,激活函数采用LeakyRelu;第一卷积层、第二卷积层、第三卷积层、第四卷积层和第五卷积层的卷积核数量分别为64、128、256、512和1024;第一卷积层到第四卷积层并经过激活函数之后,需要对得到的特征图进行Phase Shuffle操作;全连接层卷积核数量为1024。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011159897.4A CN112287323B (zh) | 2020-10-27 | 2020-10-27 | 基于生成对抗网络的语音验证码生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011159897.4A CN112287323B (zh) | 2020-10-27 | 2020-10-27 | 基于生成对抗网络的语音验证码生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112287323A true CN112287323A (zh) | 2021-01-29 |
CN112287323B CN112287323B (zh) | 2022-10-21 |
Family
ID=74373262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011159897.4A Active CN112287323B (zh) | 2020-10-27 | 2020-10-27 | 基于生成对抗网络的语音验证码生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112287323B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112818400A (zh) * | 2021-02-18 | 2021-05-18 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的生物识别方法、装置及设备 |
CN112948788A (zh) * | 2021-04-13 | 2021-06-11 | 网易(杭州)网络有限公司 | 语音验证方法、装置、计算设备以及介质 |
CN113010873A (zh) * | 2021-03-31 | 2021-06-22 | 山石网科通信技术股份有限公司 | 图像处理方法、装置、非易失性存储介质及处理器 |
CN114758187A (zh) * | 2022-01-10 | 2022-07-15 | 西安电子科技大学 | 基于隐写的通用对抗扰动生成方法、介质及计算机设备 |
CN112948788B (zh) * | 2021-04-13 | 2024-05-31 | 杭州网易智企科技有限公司 | 语音验证方法、装置、计算设备以及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107293289A (zh) * | 2017-06-13 | 2017-10-24 | 南京医科大学 | 一种基于深度卷积生成对抗网络的语音生成方法 |
WO2020032919A1 (en) * | 2018-08-06 | 2020-02-13 | Google Llc | Captcha automated assistant |
US20200097643A1 (en) * | 2018-09-24 | 2020-03-26 | Georgia Tech Research Corporation | rtCaptcha: A Real-Time Captcha Based Liveness Detection System |
CN111261147A (zh) * | 2020-01-20 | 2020-06-09 | 浙江工业大学 | 一种面向语音识别系统的音乐嵌入攻击防御方法 |
CN111460426A (zh) * | 2020-04-02 | 2020-07-28 | 武汉大学 | 基于对抗演化框架的抗深度学习文本验证码生成系统及方法 |
-
2020
- 2020-10-27 CN CN202011159897.4A patent/CN112287323B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107293289A (zh) * | 2017-06-13 | 2017-10-24 | 南京医科大学 | 一种基于深度卷积生成对抗网络的语音生成方法 |
WO2020032919A1 (en) * | 2018-08-06 | 2020-02-13 | Google Llc | Captcha automated assistant |
US20200097643A1 (en) * | 2018-09-24 | 2020-03-26 | Georgia Tech Research Corporation | rtCaptcha: A Real-Time Captcha Based Liveness Detection System |
CN111261147A (zh) * | 2020-01-20 | 2020-06-09 | 浙江工业大学 | 一种面向语音识别系统的音乐嵌入攻击防御方法 |
CN111460426A (zh) * | 2020-04-02 | 2020-07-28 | 武汉大学 | 基于对抗演化框架的抗深度学习文本验证码生成系统及方法 |
Non-Patent Citations (4)
Title |
---|
HEEMANY SHEKHAR等: "Exploring Adversaries to Defend Audio CAPTCHA", 《2019 18TH IEEE INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND APPLICATIONS (ICMLA)》 * |
张阳: "对抗样本技术在验证码中的安全性研究", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
沈言玉等: "一种基于对抗样本的验证码安全性增强方法", 《网络空间安全》 * |
袁文浩等: "利用生成噪声提高语音增强方法的泛化能力", 《电子学报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112818400A (zh) * | 2021-02-18 | 2021-05-18 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的生物识别方法、装置及设备 |
CN112818400B (zh) * | 2021-02-18 | 2022-05-03 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的生物识别方法、装置及设备 |
CN113010873A (zh) * | 2021-03-31 | 2021-06-22 | 山石网科通信技术股份有限公司 | 图像处理方法、装置、非易失性存储介质及处理器 |
CN113010873B (zh) * | 2021-03-31 | 2022-09-09 | 山石网科通信技术股份有限公司 | 图像处理方法、装置、非易失性存储介质及处理器 |
CN112948788A (zh) * | 2021-04-13 | 2021-06-11 | 网易(杭州)网络有限公司 | 语音验证方法、装置、计算设备以及介质 |
CN112948788B (zh) * | 2021-04-13 | 2024-05-31 | 杭州网易智企科技有限公司 | 语音验证方法、装置、计算设备以及介质 |
CN114758187A (zh) * | 2022-01-10 | 2022-07-15 | 西安电子科技大学 | 基于隐写的通用对抗扰动生成方法、介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112287323B (zh) | 2022-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112287323B (zh) | 基于生成对抗网络的语音验证码生成方法 | |
Hussain et al. | {WaveGuard}: Understanding and mitigating audio adversarial examples | |
US11663307B2 (en) | RtCaptcha: a real-time captcha based liveness detection system | |
Zheng et al. | Black-box adversarial attacks on commercial speech platforms with minimal information | |
Yang et al. | Characterizing speech adversarial examples using self-attention u-net enhancement | |
Carlini et al. | Hidden voice commands | |
CN107492382B (zh) | 基于神经网络的声纹信息提取方法及装置 | |
EP4078918B1 (en) | Real-time voice phishing detection | |
EP1989701B1 (en) | Speaker authentication | |
CN110211575B (zh) | 用于数据增强的语音加噪方法及系统 | |
CN109523616B (zh) | 一种面部动画生成方法、装置、设备及可读存储介质 | |
Wenger et al. | " Hello, It's Me": Deep Learning-based Speech Synthesis Attacks in the Real World | |
Yan et al. | A survey on voice assistant security: Attacks and countermeasures | |
CN111627429A (zh) | 一种基于CycleGAN的语音识别模型的防御方法及装置 | |
CN110704618B (zh) | 确定对话数据对应的标准问题的方法及装置 | |
Qian et al. | Speech sanitizer: Speech content desensitization and voice anonymization | |
CN111354367B (zh) | 一种语音处理方法、装置及计算机存储介质 | |
Park et al. | Detecting audio adversarial examples with logit noising | |
Kawa et al. | Specrnet: Towards faster and more accessible audio deepfake detection | |
Hossen et al. | aaecaptcha: The design and implementation of audio adversarial captcha | |
Ge et al. | Data Poisoning and Backdoor Attacks on Audio Intelligence Systems | |
Gao | Audio deepfake detection based on differences in human and machine generated speech | |
Cai et al. | Vsvc: backdoor attack against keyword spotting based on voiceprint selection and voice conversion | |
CN112784094A (zh) | 自动音频摘要生成方法和装置 | |
CN116488942B (zh) | 一种面向智能声纹识别系统的后门安全性评估方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |