语音对抗样本检测方法、装置、终端设备以及存储介质与流程
本发明涉及语音识别技术领域,特别涉及一种语音对抗样本检测方法、装置、终端设备以及存储介质。
背景技术:
随着科技的快速发展,语音识别技术逐渐成为人们生活中的关键技术之一。智能设备通过对输入的语音信息提取相关信息并加以处理,可以转录处正确的文字内容,甚至实现和人们的交流互动。随着研究者的不懈努力,语音识别技术逐渐走向成熟,识别精度不断提高,应用范围也不断扩大,为人们的生产生活带来了极大的便利。然而最新的科学研究表明,语音信息常常包括对抗样本。攻击者通过在原始语音信息中添加经过精心计算后的微小扰动,使得语音信息被识别为错误的短语,而这种扰动通常是人耳所不能察觉的。在现实生活场景中,这些扰动可能让原始语音信息转录成截然不同的短语,使得被控制的智能设备做出错误的操作,甚至有可能造成隐私的泄露或者带来安全威胁。
但是,现有的语音识别技术只能对已知的语音对抗样本进行清除,无法对未知的对抗样本进行防御。
技术实现要素:
本发明的主要目的是提供一种语音对抗样本检测方法、装置、终端设备以及存储介质,旨在解决现有技术中只能对已知的语音对抗样本进行清除,无法对未知的对抗样本进行防御的技术问题。
为实现上述目的,本发明提出的一种语音对抗样本检测方法,所述方法包括以下步骤:
获取待检测语音信息;
利用预设优化算法对所述待检测语音信息进行优化,获得预处理语音信息;
基于所述预处理语音信息和所述待检测语音,获得语音信息集;
将所述语音信息集中的语音信息分别输入语音识别模型中进行识别,获得语音识别结果集;
基于所述语音识别结果集,获得所述语音识别结果集的相似度得分矩阵;
基于所述相似度得分矩阵,获得所述待检测语音信息的语音对抗样本检测结果。
可选的,所述预设优化算法包括多种预设优化算法;所述利用预设优化算法对所述待检测语音信息进行优化,获得预处理语音信息的步骤包括:
利用所述多种预设优化算法分别对所述待检测语音信息进行优化,获得多个预处理语音信息;
所述基于所述预处理语音信息和所述待检测语音信息,获得语音信息集的步骤包括:
基于所述多个预处理语音信息和所述待检测语音信息,获得语音信息集。
可选的,所述语音识别模型包括多个不同的语音识别模型;将所述语音信息集中的语音信息分别输入语音识别模型中进行识别,获得语音识别结果集的步骤包括:
将所述语音信息集中的每个语音信息输入所述多个不同的语音识别模型中进行识别,获得所述每个语音信息的多个语音识别结果;
基于所述每个语音信息的多个语音识别结果,获得语音识别结果集。
可选的,基于所述语音识别结果集,获得所述语音识别结果集的相似度得分矩阵的步骤包括:
对所述语音识别结果集中的任意两个语音识别结果计算相似度得分,获得所述语音识别结果集的相似度得分矩阵。
可选的,所述基于所述相似度得分矩阵,获得所述待检测语音信息的语音对抗样本检测结果的步骤包括:
基于所述相似度得分矩阵,获得所述相似度得分矩阵的标准差;
基于预设阈值和所述标准差,获得所述待检测语音信息的语音对抗样本检测结果。
可选的,所述对所述语音识别结果集中的任意两个语音识别结果计算相似度得分,获得所述语音识别结果集的相似度得分矩阵的步骤包括:
利用jaro-winkler算法,对所述语音识别结果集中的任意两个语音识别结果计算相似度得分,获得所述语音识别结果集的相似度得分矩阵。
可选的,所述多种预设优化算法包括mp3压缩法、中值滤波法、带通滤波法和高斯噪声法;所述多个不同的语音识别模型包括deepspeech、deepspeech2、googlecloudspeech和amazontranscribe。
此外,为实现上述目的,本发明还提出了一种语音对抗样本检测装置,所述装置包括:
获取模块,用于获取待检测语音信息;
优化模块,用于利用预设优化算法对所述待检测语音信息进行优化,获得预处理语音信息;
获得模块,用于基于所述预处理语音信息和所述待检测语音,获得语音信息集;
识别模块,用于将所述语音信息集中的语音信息分别输入语音识别模型中进行识别,获得语音识别结果集;
矩阵获得模块,用于基于所述语音识别结果集,获得所述语音识别结果集的相似度得分矩阵;
检测结果获得模块,用于基于所述相似度得分矩阵,获得所述待检测语音信息的语音对抗样本检测结果。
此外,为实现上述目的,本发明还提出了一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的语音对抗样本检测程序,所述语音对抗样本检测程序配置为实现如上述任一项所述的语音对抗样本检测方法的步骤。
此外,为实现上述目的,本发明还提出了一种存储介质,所述存储介质上存储有语音对抗样本检测程序,所述语音对抗样本检测程序被处理器执行时实现上述任一项所述的终端方法的步骤。
本发明技术方案通过采用一种语音对抗样本检测方法,通过获取待检测语音信息;利用预设优化算法对所述待检测语音信息进行优化,获得预处理语音信息;基于所述预处理语音信息和所述待检测语音,获得语音信息集;将所述语音信息集中的语音信息分别输入语音识别模型中进行识别,获得语音识别结果集;基于所述语音识别结果集,获得所述语音识别结果集的相似度得分矩阵;基于所述相似度得分矩阵,获得所述待检测语音信息的语音对抗样本检测结果。由于,包含语音对抗样本的语音信息对应的相似度得分矩阵与不包含语音对抗样本的语音信息对应的相似度得分矩阵是不同的,利用待检测语音信息对应的相似度得分矩阵,可以判断待检测语音信息中是否包括语音对抗样本,所以,通过本发明的语音对抗样本检测方法,可以对待检测语音中的未知语音对抗样本进行检测,进而可以对未知语音对抗样本进行防御。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明实施例方案涉及的硬件运行环境的终端设备结构示意图;
图2为本发明语音对抗样本检测方法第一实施例的流程示意图;
图3为本发明deepspeech包括的rnn结构示意图;
图4为本发明deepspeech2的结构示意图;
图5为本发明语音对抗样本检测装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的终端设备结构示意图。
终端设备可以是移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(pda)、平板电脑(pad)等用户设备(userequipment,ue)、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备、移动台(mobilestation,ms)等。设备可能被称为用户终端、便携式终端、台式终端等。
通常,终端设备包括:至少一个处理器301、存储器302以及存储在所述存储器上并可在所述处理器上运行的语音对抗样本检测程序,所述语音对抗样本检测程序配置为实现如前所述的语音对抗样本检测方法的步骤。
处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。处理器301还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关语音对抗样本检测方法操作,使得语音对抗样本检测方法模型可以自主训练学习,提高效率和准确度。
存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供的语音对抗样本检测方法。
在一些实施例中,终端还可选包括有:通信接口303和至少一个外围设备。处理器301、存储器302和通信接口303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与通信接口303相连。具体地,外围设备包括:射频电路304、显示屏305和电源306中的至少一种。
通信接口303可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器301和存储器302。在一些实施例中,处理器301、存储器302和通信接口303被集成在同一芯片或电路板上;在一些其他实施例中,处理器301、存储器302和通信接口303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路304用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路304包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路304还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏305用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏305是触摸显示屏时,显示屏305还具有采集在显示屏305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器301进行处理。此时,显示屏305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏305可以为一个,电子设备的前面板;在另一些实施例中,显示屏305可以为至少两个,分别设置在电子设备的不同表面或呈折叠设计;在再一些实施例中,显示屏305可以是柔性显示屏,设置在电子设备的弯曲表面上或折叠面上。甚至,显示屏305还可以设置成非矩形的不规则图形,也即异形屏。显示屏305可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。
电源306用于为电子设备中的各个组件进行供电。电源306可以是交流电、直流电、一次性电池或可充电电池。当电源306包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图1中示出的结构并不构成对语音对抗样本检测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有语音对抗样本检测程序,所述语音对抗样本检测程序被处理器执行时实现如上文所述的语音对抗样本检测方法的步骤。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。确定为示例,程序指令可被部署为在一个终端设备上执行,或者在位于一个地点的多个终端设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个终端设备上执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
基于上述硬件结构,提出本发明语音对抗样本检测方法的实施例。
参照图2,图2为本发明语音对抗样本检测方法第一实施例的流程示意图;所述方法应用于终端设备,所述方法包括以下步骤:
步骤s11:获取待检测语音信息。
需要说明的是,本发明的终端设备可以是上述任意一种终端设备,此处不做过多赘述。待检测语音信息可以是用户从网络上下载的语音信息,也可以是用户通过终端设备的语音输入端口输入的语音信息,还可以是用户与朋友交流时发送的语音信息等,本发明不做限制。
具体应用中,语音信息可以是各种语言类型的语音信息,例如,英文、中文、日文或韩文等,语音信息还可以是方言类型,例如,中文中的山东话、陕西话和广东话等。
步骤s12:利用预设优化算法对所述待检测语音信息进行优化,获得预处理语音信息。
需要说明的是,为降低待检测语音信息中的语音对抗样本对步骤s14的识别结果的影响,需要对待检测语音信息进行优化,获得预处理语音信息。
进一步的,所述预设优化算法包括多种预设优化算法;步骤s12包括:利用所述多种预设优化算法分别对所述待检测语音信息进行优化,获得多个预处理语音信息。
具体的,所述多种预设优化算法包括mp3压缩法、中值滤波法、带通滤波法和高斯噪声法等;其中,
mp3压缩法:将待检测语音信息转换为mp3格式,设置采样频率为16k,然后再保存为wav格式音频。
中值滤波法:中值滤波技术能有效抑制噪声,通过把待检测语音信息序列中一点的值用该点周围的各点值的中位数来代替,让这些值接近以消除对抗输入扰动的噪声,中值滤波核大小选取5。
带通滤波法:针对对抗样本扰动加入的是高频噪声,而说话人声频域分布1~3khz范围。本发明选择的低频和高频分别选取50hz和3khz,对待检测语音信息进行频域过滤。
高斯噪声法:语音对抗攻击加入的扰动很多是通过迭代训练学习到的,针对攻击目标有一定的过拟合,加入一定的其他噪声,可以破坏扰动噪声让攻击失效,本发明通过生成高斯噪声,并将高斯噪声添加到待检测语音信息上。
具体应用中,利用每种预设优化算法对待检测语音信息进行优化后,都会获得对应的预处理语音信息。用户可以根据需求选择预设优化算法,用户可以只选择本发明提供了预设优化算法中的两个或三个预设优化算法,实施本发明的其他实施例。
步骤s13:基于所述预处理语音信息和所述待检测语音,获得语音信息集。
当预设优化算法为一种预设优化算法时,语音信息集中包括的语音信息为所述预处理语音信息和待检测语音信息;当预设优化算法为多种预设优化算法时,语音信息集中包括的语音信息为所述多种预设优化算法对应的多个预处理语音信息和待检测语音信息。
具体的,语音信息集的表达方式参照公式1:
其中,x为待检测语音信息,
可以理解的是,相较于一中预设优化算法,利用多中预设优化算法获得的语音信息集的包括的语音信息多,进而使得步骤s15获得的相似度得分矩阵包括更多的数据,使得基于所述相似度得分矩阵,获得的所述待检测语音信息的语音对抗样本检测结果准确性较高。
步骤s14:将所述语音信息集中的语音信息分别输入语音识别模型中进行识别,获得语音识别结果集。
进一步的,所述语音识别模型包括多个不同的语音识别模型;步骤s14包括:将所述语音信息集中的每个语音信息输入所述多个不同的语音识别模型中进行识别,获得所述每个语音信息的多个语音识别结果;基于所述每个语音信息的多个语音识别结果,获得语音识别结果集。
需要说明的是,当预设优化算法包括m中预设优化算法,语音识别模型为一个语音识别模型时,获得的语音识别结果集包括(m+1)个语音识别结果;当预设优化算法包括m种预设优化算法,语音识别模型为n个不同的语音识别模型时,获得的语音识别结果集包括(m+1)*n个语音识别结果。
具体应用中,多种不同的语音识别模型包括deepspeech(百度端到端语音识别系统)、deepspeech2(百度端到端语音识别系统升级版)、googlecloudspeech和amazontranscribe等,其中,
deepspeech主要包括三部分:音频fft(傅里叶变换)转频谱、rnn(循环神经网络)网络结构和ctc(音频对齐)损失函数。
参照图3,图3为本发明deepspeech包括的rnn结构示意图,rnn的前三层和第五层是全连接层,第一个全连接层的输入是语音信息的频谱特征。第四层是双向循环神经网络,包含有两层网络;最后的第六层接softmax(归一化指数函数)层,将rnn输出的特征向量映射到每个字母的概率上。ctc损失函数主要用于解决文本信息与语音信息的对齐问题。
参照图4,图4为本发明deepspeech2的结构示意图,deepspeech2对deepspeech进行了改进,主要网络结构:卷积层,双向循环神经网络层和全连接层;相对于deepspeech的改进为:添加了一维二维卷积和双向递归网络,引入bn(批归一化)加速训练,使得模型收敛更快,对ctc损失函数进行了gpu加速。
具体应用中,用户还可以选择其他的语音识别模型,本发明不做限制。其中,用户可以选择同一种语音识别模型的不同版本的语音识别模型,作为不同的语音识别模型,也可以选择不同种类的语音识别模型;用户可以根据自己的需求选定3个或2个语音识别模型,也可以是其他数量的语音识别模型,本发明不做限制。
可以理解的是,相较于利用一个语音识别模型,利用多个不同的语音识别模型对语音信息集中的语音信息进行识别时,获得的语音识别结果集包括较多的语音识别结果,进而使得步骤s15获得的相似度得分矩阵包括更多的数据,使得基于所述相似度得分矩阵,获得的所述待检测语音信息的语音对抗样本检测结果准确性较高。
步骤s15:基于所述语音识别结果集,获得所述语音识别结果集的相似度得分矩阵。
具体的,步骤s15:对所述语音识别结果集中的任意两个语音识别结果计算相似度得分,获得所述语音识别结果集的相似度得分矩阵。其中,利用jaro-winkler算法,对所述语音识别结果集中的任意两个语音识别结果计算相似度得分,获得所述语音识别结果集的相似度得分矩阵。
具体应用中,利用jaro-winkler算法计算相似度得分参照公式2:
其中
其中,
上述获得的语音识别结果集中的语音识别结果均是字符串的形式。遍历语音识别结果集中的全部语音识别结果,获得多个相似度得分,基于多个相似度得分,获得相似度得分矩阵。
例如,语音识别结果集包括(m+1)*n个语音识别结果,相似度得分为
步骤s16:基于所述相似度得分矩阵,获得所述待检测语音信息的语音对抗样本检测结果。
具体的,步骤s16包括:基于所述相似度得分矩阵,获得所述相似度得分矩阵的标准差;基于预设阈值和所述标准差,获得所述待检测语音信息的语音对抗样本检测结果。
需要说明的是,利用公式4获得所述相似度得分矩阵的标准差,公式4为:
其中,
基于预设阈值,利用公式5对标准差进行处理,获得所述待检测语音信息的语音对抗样本检测结果,公式5为:
其中,s为语音对抗样本检测结果,0表示语音对抗样本检测结果为待检测语音信息包括对抗样本,1表示语音对抗样本检测结果为待检测语音信息不包括对抗样本,α为预设阈值,α一般取0.7。
通常,基于预设优化算法和语音识别模型,获得预设阈值α,当预设优化算法的种类和数量不同时,预设阈值α可能不同,语音识别模型的数量和种类不同时,预设阈值α可能不同。本发明不做过多限制,用户可以根据自己的需求进行设定,预设阈值α为0.7是一个较优选择。
本实施例技术方案通过采用一种语音对抗样本检测方法,通过获取待检测语音信息;利用预设优化算法对所述待检测语音信息进行优化,获得预处理语音信息;基于所述预处理语音信息和所述待检测语音,获得语音信息集;将所述语音信息集中的语音信息分别输入语音识别模型中进行识别,获得语音识别结果集;基于所述语音识别结果集,获得所述语音识别结果集的相似度得分矩阵;基于所述相似度得分矩阵,获得所述待检测语音信息的语音对抗样本检测结果。由于,包含语音对抗样本语音信息对应的相似度得分矩阵与不包含语音对抗样本语音信息对应的相似度得分矩阵是不同的,利用待检测语音信息对应的相似度得分矩阵,可以判断待检测语音信息中是否包括语音对抗样本,所以,通过本发明的语音对抗样本检测方法,可以对待检测语音中的未知语音对抗样本进行检测,进而可以对未知语音对抗样本进行防御。
相关技术中,提供一种基于对抗训练的方法,需要获得大量对抗样本和正常样本,利用获得大量对抗样本和正常样本对神经网络模型进行训练,获得语音识别模型,语音识别模型可以对输入语音进行识别,可以清除对抗样本的干扰,但是,该方法所需要的对抗样本和正常样本数量较大,难以在实际场景使用,同时对抗训练只能防御已知的攻击样本,对未知攻击方法不具有防御能力。
相对于现有方法,本发明的语音对抗样本检测方法不需要大量的对抗样本和正常样本,也不需要利用获得大量对抗样本和正常样本对神经网络模型进行训练,获得语音识别模型,可以直接利用已知的一些语音识别模型,对待检测语音信息进行识别,减少了训练的过程,提高效率,降低终端设备的负载。
参照图5,图5为本发明语音对抗样本检测装置第一实施例的结构框图,应用于终端设备,所述装置包括:
获取模块10,用于获取待检测语音信息;
优化模块20,用于利用预设优化算法对所述待检测语音信息进行优化,获得预处理语音信息;
获得模块30,用于基于所述预处理语音信息和所述待检测语音,获得语音信息集;
识别模块40,用于将所述语音信息集中的语音信息分别输入语音识别模型中进行识别,获得语音识别结果集;
矩阵获得模块50,用于基于所述语音识别结果集,获得所述语音识别结果集的相似度得分矩阵;
检测结果获得模块60,用于基于所述相似度得分矩阵,获得所述待检测语音信息的语音对抗样本检测结果。
以上所述仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除