本发明涉及基于深度学习的语音识别领域,具体涉及到通过语音识别对抗样本训练的方式来训练扰动音频,从而避免了用户在使用智能语音服务设备的场景下的潜在隐私泄露风险。
背景技术:
1、近年来,智能语音服务设备、智能语音助手层出不穷,例如亚马逊的alexa、百度的小度、小米的小爱同学、苹果的siri等等。这类智能语音服务往往都遵循“唤醒-执行”的工作模式,即用户先说出一个对应的唤醒词来唤醒服务(例如:“小度小度”、“小爱同学”“hey,siri”等),设备识别出用户说出唤醒词之后给出某种回应,然后用户再说出自己的需求(例如:“播放一首歌曲”)来让设备来执行。然而,这种“唤醒-执行”的工作模式需要24小时持续监听的麦克风来监听用户所处环境的声音,因为用户说出唤醒词的时间是完全随机的。
2、智能语音服务设备的发展依赖于语音识别系统的日益强大。传统的语音识别系统包含输入特征阶段、声学模型、隐马尔可夫模型等多个阶段来构成整条语音识别流水线,这种语音识别系统往往需要领域专家花费大量的努力来微调其中的特征与模型。在此背景下,deepspeech、deepspeech 2等以深度学习中的循环神经网络为基础结构的端到端的语音识别模型大大简化了传统语音识别系统的工作流程,并将语音识别精度带到了新的高度。
3、对抗样本是机器学习领域一个重要的研究主题,首次被提出在计算机视觉中的图像识别方向。一个对抗样本一般是在一个正常样本的基础上进行细微的调整,其变化甚微以至于难以被人类察觉,却能够完全干扰深度学习模型执行其相关任务。语音识别的对抗样本首次被正式提出于2018年,相关研究者基于白盒设置下的deepspeech模型构建了音频对抗样本,能够在与原始音频样本达到99.9%相似度的条件下误导deepspeech识别出完全错误的文本结果,并且该结果是可被攻击者自定义的。后续也有众多相关工作丰富了语音识别对抗样本这个研究方向。2019年,研究者提出了在物理环境下依然具备健壮性的语音识别对抗样本,其能够在被物理环境下使用麦克风设备播放出来后再被待攻击的语音识别模型所接收的条件下,依然具备对抗样本的攻击效果,并且这种对抗样本本身的信噪比大约在10db左右。这项工作主要借助于带通滤波器、与冲激响应数据的卷积混响、加入白噪声这3项操作来使得对样抗本能够抵御在物理环境中所受到的干扰和扭曲。2020年,有研究者基于黑盒设置下提出了一种在物理环境下可用的对抗样本攻击方法,能够攻击市面上现有的一些智能语音服务设备(如google assistant、amazon echo等),并能够在98%的目标命令上生效。
技术实现思路
1、发明目的:针对用户使用智能语音服务设备时所面临的隐私泄露风险,本发明提出一种类似于语音识别对抗样本的保护方案。基于开源的语音识别模型deepspeech 2,通过深度学习对抗样本训练生成一种通用的扰动音频δ,使其在目标智能语音服务设备的麦克风旁循环播放,其能够在大幅干扰语音识别模型进行语音识别的前提下维护其对唤醒词的识别,从而在维持服务可用性的前提下保护了用户的隐私。
2、技术方案:一种针对智能语音服务设备的隐私保护方法,包括如下步骤:
3、步骤1,将音频数据集按照是否为智能语音服务的唤醒词这一条件进行划分,划分为唤醒词数据集sww和非唤醒词数据集snww;
4、步骤2,准备用于音频卷积混响以模拟不同场景音频回声效应的冲激响应数据集sir;
5、步骤3,使用deepspeech 2或其他开源的语音识别模型m,搭建对抗样本训练的整体框架;
6、步骤4,初始化一段长度固定的通用扰动音频δ=[0,0,…,0],即全0向量,其在物理意义上等价于一段无声的音频,长度与语音识别模型的音频采样率相关;
7、步骤5,确定对抗样本训练中的超参数,包括损失函数中针对唤醒词的系数kww(正值)以及针对非唤醒词的系数knww(负值);
8、步骤6,使用语音识别模型m,唤醒词数据集sww和非唤醒词数据集snww来进行对抗样本训练,训练过程中冻结语音识别模型m的内部参数,调整、优化扰动音频δ内部的采样点。
9、进一步地,在步骤6中进行对抗样本训练,其具体包括如下步骤:
10、步骤6.1,随机从唤醒词数据集sww和非唤醒词数据集snww中各取出若干个样本,组成固定大小的数据批次;
11、步骤6.2,对当前数据批次batchi中的音频样本做随机的数据增强,包括音频速度的随机调整以及音频音量的随机调整;
12、步骤6.3,针对每一个经过数据增强之后的音频样本x,随机从冲激响应数据集sir中选取一个样本iri,对二者做卷积运算,得到xreverbed=x*iri,以模拟不同场景下的回声效应;
13、步骤6.4,将扰动音频δ在时域上重复dup次,保证重复后的时长大于xreverbed。这里dup一般取重复后得到扰动音频δdup;
14、步骤6.5,使用带通滤波器(band-pass filter,bpf)处理重复后的扰动音频δdup,这里带通滤波器的中心频率设置为2500hz,带宽设置为3000hz,即δdup←bpf(δdup,2500,3000);
15、步骤6.6,随机从冲激响应数据集sir中选取一个样本iri,对vdup做卷积运算,即δdup←δdup*iri;
16、步骤6.7,从δdup中随机截取一段与xreverbed长度相同的片段clip(δdup),即满足len(clip(δdup))=len(xreuerbed);
17、步骤6.8,从均匀分布的闭区间[0.8,1.2]中随机选取一个放缩系数α,放缩音频片段clip(δdup),即片段clip(δdup)←α*clip(δdup),使得所述扰动音频在一定的音量范围内具备鲁棒性;
18、步骤6.9,将音频样本xreverbed与扰动音频片段clip(δdup)在时域上相加,以模拟二者在物理环境下的叠加,即xperturbed=xreverbed+clip(δdup)。
19、进一步地,在步骤6.9中进行针对扰动音频的对抗样本训练,其具体包括如下步骤:
20、步骤6.9.1,使用短时傅里叶变换(short-time fourier transform,stft)算法生成xperturbed的频谱,即spect(x)=stft(xperturbed);
21、步骤6.9.1,对频谱数据spect(x)进行归一化处理,即spect(x)=(spect(x)-mean(spect(x)))/std(spect(x)),这里的mean代表均值,std代表标准差;
22、步骤6.9.2,将频谱数据spect(x)传入deepspeech 2语音识别模型m,得到logits输出,即logits=m(spect(x));
23、步骤6.9.3,计算整个数据批次的损失函数loss,公式为loss=kww*ctcloss(logitsww,ww)+knww*ctcloss(logitsnww,nww),其中,ww和nww分别代表当前数据批次中的唤醒词和非唤醒词对应的文本内容,kww代表针对唤醒词的损失函数系数,knww代表针对非唤醒词的损失函数系数,logits代表模型对当前样本的概率分布输出结果,ctcloss代表连接时序分类损失函数。
24、进一步地,使用损失函数loss以及adam优化器来进行梯度的反向传播以及扰动音频δ内部的采样点的调整,其中lr表示深度学习过程中的学习率超参数,
25、δ←adam(loss,δ,lr)
26、这里忽略了adam优化器本身的计算细节。
27、进一步地,在上述的对抗样本训练完毕之后,将扰动音频向量δ导出为wav或其他主流的音频格式,使用一个额外的音频播放器(例如jbl clip 4)将其在待保护隐私的智能语音服务设备的麦克风旁循环播放。
28、一种针对智能语音服务设备的隐私保护装置,包括如下步骤:
29、第一单元,将音频数据集按照是否为智能语音服务的唤醒词这一条件进行划分,划分为唤醒词数据集sww和非唤醒词数据集snww;
30、第二单元,准备用于音频卷积混响以模拟不同场景音频回声效应的冲激响应数据集sir;
31、第三单元,使用语音识别模型m,搭建对抗样本训练的整体框架;
32、第四单元,初始化一段长度固定的通用扰动音频δ=[0,0,..,0],即全0向量,扰动音频长度与语音识别模型的音频采样率相关;
33、第五单元,确定对抗样本训练中的超参数,包括损失函数中针对唤醒词的系数kww以及针对非唤醒词的系数knww,系数kww为正值,系数knww为负值;
34、第六单元,使用语音识别模型m,唤醒词数据集sww和非唤醒词数据集snww来进行对抗样本训练,训练过程中冻结语音识别模型m的内部参数,调整、优化扰动音频δ内部的采样点。
35、装置的实现过程与方法相同,不再赘述。
36、一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述计算机程序时实现如上所述的针对智能语音服务设备的隐私保护方法。
37、一种计算机可读存储介质,该计算机可读存储介质存储有执行如上所述的针对智能语音服务设备的隐私保护方法的计算机程序。
38、本发明的有益效果:本发明公开了一种针对智能语音服务设备的隐私保护方法。所述方法基于语音识别对抗样本训练的模式,生成一种通用的扰动音频δ,使其在目标智能语音服务设备的麦克风旁循环播放,能够在干扰其语音识别模型正常工作的前提下维持其对唤醒词的识别,并在检测到用户说出唤醒词时自动关闭,以此达到维持智能语音服务可用性的前提下保护用户隐私的目的。