[发明专利]基于生成对抗网络的语音验证码生成方法有效
申请号: | 202011159897.4 | 申请日: | 2020-10-27 |
公开(公告)号: | CN112287323B | 公开(公告)日: | 2022-10-21 |
发明(设计)人: | 高海昌;王萍;袁忠妮;郭晓妍 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F21/36 | 分类号: | G06F21/36;G06N3/04;G06N3/08 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 陈宏社;王品华 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 生成 对抗 网络 语音 验证 方法 | ||
1.一种基于生成对抗网络的语音验证码生成方法,其特征在于,包括以下步骤:
(1)获取训练样本集、测试样本集和帧序列集:
(1a)从第三方开源平台获取N个原始语音验证码的音频文件,若音频文件的格式不是wav,则将其格式转换为wav,并对每个wav格式的音频文件首尾的噪音部分进行裁剪,得到音频文件集X={X1,X2,...,Xn,...,XN},其中N≥1200,Xn表示第n个裁剪后的长度为Ln的音频文件;
(1b)任选I个音频文件作为训练样本集,将其余N-I个音频文件作为测试样本集,其中
(1c)设分帧的帧数为M,F为分帧的帧长,K为帧移,并对每个音频文件Xn进行分帧,若Xn不足M帧,以Pn为长度对其末尾补零,得到N个音频文件分帧结果组成的帧序列集X'={X1',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={X1',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个带有对抗扰动噪声的语音验证码样本的预测标签
(3f)将作为目标语音识别系统ASR的输入进行识别,得到Deepspeech识别结果集和Lingvo识别结果其中表示的Deepspeech识别结果,表示的Lingvo识别结果;
(3g)采用对抗损失函数Ladv,通过tfake、fDeepspeech和fLingvo计算生成器网络G对抗损失Ladv的损失值同时采用内置损失函数Lg,通过Dq(Xtrain)和中所有的预测标签计算生成器网络G内置损失Lg的损失值采用全变分去噪损失函数LTVD,通过和Xtrain计算生成器网络G的全变分去噪损失LTVD的损失值并通过和计算生成器网络G损失函数LG的损失值然后采用梯度下降法,通过对生成器网络Gq各层的权重参数θG进行更新;
(3h)采用损失函数LD,通过Dq(Xtrain)和中所有的预测标签计算判别器网络D的损失值然后采用梯度下降法,通过对生成器网络Dq各层的权重参数θD进行更新;
(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对应的对抗扰动噪声音频;
(4c)判断Ztest中是否存在对抗扰动噪声音频对应的音频文件的末尾进行了补零,若是,将该对抗扰动噪声音频末尾补零的长度置零,并将Zj添加到对应的音频文件Xj中,得到语音验证码集其中表示Xj对应的语音验证码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011159897.4/1.html,转载请声明来源钻瓜专利网。