一种基于生成对抗网络的语音隐私保护方法
未命名
07-12
阅读:95
评论:0

1.本发明属于计算机信息安全技术领域,主要涉及语音身份和语音身体物理信息两种语音隐私的保护技术领域,具体是一种基于生成对抗网络的语音隐私保护方法。
背景技术:
2.随着智能语音技术的飞速发展,智能语音产品走入千家万户,语音大数据资源也越积越多,语音大数据已经成为越发重要的信息资源,其用途也愈发广泛,被广泛运用于包括智能家居在内的各个行业。与此同时,语音数据在收集和利用中的隐私风险也越来越大,用户的隐私信息面临着威胁。因此,该项技术在为人们的生活带来便利的同时,同样伴随着不容小觑的语音隐私安全问题。
3.语音隐私是指人们在使用具有语音功能的设备时(多为具有智能语音助手的智能化设备,如:智能手机、智能音箱、智能车机。),由于这些设备多为联网设备,人们通过语音与之交互的同时,不少厂商会通过网络收集语音用户的语音并将数据上传至云端。这些厂商中,很多会利用这些数据进行分析、预测来获取源语音人的身份信息、身体物理信息等,进而侵犯到的人的隐私。
4.近年来,基于深度学习的语音识别技术的快速发展,语音识别的速度和准确度相比之前的传统识别方法有了很大飞跃。甚至已经发展出了不需要借助人的人脸图像数据,而仅通过人的语音数据推断语音归属人的身高和年龄的技术。诚然,这类技术可以用于刑侦探查、推荐系统等方面,为这些相关方面的专业人员带来方便。但另一方面,如果加以滥用,将会严重侵害智能语音设备用户的隐私,而且会直接侵害个人隐私中最为重要的第一类隐私——身份隐私和身体物理隐私(即人们需要保护的个人身体的物理信息,如:身高信息、年龄信息等)。
5.所以,亟需一种专门用于保护个人语音隐私的技术,来保护智能语音场景下用户的隐私。
6.语音转换技术即为一种很好的可以应用于语音隐私保护的技术,语音转换(vc)是一种在保留语音中语言信息的同时转换语音的非语言信息的技术。vc在各种任务中都有很大的应用潜力,如辅助口语、风格转换和发音等方面。换句话说,vc是一种对语音的音色进行转换的技术,可以改变说话人的说话风格。虽然vc早已不是什么新技术——最早可以追溯到二十世纪六七十年代,至今已经有半个世纪左右的历史。然而,在深度学习,机器学习等技术崛起之前,传统的语音转换方法(如:基于码书映射的转换方法、基于高斯混合的转换方法、基于隐式马尔科夫模型的转换方法等。)均存在着转换精度不足、转换后语音自然度不足、过平滑、相似度不足、需要依赖平行语音数据等问题。近年来,随着语音信号处理、机器学习、深度学习、大数据等技术的快速发展,基于深度学习的vc方法层出不穷,并且已经克服了很多传统vc方法的问题。
7.基于深度学习的语音转换技术正是一种可以用于语音隐私保护方面的绝佳技术。它可以在不改变原语音信息的前提下改变语音的音色,因此该项技术可以很好的保护语音
归属者的身份隐私——改变了原语音的音色,让智能语音设备服务器端只能记录到语音归属者的假音色,进而保护了语音归属者的语音身份隐私。但已有的方法仍然存在自然度不足和保护能力较弱的问题。
8.综上所述,不断优化语音转换方法提高其在语音隐私保护方面的能力成为本领域的科研人员的重点研究方向。
技术实现要素:
9.本发明提供一种基于生成对抗网络的语音隐私保护方法。以解决现有技术中存在的语音隐私保护方法较少,并且已有的方法存在自然度不足和保护能力较弱的问题。
10.为了达到本发明的目的,本发明提供的技术方案是:一种基于生成对抗网络的语音隐私保护方法,包括以下步骤
11.步骤1)、获取语音数据:下载timit数据集和vcc2018数据集,自收集名人演讲语音片段,自录制母语语音数据并打好相应归属者的身高和年龄标签;
12.步骤2)、构建语音数据集:将vcc2018数据集的全部语音数据以及自收集名人演讲语音片段作为训练集,将timit数据集中test中的全部语音数据及自收集中文语音数据作为测试集;
13.步骤3)语音数据预处理:加载训练集语音数据,对其进行重采样和重设帧周期,并建立相应的文件目录结构,构成训练集语音特征;
14.步骤4)利用生成对抗网络进行深度学习训练:将预训练完毕后,保存的训练集语音特征输入生成对抗网络的生成器进行深度学习训练,经过迭代后获得语音隐私保护模型;更换训练集语音,重复将训练集特征输入生成对抗网络中进行训练,获得多个不同的语音隐私保护模型;
15.步骤5)选择合适的语音隐私保护模型。
16.进一步的,上述步骤5的具体步骤为:
17.步骤5.1)对语音数据进行年龄预测:调用提前准备好的语音年龄预测模型对测试集语音进行年龄预测,保留预测结果对应的语音文件名并存入python列表,使用年龄预测结果作为真实年龄的参考值;
18.步骤5.2)根据年龄预测结果进行语音数据分类:将年龄预测值小于等于33岁的人的语音文件的文件名和大于33岁的人的语音文件的文件名分别存入不同的python列表;再将每个列表存储的文件名对应的语音文件分别复制并存入不同的语音文件夹,至此,语音数据分类完毕;
19.步骤5.3)为分类好的语音数据调用最合适的隐私保护模型:为预测年龄为33岁及以下的人选用能将其转换为较为年老的语音风格的语音隐私保护模型a,为预测年龄为33岁以上的人的语音选用能将其转换为较为年轻语音风格的语音隐私保护模型b,也就是为两个年龄段的语音归属人选择最佳模型。
20.进一步的,上述步骤4中:
21.所述生成器由上、下采样、两个维度转换(1d到2d和2d到1d)和1dcnn几大部分组成
22.在第一层输入层之后的是卷积层,接下来是glu;下采样部分,包括两个2d下采样模块,每个下采样模块又包含三小层,分别为一个卷积层;一个实例归一化层和一个门控线
性单元;之后是维度转换部分,2d到1d的转换层,该转换层由三小层组成:第一层为重塑层;第二层为一维卷积层;第三层为实例归一化层;
23.在维度转换之后,就是1dcnn部分,由六个1d残差块组成,每个残差块由两个1dcnn层,两个实例归一化层,一个glu,以及最后一个sum层组成;紧随其后的,是1d到2d转换部分;
24.经过1d到2d转换模块转换后,之后对经过下采样处理的数据进行上采样恢复;再通过两个2d上采样模块进行处理;两个上采样模块之后的,是一个2dcnn,在生成器的最后是一个输出层,输出生成的语音;
25.所述鉴别器由六部分构成,且其结构近乎左右对称;第一部分同样为输入层,紧接着第二个部分是2dcnn,第三部分为一个glu;第四部分由4个具有相似结构的2d下采样模块构成;最后一部分为该鉴别器的输出层,输出鉴别器的鉴别结果;
26.所述损失函数由两步对抗性损失、循环一致性损失和身份映射损失三部分组成。
27.进一步的,上述步骤3的具体步骤为:
28.步骤3.1)重采样并重设语音帧周期:分别从训练集文件夹加载训练集中的源语音数据和目标语音数据,对原语音数据和目标语音数据分别进行数据预处理。首先,利用python第三方音频处理模块librosa将所有语音文件作为浮点时间序列加载并将音频重采样至16khz;
29.步骤3.2)提取语音数据特征:使用python第三方模块pyworld,将语音帧周期统一设为5.0,利用pyworld模块包装的world将语音信号分解为f0(基频)、sp(频谱包络)和非周期性参数三部分,并将这些分解后的数据以numpy格式分别保存,将源语音数据和目标语音数据的numpy格式特征也分别保存相应文件中。
30.与现有方法相比,本发明具有以下优点:
31.1、本方法模型训练不依赖平行语音数据:平行语音数据是指源说话人和目标说话人使用相同语句的语音数据,也就是源与目标说话人说的是同样的话,平行语音的收集难度相比非平行语音更大。本发明使用循环生成对抗网络,其训练阶段并不依赖平行语音数据,而只需要非平行语音即可进行训练并达到很好的效果,这使得语音数据的获取难度大大降低;
32.2、经本模型处理后的语音自然度更高,保护隐私的同时并不改变原语音语义信息,也不会影响语音识别准确率:相比传统的不借助深度学习技术的语音隐私保护方法,经过本语音隐私保护方法处理后的语音具备更高的语音自然度,本语音隐私保护方法在保护了人的语音身份隐私、语音身体物理隐私的同时,并不会改变原语音的语义信息,也就是说并不会改变原语音所说的话。因此在智能语音设备的使用场景中,并不会带来语音识别不准、曲解语音语义等副作用问题。
33.这使得通过本方法进行隐私保护处理之后的语音并不会影响语音识别准确率;
34.3、提出了语音隐私保护模型自动选择,使得本方法的语音隐私保护能力更强:选择合适的模型可以进一步增强对语音数据隐私的保护能力,它可以本地化(无需借助网络)的基于预先预测的年龄数据在训练好的多个不同的语音隐私保护模型做出最佳选择,相比使用单一语音隐私保护模型,在多语音隐私保护模型上采用本模型选择方法,可以提供更强的语音隐私保护能力;
35.4、保护隐私的同时并不改变原语音语义信息:本语音隐私保护方法在保护了人的语音身份隐私、语音身体物理隐私的同时,并不会改变原语音的语义信息,也就是说并不会改变原语音所说的话。因此在智能语音设备的使用场景中,并不会带来语音识别不准、曲解语音语义等副作用问题。
36.5、本发明使用的语音数据集包含vcc2018数据集、timit数据集、自录制语音数据集、自收集名人演讲语音数据集四大部分。这些语音数据兼顾中英两大语种,语音发音清晰,质量总体较高。因此,本发明采集并建立的数据集具有语音语义丰富、语音清晰且语言兼顾中英两大语言等特点。
37.6、本发明的语音隐私保护模型可以有效保护人的语音身份信息,年龄信息和身高信息等物理信息。基于生成对抗网络的语音隐私保护方法,通过语音转换技术,保护了语音身份隐私和身高、年龄等身体物理隐私。解决了传统语音隐私保护方法对于说话人身高、年龄等身体物理隐私信息的保护能力缺失或不足等问题。同时,又并不破坏原语音的语义,并没有让语音变得不可被智能语音设备识别。也就是说,本发明在没有影响智能语音技术可用性的前提下,不但保护了语音用户的身份隐私——让智能语音设备不能识别出用户的身份,而且保护了用户的身体物理隐私——让某些采用先进预测技术的智能语音设备不能准确预测出用户的身高、年龄等信息。
附图说明
38.图1为本发明使用的语音隐私保护方法流程图;
39.图2为本发明提出并使用的语音隐私保护模型选择方法流程图;
40.图3为本发明使用的两步对抗性损失结构示意图;
41.图4为本发明使用的生成对抗网络的网络结构框图;
42.图5为经过本发明处理前后的四条样本语音的波形图对比图。
具体实施方式
43.下面将结合附图和实施例对本发明进行详细地说明。
44.实施例,本发明是一种基于生成对抗网络的语音隐私保护方法,参见图1,具体包括有以下步骤:
45.步骤一、获取语音数据:数据包括以下几个部分
46.(1)网站上面下载的timit数据集;
47.共5600条英文语音数据,格式都为wav文件,所有语音比特率均为256kbps。该数据集附带的电子表格中记录着每一条语音数据归属人的性别、身高、年龄、生日(精确到日)、录制该音频的具体日期(精确到日)等重要信息。这其中的性别、身高、年龄等信息为之后测试本语音隐私保护方法的语音隐私保护效果提供了强大的数据支撑。
48.(2)网站上面下载vcc2018数据集:
49.其与第一版(vcc2016)相比,引入了“辐条任务”。参与者需要使用一个非平行的数据库建立vc系统,在这个数据库中,源语音者和目标语音者读出不同的语料集。
50.(3)自收集名人演讲语音片段:
51.对某大龄名人的某次公开演讲的语音进行剪辑,并对该名人的性别、年龄、身高等
公开信息进行记录。
52.(4)自录制中文语音数据:
53.其中70条来自七位男性,另外30条来自三位女性,与timit数据集保持一致的性别比例,并且对语音归属者的性别、年龄、身高等信息都进行记录。
54.步骤二、构建语音数据集,具体包括有如下步骤:
55.将timit中的560条女性语音数据和1170条男性语音数据,共1730条语音数据作为测试集。
56.选用vcc2018语音数据集和部分自采集名人演讲语音片段作为训练集。
57.步骤2.1)训练集构建:本发明第一组训练集选择vcc2f1和vcc2tf2中的全部语音数据,这些语音数据均为女性语音数据。具体为将该文件夹下的子文件夹vcc2f1中的所有语音数据作为第一组训练集中的源语音数据、将该文件夹下的子文件夹vcc2tf2中的所有语音数据作为第一组训练集中的目标语音数据。之所以如此进行划分,是因为vcc2tf2中的语音全部由一位年轻的女性录制,使用该组语音数据作为第一组训练集中的目标语音数据,可以使得训练完毕后的语音隐私保护模型具备将大龄人声音转换为年轻人声音的能力,从而更好的保护语音归属人的真实年龄信息。另外再选择vcc2018中vcc2018_database_training的子文件夹vcc2sm2中的全部语音数据作为另一组训练集的源语音数据,vcc2sm2中的语音全部为男性语音。而第二组训练集的目标语音数据源于某大龄名人公开演讲,全部语音数据均无背景音乐,语音片段清晰且声音大小适中。选用某大龄名人的语音是因为使用该组语音数据作为第二组训练集中的目标语音数据,可以使得训练完毕后的语音隐私保护模型具备将年轻人声音转换为大龄人声音的能力,可以更好的保护语音归属者的真实年龄信息。至此,两组训练集构建完毕;
58.步骤2.2)测试集构建:测试集使用timit数据集中的测试集和自录制母语语音数据混合,本实施例中的母语选择为中文。timit数据集包含所有语音的归属人的身高、年龄、性别等信息。
59.选用其中test文件夹下的所有语音数据作为测试集的一部分。自录制语音与timit数据集自带的语音归属人真实身体物理信息(真实的性别、年龄、身高等信息)为之后语音预测的误差计算提供了数据支撑。
60.本发明使用的语音数据集包含vcc2018数据集、timit数据集、自收集数据集(包括自收集名人演讲语音片段和自录制母语语音数据)三大部分,并且兼顾中文和英文两大语种,语音数据发音清晰,质量总体较高。因此,本发明采集并建立的数据集具有语音语义丰富、语音清晰且语言兼顾中英两大语言等特点。
61.步骤三、语音数据预处理,具体包括有如下步骤:
62.步骤3.1)重采样并重设语音帧周期:分别从训练集文件夹加载训练集中的源语音数据和目标语音数据,对原语音数据和目标语音数据分别进行数据预处理。首先,利用python音频模块librosa(librosa是一个用于音乐和音频分析的python包。它提供了创建音乐信息检索系统所需的构建模块。)将所有语音文件作为浮点时间序列加载并将音频重采样至16khz;
63.步骤3.2)提取语音数据特征:使用python第三方模块pyworld(pyworld包装了world,它是一个用于高质量语音分析、操作和合成的免费软件。它可以分解出语音的基频、
非周期性参数和频谱包络,也可以只用分解出的参数生成与输入语音一样的语音。),将语音帧周期统一设为5.0。利用pyworld模块包装的world(一种基于声码器的高质量实时语音合成系统)将语音信号分解为f0(基频)、sp(频谱包络)和非周期性参数三部分,并将这些分解后的数据以numpy格式分别保存至logf0s_normalization.npz和mcep_normalization.npz两大文件中,将源语音数据和目标语音数据的特征以numpy格式分别保存至coded_sps_a_norm.pickle文件和coded_sps_b_norm.pickle文件中。
64.本发明使用librosa和pyworld等第三方python模块,将步骤2)建立的语音数据集中的语音数据进行语音重采样、重设帧周期、语音参数分解、保存语音特征等语音数据预处理操作。此番语音数据预处理可以提高接下来步骤中的训练效率和训练质量。
65.步骤四、使用生成对抗网络进行训练,生成对抗网络的网络结构参见图4:
66.其中生成器结构:本发明所使用的生成器生成器主要由上、下采样、两个维度转换(1d到2d和2d到1d)、1dcnn几大部分组成,具体结构如下:第一部分为一层输入层,其通道高度为35,通道宽度为t,通道数为1。第二部分为一卷积层,该卷积层为单通道输入,卷积核为5*15,128通道,步长为1*1,padding为2*7。再下来是glu(门控线性单元)。紧接着是两个2d下采样层,而每个下采样层又包含三小层,分别为一卷积核为5*5,256通道,步长为2*2的卷积层;一个实例归一化层;和一个门控线性单元。在两个2d下采样层之后的,是2d到1d的转换层,该转换层由三小层组成。其中,第一层为重塑层(reshape层),reshape层通道高度为1,通道宽度为t/4,通道数为2304;而第二层为一维卷积层,卷积核为1*1,通道数是256,步长为1*1;第三层为实例归一化层。经过2d下采样和reshape之后,语音特征由2d转化为1d。
67.之所以对语音特征进行维度转换,是因为一维卷积神经网络更适合捕捉动态变化,它可以在捕捉特征维度的同时捕捉整体关系,相比之下,二维卷积神经网络更适合于转换特征,同时保留原始结构,因为它将转换区域限制在局部。即使使用一维cnn,残差块也能缓解原始结构的损失,但下采样和上采样(这是有效捕捉大范围结构的必要条件)成为这种退化的严重原因。为了缓解这一问题,本发明的生成对抗网络中的生成器兼顾1dcnn和2dcnn的优点,使用了此种组合形态的2d-1d-2dcnn网络结构。在这个网络中,二维卷积被用于下采样和上采样,一维卷积被用于主要的转换过程(即剩余块)。为了调整通道维度,我们在重塑特征之前和之后应用1
×
1卷积。这样得以在转换特征的同时保留原始结构。
68.在维度转换之后,也就是1dcnn部分,是6个1d残差块,每一个残差块由两个1dcnn层,两个实例归一化层,一个glu,以及最后一层sum层组成。其中,第一个1dcnn卷积核为1*3,通道数为512,步长是1*1。第二个1dcnn卷积核为1*3,通道数是256,步长为1*1。sum层和所有一般的残差块相同,是进行与前一层输出进行单位加操作的一层。
69.紧随六个一维残差块之后的,是1d到2d转换模块,该模块结构类似于2d到1d转换模块。具体的,该模块第一层为1dcnn,卷积核大小为1*1,通道数为2304,步长是1*1。第二层为实例归一化层,第三层为通道高度为9,通道宽度是t/4,通道数为256的reshape层。
70.经过1d到2d转换模块转换后,1d特征变为2d特征,接下来需要对之前经过下采样处理过的数据进行上采样恢复。再通过两个2d上采样模块进行处理,两个模块结构相似,只有各自的2dcnn层结构有所不同。第一个2d上采样模块使用的是一个卷积核大小为5*5,通道数为1024,步长是1*1的2dcnn层,而第二个2d上采样模块使用的是一个卷积核大小为5*5,通道数为512,步长是1*1的2dcnn层。两个上采样模块其余的层次结构均相同,都包含一
个pixelshuffle(像素重组:主要功能是将低分辨的特征图,通过卷积和多通道间的重组得到高分辨率的特征图。)层,一层实例归一化层和一个glu。
71.在两个上采样模块之后的,是一个2dcnn,它的卷积核大小为5*15,通道数为35,步长是1*1。在生成器的最后是一个输出层,用来输出生成的语音;
72.其中鉴别器结构:本发明所使用的鉴别器的具体结构相比生成器的就简单了不少。本发明的鉴别器由六大模块构成,且其结构近乎左右对称。首先,第一个模块为通道高度为35,通道宽度为128的单通道的输入层。紧接着的第二个模块为一个2dcnn,其卷积核大小为3*3、通道数为128、步长为1*1。第三模块是一个glu。第四个模块由4个2d下采样模块构成,每个下采样模块都具有相似的结构。每个下采样模块都由一个2dcnn,一个实例归一化层和一个glu构成。不同的是,每个下采样模块的cnn结构都不相同:第一个下采样模块采用一个卷积核为3*3、通道数为256、步长为2*2的2dcnn;第二个下采样模块采用一个卷积核为3*3、通道数为512、步长为2*2的2dcnn;第三个下采样模块采用一个卷积核为3*3、通道数为1024、步长为2*2的2dcnn;第四个下采样模块采用一个卷积核为1*5、通道数为1024、步长为1*1的2dcnn。第五个模块是一个2dcnn,卷积核为1*3、单通道、步长为1*1。最后一个模块为该鉴别器的输出层,输出鉴别器的鉴别结果(真或假);
73.关于各损失函数的符号说明:g表示生成器,d表示鉴别器,g
x
→y表示生成器的目标是学习由x∈x生成y∈y;e为数学期望符号;||
…
||1表示一阶范式;λ
cyc
和λ
id
为权重参数。
74.其中损失函数由两步对抗性损失、循环一致性损失和身份映射损失三部分组成损失函数由两步对抗性损失、循环一致性损失和身份映射损失三部分组成:
75.1)两步对抗性损失:
76.在此损失中,对每个周期使用两次对抗性损失,如图3所示。因此,称其为两步式对抗性损失。
[0077][0078]
2)循环一致性损失:
[0079]
对抗性损失只限制g
x
→
y(x)
遵循目标分布,不保证输入和输出特征之间的语言一致性。为了进一步规范映射,我们使用了循环一致性损失。其中正向到反向和反向到正向映射同时被学习用以稳定训练。这种损失促使g
x
→y和gy→
x
通过循环转换找到一个最佳的伪对(x,y),如图3所示。
[0080][0081]
3)身份映射损失:
[0082]
使用身份映射损失是为了进一步鼓励输入保存,如图3所示。
[0083][0084]
4)总损失函数:
[0085]
总损失函数由两步对抗性损失、循环一致性损失和身份映射损失三部分相加组成。其中λ
cyc
和λ
id
是权重参数。特别的,在此总公式中,两步对抗性损失对每个周期使用两次,如图3所示。因此,我们称其为两步对抗性损失。
[0086][0087]
本发明是一种基于生成对抗网络的语音隐私保护方法。使用的生成对抗网络包含
2d-1d-2dcnn的生成器和2dcnn的鉴别器。通过生成器从上一步骤的提取的语音特征中随机取样作为输入,输出语音数据,再通过给鉴别器输入真实语音数据和生成语音数据,其目的是让鉴别器将生成器生成的输出语音和真实语音尽可能分辨出来,而生成网络则要尽可能地欺骗判别网络。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实,也就是鉴别器的loss最终趋于0.5。本发明在训练阶段,将各参数设置如下:将权重参数λ
cyc
和λ
id
分别设置为10和5,生成器学习率设为0.0002,鉴别器学习率设为0.0001,并且学习率衰减方式设为线性衰减。在经过约40k次迭代训练后,经过测试,该训练好的模型具备了较佳的性能。生成器生成的语音和目标语音风格相像,难以辨别,使得语音年龄、身高预测程序难以预测出真实的归属人年龄和身高,人类可以明显听出该模型处理前后的语音风格明显不同。并且处理后的语音具备较佳的自然度,杂音也比较小。至此,将训练得到的语音隐私保护模型保存。
[0088]
经过不断更换源与目标语音数据集,重复步骤3-4,就可以得到多个语音隐私保护模型,为后续步骤的语音隐私保护模型选择方法提供多个可选择的语音隐私保护模型。
[0089]
步骤五、选择合适的语音隐私保护模型,参见图2,具体包括有如下步骤:
[0090]
步骤5.1)对语音数据进行年龄预测:调用提前准备好的语音年龄预测模型对测试集语音进行年龄预测,保留预测结果对应的语音文件名并存入python列表。鉴于该语音年龄预测模型具备较小的年龄预测误差(平均绝对误差为三岁多),因此,可以使用年龄预测结果作为真实年龄的参考值。该参考值为该模型选择算法的实现提供重要数据支撑;
[0091]
步骤5.2)根据年龄预测结果进行语音数据分类:制定一种基于步骤5.1)的年龄预测值的年龄段划分策略,将年龄预测值小于等于33岁的人的语音文件的文件名和大于33岁的人的语音文件的文件名分别存入python列表1和python列表2。再将每个列表存储的文件名对应的语音文件分别复制并存入语音文件夹a和语音文件夹b。至此,语音数据分类完毕;
[0092]
步骤5.3)为分类好的语音数据调用最合适的隐私保护模型:为步骤5.2)分类好的语音数据,选用最适合的语音隐私保护模型。为预测年龄为33岁及以下的人选用能将其转换为较为年老的语音风格的语音隐私保护模型a,为预测年龄为33岁以上的人的语音选用能将其转换为较为年轻语音风格的语音隐私保护模型b,也就是为两个年龄段的语音归属人选择最佳模型。这比使用单一语音隐私保护模型具备更好的语音隐私保护能力,即更能增大经该语音隐私保护模型处理后的语音的年龄预测误差,从而更大程度的保护语音归属者的年龄信息。
[0093]
至此,本发明提供的基于生成对抗网络的语音隐私保护方法已经完成。下面将通过测试对本发明的性能进行详细地说明:
[0094]
首先调用选择好的模型对语音数据进行处理,具体包括有如下步骤:
[0095]
分别对选择好的适合两个年龄段的最佳语音隐私保护模型进行调用,再分别输入分类好的两组不同年龄段的测试集语音数据,再分别对测试集语音数据进行隐私保护处理,并将处理完成的语音数据保存合并保存至同一文件夹下以待后续使用。
[0096]
本发明使用多个语音隐私保护模型,分别为两种类别语音数据选择最佳模型进行调用,利用每个模型的语音年龄信息保护能力的不同,使各个模型能够在相对更贴合的场景中使用,也就是做到术业有专攻。
[0097]
然后测试并记录语音隐私保护结果,具体包括有如下步骤:
[0098]
分别从主观上和客观上对本发明的语音隐私保护效果进行评估。主观层面:组织一组听力极佳的试听者进行聆听。通过让多个试听者将分别聆听经过本语音隐私保护方法处理前的语音和处理后的语音,让试听者进行语音身份保护效果打分(采用五等级评分制度,由1分到5分,分数越高表示经过本语音隐私保护方法处理后的语音身份保护效果越好。),处理前后语音的相似程度越低表示语音身份保护效果越好。另外的,还要对本语音隐私保护方法处理过的语音进行语音自然度打分,听起来越自然的语音评分越高。(依旧采用五等级评分制度,由1分到5分,分数越高表示经过本语音隐私保护方法处理后的语音自然度越高。)客观层面:使用一种先进的语音年龄、身高预测模型,分别对经过本语音隐私保护方法处理前和处理后的语音进行语音年龄、身高预测,对比预测处理前后的预测结果并进行记录。具体的过程如下:
[0099]
步骤1)语音身份保护性能评估:关于本发明的语音身份保护性能评估,分别采用主观评估方法和客观评估方法;
[0100]
步骤1.1)主观评估:因为人类本身就对语音的音色有着极高的敏感度,所以人类可以轻易的听出几句语音是否来自于同一个人。考虑到人类的这一能力比较突出,特别采用主观试听的方法对本发明的语音隐私保护方法的语音身份保护能力进行评估。
[0101]
具体为,组织一组听觉较佳的试听者进行聆听。通过让多个试听者将分别聆听未经过本语音隐私保护方法处理过的语音和经过处理的语音,让试听者进行语音身份保护效果打分(采用五等级评分制度,由1分到5分,分数越高表示经过本语音隐私保护方法处理后的语音身份保护效果越好。),处理前后语音的相似程度越低表示语音身份保护性能越好。另外的,还要对本语音隐私保护方法处理过的语音进行语音自然度打分,听起来越自然的语音评分越高。(依旧采用五等级评分制度,由1分到5分,分数越高表示经过本语音隐私保护方法处理后的语音自然度越高。)随机抽取四组(两组男性语音、两组女性语音)未经过本隐私保护方法处理过的语音,再对应取得这四组语音的经过本语音隐私保护方法处理后的版本。特别的,这四组语音分别来自不同的归属人,每组两条语音。邀请5名听力较好的年轻人对这五组语音的分别进行试听,按照上述的五分制对保护效果和自然度进行打分。最终的语音身份保护性能评估如表1所示;
[0102]
表1语音身份保护性能评估表
[0103]
[0104][0105]
步骤1.2)客观评估方法:语音波形图可以准确反应出音波随时间的振幅变化,能从一定程度上对比判断两个语音音色不同。因此,在客观评估中,本发明采用对比波形图的方式来证明本语音隐私保护方法可以有效保护语音身份隐私。具体为,使用前文提到过的python第三方模块librosa来分别为原语音和经过本方法处理后的语音绘制波形图,再通过绘制出的波形图进行分析。选用步骤7.1.1)中的语音四组语音数据中每组的第一条语音数据(语音1、语音3、语音5、语音7)进行前后处理前后波形图对比。波形图参见图5。对比处理前后的每对语音,可以明显发现,经过本方法处理后的语音波形发生了明显变化,因此,可以证明处理前后的语音音色发生了明显变化,这进一步证明了本发明具有较强的语音身份隐私保护能力;
[0106]
步骤2)语音归属人身体物理信息保护性能评估:关于本发明的语音归属人身体物理信息保护性能评估,采用基于实验的客观评估方法。具体为,采用一种最新的语音年龄、身高预测模型,使用该预测模型分别对所有测试集语音和经过本方法处理后的测试集语音进行预测,记录处理后的语音年龄、身高预测结果,计算出前后两次预测到的年龄和身高的rmse(均方根误差)、mae(平均绝对误差)。对比经过本方法处理前后的各项预测误差值,计算出各项误差值经过本方法处理后的变换情况。最后分别记录处理前后身高、年龄的预测结果、各项预测误差以及各项误差的变化情况。身体物理隐私保护性能如表2所示;
[0107]
表2身体物理隐私保护性能表
[0108][0109]
本发明是一种基于生成对抗网络的语音隐私保护方法,通过本步骤的主观和客观的实验表明其具备较强的语音隐私保护能力。
[0110]
下面提供本发明方法具体的实施细节描述,以便对本发明作进一步的了解:
[0111]
本实验使用python作为主要编程语言,python版本为3.8。使用pycharm集成式开发环境进行编码来实现基于生成对抗网络的语言隐私保护模型,使用anaconda作为python包、环境管理器,选用pytorch作为本发明的深度学习框架,pytorch版本为pytorch1.9.0(gpu版)。实验所使用设备系统为windows10专业版,设备cpu为英特尔酷睿i510400f,所用显卡为英伟达geforcegtx1060,显存大小为5gb,设备内存大小为16gb,所用硬盘为1tb samsung970evoplus固态硬盘。部分数据来自kaggle与edinburghdatashare开源数据集网站,其他数据为自收集数据,自收集数据包含部分自录制语音数据和网上搜集到的某公众人物的某次公开演讲语音片段。
[0112]
实验内容:
[0113]
本发明将收集的语音数据划分为多个训练集、测试集对,即多个待转换语音数据集和目标语音数据集。对数据集中的语音数据进行数据预处理,输入该生成对抗网络进行训练。生成器部分,具体为输入2-1-2dcnn生成器,先经过卷积核大小为5*5,通道数为128,步长为1*1的卷积层,再经过glu(门控线性单元),又经过两层2d下采样层,再通过reshape进行2d到1d转换,然后进入6层1dresblock(残差块),从6层resblock输出后,再输入1d到2d转换层,将数据重新转换为2d形态,然后经过两层下采样层对数据进行采样率恢复,采样率恢复完毕后,再输入卷积层,最后输出数据。鉴别器部分,将数据输入鉴别器,先输入卷积层,再经过glu(门控线性单元),然后进入四层2d下采样层,从下采样层输出后,再输入卷积层,最后输出语音数据的真假结果(若鉴别器鉴别出是目标语音的音色则为真,否则为假)。
[0114]
切换数据集中的源语音和目标语音,分别训练得到用于保护不同年龄段用户的语音隐私保护模型。每对源、目标语音数据集都经过生成对抗网络约40k次训练迭代后,训练出了具有较好性能的语音隐私保护模型。将训练得到的多个模型保存,使用测试集中的语音数据对该语音隐私保护方法进行测试,测试过程中先使用独创的语音隐私保护模型选择
算法,为不同语音数据自动选择最适合的语音隐私保护模型。加载选择好的语音隐私保护模型,对测试集语音进行语音转换,保存转换后的语音。
[0115]
最后进行隐私保护效果验证,效果验证分为客观验证和主观验证两环节。具体的,在客观验证环节,使用一种先进的语音年龄、身高预测模型,对经过语音隐私模型处理前的语音与处理过后的语音进行语音年龄、身高预测,记录前后的语音年龄身高预测结果。而在客观验证环节,组建一个听力小组,让小组成员对本语音隐私保护模型处理前后的语音进行主观试听,感受同一条语音数据在本语音隐私保护模型处理前后的差别,建立语音差异度等级表并让小组成员进行打分,最后记录打分结果。也就是说,利用人类天生对语音音色的高敏感度,对语音隐私保护模型的语音身份保护能力进行主观打分,利用一种先进的语音年龄、身高预测模型对语音隐私保护模型店语音身体物理信息的保护能力进行客观评价。
[0116]
实验结果与分析:
[0117]
对本语音隐私保护模型处理前后的语音数据进行主观和客观的对比,主观法采用多名志愿者试听经过语音隐私保护模型处理前后的语音,给出试听感受;客观对比采用一种先进的语音预测技术(基于语音数据预测该语音归属人的身高,年龄信息),对比经过语音隐私保护模型处理前后的预测数据。
[0118]
实验结果见表1、表2。
[0119]
由表1语音身份保护效果评估结果可以看出,五位参加测试的试听者大多都对本方法处理后语音的语音身份保护效果给予了较高评价——多为4分和5分的高分,也就是说,五位试听者一致认为经本发明处理过的语音,语音音色发生了明显变化,以至于听不出来与处理之前为同一人的语音。其次,大家对语音的自然度打分也普遍较高,这足以说明处理后的语音仍然保持着较高的自然度。
[0120]
由表2可以得出结论,本语音隐私保护方法具备较强的语音身体物理信息保护能力。具体的,可以由表2的实验结果可以明显看出,经过本方法处理后的1730条测试集语音,在处理后,各项指标预测误差值均有所增大,特别是年龄的均方根误差和平均绝对误差,男性和女性的都大幅增加。而身高预测方面,在原语音的预测误差本来就比较大的情况下,经过本方法处理后,其rmse和mae两项误差仍然有了小幅度增大。由此可以得出本发明具备较强的语音身体物理隐私信息保护能力。
[0121]
综上所述,本发明公开的基于生成对抗网络的语音隐私保护方法,通过语音转换技术和语音隐私保护模型选择算法,保护了语音身份隐私、以及身高、年龄等身体物理隐私。也就是说,本发明在没有影响智能语音可用性的前提下,不但保护了语音用户的身份隐私——让智能语音设备不能识别出用户的身份,而且保护了用户的身体物理隐私——让某些采用先进语音预测技术的智能语音设备不能准确预测出用户的身高、年龄等信息。
[0122]
上述实施例仅示例性说明本发明的原理及其功效,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
技术特征:
1.一种基于生对抗网络的语音隐私保护法,其特征在于:包括以下步骤:步骤1)、获取语音数据:下载timit数据集和vcc2018数据集,自收集名人演讲语音片段,自录制母语语音数据并打好相应归属者的身高和年龄标签;步骤2)、构建语音数据集:将vcc2018数据集的全部语音数据以及自收集名人演讲语音片段作为训练集,将timit数据集中test中的全部语音数据及自收集中文语音数据作为测试集;步骤3)语音数据预处理:加载训练集语音数据,对其进行重采样和重设帧周期,并建立相应的文件目录结构,构成训练集语音特征;步骤4)利用生成对抗网络进行深度学习训练:将预训练完毕后,保存的训练集语音特征输入生成对抗网络的生成器进行深度学习训练,经过迭代后获得语音隐私保护模型;更换训练集语音,重复将训练集特征输入生成对抗网络中进行训练,获得多个不同的语音隐私保护模型;步骤5)选择合适的语音隐私保护模型。2.根据权利要求1所述的一种基于生成对抗网络的语音隐私保护方法,其特征是:所述步骤5的具体步骤为:步骤5.1)对语音数据进行年龄预测:调用提前准备好的语音年龄预测模型对测试集语音进行年龄预测,保留预测结果对应的语音文件名并存入python列表,使用年龄预测结果作为真实年龄的参考值;步骤5.2)根据年龄预测结果进行语音数据分类:将年龄预测值小于等于33岁的人的语音文件的文件名和大于33岁的人的语音文件的文件名分别存入不同的python列表;再将每个列表存储的文件名对应的语音文件分别复制并存入不同的语音文件夹,至此,语音数据分类完毕;步骤5.3)为分类好的语音数据调用最合适的隐私保护模型:为预测年龄为33岁及以下的人选用能将其转换为较为年老的语音风格的语音隐私保护模型a,为预测年龄为33岁以上的人的语音选用能将其转换为较为年轻语音风格的语音隐私保护模型b,也就是为两个年龄段的语音归属人选择最佳模型。3.根据权利要求1或 2所述的一种基于生成对抗网络的语音隐私保护方法,其特征是:所述步骤4中生成器结构和鉴别器结构分别如下:所述生成器由上、下采样、两个维度转换和1dcnn几大部分组成:在第一层输入层之后的是卷积层,接下来是glu;下采样部分,包括两个2d下采样模块,每个下采样模块又包含三小层,分别为一个卷积层;一个实例归一化层和一个门控线性单元;之后是维度转换部分,2d到1d的转换层,该转换层由三小层组成:第一层为重塑层;第二层为一维卷积层;第三层为实例归一化层;在维度转换之后,就是1d cnn部分,由六个1d残差块组成,每个残差块由两个1d cnn层,两个实例归一化层,一个glu,以及最后一个sum层组成;紧随其后的,是1d到2d转换部分;经过1d到2d转换模块转换后,之后对经过下采样处理的数据进行上采样恢复;再通过两个2d上采样模块进行处理;两个上采样模块之后的,是一个 2d cnn,在生成器的最后是一个输出层,输出生成的语音;
所述鉴别器由六部分构成,且其结构近乎左右对称;第一部分同样为输入层,紧接着第二个部分是2d cnn,第三部分为一个glu;第四部分由4个具有相似结构的2d下采样模块构成;最后一部分为该鉴别器的输出层,输出鉴别器的鉴别结果;所述损失函数由两步对抗性损失、循环一致性损失和身份映射损失三部分组成。4.根据权利要求3所述的一种基于生成对抗网络的语音隐私保护方法,其特征是:所述步骤3的具体步骤为:步骤3.1)重采样并重设语音帧周期:分别从训练集文件夹加载训练集中的源语音数据和目标语音数据,对原语音数据和目标语音数据分别进行数据预处理,首先,利用python第三方音频处理模块librosa将所有语音文件作为浮点时间序列加载并将音频重采样至16khz;步骤3.2)提取语音数据特征:使用python第三方模块pyworld,将语音帧周期统一设为5.0,利用pyworld模块包装的world将语音信号分解为f0(基频)、sp(频谱包络)和非周期性参数三部分,并将这些分解后的数据以numpy格式分别保存,将源语音数据和目标语音数据的numpy格式特征也分别保存相应文件中。
技术总结
本发明公开了一种基于生成对抗网络的语音隐私保护方法,解决了传统语音隐私保护方法依赖于平行语音数据、自然度低、会在一定程度上改变原语音的语音信息和语音隐私保护能力弱等问题。实现包括:获取语音数据;构建语音数据集;语音数据预处理;使用生成对抗网络进行训练;选择合适的语音隐私保护模型;调用选择好的模型对语音数据进行处理。本发明的语音隐私保护模型并不改变语音数据所包含的语音信息,并且经过本语音隐私保护方法处理过的语音仍然具有较高的语音自然度;本发明对语音身份隐私、语音身体物理隐私都具有较强保护作用,语音隐私保护能力强,普适性好,既适用于中文又适用于英文,可广泛用于信息安全中的语音隐私保护。私保护。私保护。
技术研发人员:郭军军 杨昆鹏 宋慧雨
受保护的技术使用者:西安工业大学
技术研发日:2022.12.14
技术公布日:2023/7/11
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/