基于不同迁移能力和决策边界攻击的声纹识别对抗样本检测方法



1.本发明涉及一种声纹识别对抗样本的检测方法,本方法属于深度学习安全领域。


背景技术:



2.随着深度学习的迅速发展,深度学习已经是人工智能最常见的技术之一,在方方面面影响和改变着人们的生活,比较典型的应用包括智能家居、智能驾驶、语音识别、声纹识别等领域。但是深度学习作为一个非常复杂的软件系统,同样会面对各种黑客攻击。黑客通过深度学习系统,也可以威胁到财产安全、个人隐私、交通安全和公告安全。针对深度学习系统的攻击,通常包括以下几种。1.偷取模型,黑客通过各种先进手段,将部署在服务器中的模型文件窃取。2.数据投毒,针对深度学习的数据投毒主要是指向深度学习的训练样本中加入异常数据,导致模型在遇到某些条件时候会产生分类错误,比如后门攻击算法就是在中毒数据中添加一个后门标记,使得模型中毒。3.对抗样本,对抗样本是指在数据集中通过故意添加细微的干扰所形成的输入样本,这种样本导致模型以高置信度给出一个错误的输出。简单的讲,对抗样本通过在原始数据上叠加精心构造的人类难以察觉的扰动,使深度学习模型产生分类错误。深度学习的安全,成为当今我们需要去迫切解决的问题。抵御方法主要分为两大类:对抗样本防御和对抗样本检测。对抗样本防御主要目的就是使得对抗样本的分类标签恢复成正常样本的标签;对抗样本检测的主要目的是在样本集中出对抗样本,将其剔除。


技术实现要素:



3.本发明要克服现有技术的上述缺点,提供一种基于样本的不同迁移能力和决策边界攻击的声纹识别对抗样本检测的方法。本发明能够准确的检测到数据中的对抗样本,能够有效的降低对抗样本带来的风险,加强声纹识别模型的安全性。
4.本发明解决其技术问题所采用的技术方案是:数据预处理,对于我们使用的说话人语音数据进行预处理;搭建声纹识别模型(一个为目标模型,一个为检测模型);利用几种不同的对抗攻击方法结合目标分类模型设计带有恶意性信息样本的对抗样本生成器;将对抗样本和干净样本分别输入目标模型和检测模型中,得到对应的输出标签;对于标签变化的样本我们将扰动比例设定为0,对标签没有变化的样本我们进一步使用决策边界攻击方法对其攻击,得到对抗性扰动比例;最后将扰动比例与我们设定的阈值进行比较,高于阈值的为干净样本,低于阈值的为对抗样本。阈值的选取由决策边界攻击方法对一定量的干净样本集进行攻击,在所得到的对抗性扰动比例中选取一个阈值,该阈值使得检测方法的检测精度高且误检测率低。
5.一种基于不同迁移能力和决策边界攻击的声纹识别对抗样本检测方法,含有以下步骤:
6.步骤1:对说话人语音信号进行数据预处理;
7.步骤2:搭建声纹识别模型;
8.步骤3:根据声纹识别模型设计对抗样本;
9.步骤4:获得样本对抗性扰动比例;
10.步骤5:根据干净样本获取决策阈值;
11.步骤6:根据决策阈值对样本进行判断。
12.进一步,步骤1具体包括:首先对现有的语音文件(.wav格式) 进行数据提取,利用librosa音频处理python工具包对说话人语音进行语音数据提取,如下:
13.xi,sr=librosa(ti,sr=none),i=1,2,...n+m
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
14.其中xi是提取的第i个说话人语音文件的语音数据,sr是语音数据的采样率,ti是第i个说话人语音文件。
15.对语音信号数据集进行归一化处理,并将数据集d划分为训练集 d
train
与测试集d
test
,其中数据集
16.d
train
={(x1,y1),(x2,y2),...,(xn,yn)}
17.d
test
={(x
n+1
,y
n+1
),(x
n+2
,y
n+2
),...,(x
n+m
,y
n+m
)}
18.xi=(x
i1
,x
i2
,...,x
id
),d表示xi的数据长度,代表c类标签。归一化公式为:
[0019][0020]
其中表示归一化后的样本,max(xi)表示样本中d个采样点中最大值,归一化后
[0021]
进一步,步骤2具体包括:预先指定分类模型的结构和参数,且不发生变化。本发明采样的分类模型结构主要包含1d卷积层,最大池化层,批归一化层,全连接层,具体结构见表1利用训练数据集进行训练,声纹识别分类模型如下:
[0022]
目标模型:
[0023][0024]
检测模型:
[0025][0026]ftarget
(
·
)和f
detect
(
·
)代表模型输出的概率向量。
[0027]
进一步,步骤3所述的对抗样本定义为:
[0028][0029]
其中,δi为添加到原样本上的扰动。
[0030]
这里以基于优化的对抗攻击方法为例说明对抗样本生成。基于优化的攻击方法本质是一种基于梯度的对抗样本生成方法。
[0031]
优化函数定义为:
[0032][0033][0034]
进一步,步骤4具体包括:将混合样本集(包含干净样本和对抗样本)分别输入目
标模型和检测模型,得到模型输出和则对应模型输出标签为则对应模型输出标签为比较t
detect
与t
target
是否一致。若不一致则设定扰动比例若一致则对该样本进行决策边界攻击。此处我们采样 hopskipjumpattack(hsja)决策边界攻击方法,该攻击方法所得到的对抗样本将非常逼近于模型的决策边界,该攻击方法原理见图2。主要有3个步骤:1梯度方向估计;2通过几何级数进行步长搜索; 3通过二分类法进行边界搜索。对于无目标攻击,hsja攻击首先从均匀分布中采样一个初始对抗样本x

t
,然后进行二分类搜索查询决策边界,同时更新x

t

x
t
;在更新后的对抗样本x
t
处估计梯度方向,梯度方向由蒙特卡洛方法近似估计;接着通过几何级数进行步长搜索,同时更新x
t

x

t+1
;接下来在进行二分类搜索;重复以上步骤,直至到达最大迭代次数。最后得到攻击成功后的扰动量δi,则扰动比例为:
[0035][0036]
进一步,步骤5具体包括:用决策边界攻击hsja方法对选定的干净样本进行攻击,得到对抗性扰动比例i=n+1,n+2,...,n+m,在这些扰动比例中,我们选取不同的值充当决策阈值进行试验,看方法的检测效果,如图3所示,显示了deepfool和fgsm对抗样本在不同阈值情况下的检测性能。可以看出,选取不同的阈值对检测成功率和干净样本在目标模型中的分类精度均有一定的影响。对fgsm对抗样本来说阈值影响稍微大一点,决策阈值t优选为0.05%。
[0037]
进一步,步骤6具体包括:将步骤4中获得的对抗性扰动比例di与步骤5中得到的决策阈值t进行比较,大于阈值的为干净样本,小于阈值的为对抗样本,公式如下:
[0038][0039]
其中,0表示对抗样本,1表示干净样本。
[0040]
本发明的工作原理是:
[0041]
对说话人语音信号进行数据预处理:获取每一段语音的原始波形时域数据,将数据划分为训练集和测试集并进行归一化处理。
[0042]
搭建声纹识别模型:预先指定声纹识别模型的结构和参数,且不再变化。适用于该识别模型的数据集也预先给定,即说话人语音样本,包含用来说话人识别的输入时域波形数据和相应的分类标签,数据集中的样本集应能被该模型以高精度预测输出。
[0043]
根据声纹识别模型设计对抗样本:选定几种常用的白盒对抗样本攻击方法。根据声纹识别模型参数对输入数据进行梯度方向的调整,使得输入样本在变化细微的情况下,使得声纹识别模型生成错误的标签。
[0044]
获得样本对抗性扰动比例:在训练模型阶段,我们训练了一个目标模型,用来生成对抗样本,另一个是检测模型,用来与目标模型进行比较。首先我们将样本(对抗样本或干净样本)分别输入到两个模型中,将两个模型得到的输出标签进行比较,若标签不一致,那我们将样本的对抗性扰动比例设定为0,若标签一致,我们利用决策边界攻击方法对标签没有变化的样本进行攻击,这会得到一个对抗性扰动比例。
[0045]
根据干净样本获取决策阈值:选定批量的干净样本,利用决策边界攻击方法对它们进行攻击,得到对应的对抗性扰动比例,在这些扰动比例中选定一个作为决策阈值,这个决策阈值应尽可能使得对抗样本的检测率高,干净样本的误检测率低。
[0046]
根据决策阈值对样本进行判断:将获得样本对抗性扰动比例步骤中获得的扰动比例与设定的决策阈值进行比较,将大于决策阈值的样本判断为干净样本,将小于决策阈值的样本判断为对抗样本。
[0047]
本发明核心在于:1.干净样本在模型之间的迁移能力大于对抗样本;2.在一般情况下,在模型的特征空间中,对抗样本相比于干净样本更靠近模型的决策边界,所以对抗样本跨越决策边界需要的距离更小,在这里我们利用hsja这个黑盒攻击方法的特性来攻击样本,将得到的扰动量来近似代替这段距离。我们提出的方法首先将样本在目标模型和检测模型之间迁移,判断样本的分类标签有没有改变,若改变则将检测值扰动比例设置为0,若标签没有改变,利用决策边界攻击方法对样本进行攻击,得到扰动比例,最后将得到的样本扰动比例值与我们确定的决策阈值进行比较来判断是不是对抗样本。本发明在声纹识别对抗样本检测中获得了极高的检测性能,有效提高了模型的安全性。
[0048]
本发明的优点是:能够准确的检测出数据中的对抗样本,有效的降低对抗样本带来的风险,加强声纹识别模型的安全性。
附图说明
[0049]
图1是本发明方法的流程示意图。
[0050]
图2a~图2d是本发明方法的决策边界攻击(hsja)方法原理图, 其中图2a是选取初始对抗样本后进行二分类查,图2b是预估梯度扰动方向,图2c是朝着扰动方向前进一步,图2d是再次进行二分类查。
[0051]
图3a~图3b是本发明方法的不同阈值下检测效果图,其中图3a 是fgsm对抗样本的效果,图3b是deepfool对抗样本的效果。
具体实施方式:
[0052]
下面结合附图进一步说明本发明方法的技术方案
[0053]
实例1:
[0054]
一种基于不同迁移能力和决策边界攻击方法的声纹识别对抗样本检测方法,含有以下步骤:
[0055]
(1)对说话人语音信号进行数据预处理;
[0056]
首先对现有的语音文件(.wav格式)进行数据提取,我们利用 librosa音频处理python工具包对说话人语音进行语音数据提取,如下:
[0057]
xi,sr=librosa(ti,sr=none),i=1,2,...n+m
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0058]
其中xi是提取的第i个说话人语音文件的语音数据,sr是语音数据的采样率,ti是第i个说话人语音文件。
[0059]
对语音信号数据集进行归一化处理,并将数据集d划分为训练集 d
train
与测试集d
test
,其中数据集
[0060]dtrain
={(x1,y1),(x2,y2),...,(xn,yn)}
[0061]dtest
={(x
n+1
,y
n+1
),(x
n+2
,y
n+2
),...,(x
n+m
,y
n+m
)}
[0062]
xi=(x
i1
,x
i2
,...,x
id
),d表示xi的数据长度,代表c类标签。归一化公式为:
[0063][0064]
其中表示归一化后的样本,max(xi)表示样本中d个采样点中最大值,归一化后
[0065]
(2)搭建声纹识别模型;预先指定分类模型的结构和参数,且不发生变化。本发明采样的分类模型结构主要包含1d卷积层,最大池化层,批归一化层,全连接层,具体结构见表1利用训练数据集进行训练,声纹识别分类模型如下:
[0066]
目标模型:
[0067][0068]
检测模型:
[0069][0070]ftarget
(
·
)和f
detect
(
·
)代表模型输出的概率向量。
[0071]
(3)根据声纹识别模型设计对抗样本;
[0072]
对抗样本定义为:
[0073][0074]
其中,δi为添加到原样本上的扰动。
[0075]
这里以基于优化的对抗攻击方法为例说明对抗样本生成。基于优化的攻击方法本质是一种基于梯度的对抗样本生成方法。
[0076]
优化函数定义为:
[0077][0078][0079]
(4)获得样本对抗性扰动比例;将混合样本集(包含干净样本和对抗样本)分别输入目标模型和检测模型,得到模型输出和则对应模型输出标签为为比较t
detect
与t
target
是否一致。若不一致则设定扰动比例若一致则对该样本进行决策边界攻击。此处我们采样 hopskipjumpattack(hsja)决策边界攻击方法,该攻击方法所得到的对抗样本将非常逼近于模型的决策边界,该攻击方法原理见图2。主要有3个步骤:1梯度方向估计;2通过几何级数进行步长搜索; 3通过二分类法进行边界搜索。对于无目标攻击,hsja攻击首先从均匀分布中采样一个初始对抗样本x

t
,然后进行二分类搜索查询决策边界,同时更新x

t

x
t
;在更新后的对抗样本x
t
处估计梯度方向,梯度方向由蒙特卡洛方法近似估计;接着通过几何级数进行步长搜索,同时更新x
t

x

t+1
;接下来在进行二分类搜索;重复以上步骤,直至到达最大迭代次数。最后得到攻击成功后的扰动量δi,则扰动比例为:
[0080][0081]
(5)根据干净样本获取决策阈值;用决策边界攻击hsja方法对选定的干净样本进行攻击,得到对抗性扰动比例i=n+1,n+2,...,n+m,在这些扰动比例中,我们选取不同的值充当决策阈值进行试验,看方法的检测效果,如图3所示,显示了deepfool和fgsm对抗样本在不同阈值情况下的检测性能。可以看出,选取不同的阈值对检测成功率和干净样本在目标模型中的分类精度均有一定的影响。对fgsm对抗样本来说阈值影响稍微大一点,最终我们设定的决策阈值t为0.05%。
[0082]
(6)根据决策阈值对样本进行判断;将步骤4中获得的对抗性扰动比例与步骤5中得到的决策阈值t进行比较,大于阈值的为干净样本,小于阈值的为对抗样本,公式如下:
[0083][0084]
其中,0表示对抗样本,1表示干净样本。
[0085]
实施例2:实际试验中的数据
[0086]
(1)选取实验数据
[0087]
实验所用数据集为aishell-1语音数据集,此数据集收集了不同年龄段,不同性别,不同地区说话者在安静环境下录制的语音,采样率为16000。我们选择20人的语音作为声纹识别模型的数据集,对于每一句语音我们提取的原始波形时域数据长度为60000。数据预处理保存为(bathsize,60000,1)的数组的数据集并生成对应的标签数据,处理后的数据集均保存为.npy文件。
[0088]
(2)实验结果
[0089]
本发明利用了5种攻击算法(fgsm,bim,pgd,deepfool,cw)生成了5种对抗样本,利用本发明提出的检测方法对5种对抗样本进行检测,利用检测成功率acc和误检测率fpr作为检测方法的检测效果,并且与其他检测方法进行了对比,实验结果如表2,表3所示。
[0090]
表1声纹识别模型结构
[0091]
[0092][0093]
表2检测成功率
[0094][0095]
表3误检测率
[0096][0097]
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

技术特征:


1.基于不同迁移能力和决策边界攻击的声纹识别对抗样本的检测方法,其特征在于,包括以下步骤:步骤1:对说话人语音信号进行数据预处理;步骤2:搭建声纹识别模型;步骤3:根据声纹识别模型设计对抗样本;步骤4:获得样本对抗性扰动比例;步骤5:根据干净样本获取决策阈值;步骤6:根据决策阈值对样本进行判断。2.如权利要求1所述的基于不同迁移能力和决策边界攻击的声纹识别对抗样本的检测方法,其特征在于,步骤1具体包括:首先对现有的语音文件(.wav格式)进行数据提取,我们利用librosa音频处理python工具包对说话人语音进行语音数据提取,如下:x
i
,sr=librosa(t
i
,sr=none),i=1,2,...n+m
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中x
i
是提取的第i个说话人语音文件的语音数据,sr是语音数据的采样率,t
i
是第i个说话人语音文件;对语音信号数据集进行归一化处理,并将数据集d划分为训练集d
train
与测试集d
test
,其中数据集d
train
={(x1,y1),(x2,y2),...,(x
n
,y
n
)}d
test
={(x
n+1
,y
n+1
),(x
n+2
,y
n+2
),...,(x
n+m
,y
n+m
)}x
i
=(x
i1
,x
i2
,...,x
id
),d表示x
i
的数据长度,代表c类标签;归一化公式为:其中表示归一化后的样本,max(x
i
)表示样本中d个采样点中最大值,归一化后3.如权利要求1所述的基于不同迁移能力和决策边界攻击的声纹识别对抗样本的检测方法,其特征在于,步骤2具体包括:声纹识别模型结构包含1d卷积层,最大池化层,批归一化层,全连接层,具体结构见表1利用训练数据集进行训练,声纹识别分类模型如下:目标模型:检测模型:f
target
(
·
)和f
detect
(
·
)代表模型输出的概率向量。4.如权利要求1所述的基于不同迁移能力和决策边界攻击的声纹识别对抗样本的检测方法,其特征在于,步骤3所述的对抗样本定义为:其中,δ
i
为添加到原样本上的扰动;;优化函数定义为:
5.如权利要求1所述的基于不同迁移能力和决策边界攻击的声纹识别对抗样本的检测方法,其特征在于,步骤4具体包括:将包含干净样本和对抗样本的混合样本集分别输入目标模型和检测模型,得到模型输出和则对应模型输出标签为比较t
detect
与t
target
是否一致;若不一致则设定扰动比例若一致则对该样本进行决策边界攻击;此处采取hopskipjumpattack(hsja)决策边界攻击方法,该攻击方法所得到的对抗样本将非常逼近于模型的决策边界,;有3个步骤:1梯度方向估计;2通过几何级数进行步长搜索;3通过二分类法进行边界搜索;对于无目标攻击,hsja攻击首先从均匀分布中采样一个初始对抗样本x

t
,然后进行二分类搜索查询决策边界,同时更新x

t

x
t
;在更新后的对抗样本x
t
处估计梯度方向,梯度方向由蒙特卡洛方法近似估计;接着通过几何级数进行步长搜索,同时更新x
t

x

t+1
;接下来在进行二分类搜索;重复以上步骤,直至到达最大迭代次数;最后得到攻击成功后的扰动量δ
i
,则扰动比例为:6.如权利要求1所述的基于不同迁移能力和决策边界攻击的声纹识别对抗样本的检测方法,其特征在于,步骤5具体包括:用决策边界攻击hsja方法对选定的干净样本进行攻击,得到对抗性扰动比例在这些扰动比例中,选取不同的值充当决策阈值进行试验。7.如权利要求6所述的基于不同迁移能力和决策边界攻击的声纹识别对抗样本的检测方法,其特征在于,决策阈值t设为0.05%。8.如权利要求1所述的基于不同迁移能力和决策边界攻击的声纹识别对抗样本的检测方法,其特征在于,步骤6具体包括:将步骤4中获得的对抗性扰动比例与步骤5中得到的决策阈值t进行比较,大于阈值的为干净样本,小于阈值的为对抗样本,公式如下:其中,0表示对抗样本,1表示干净样本。

技术总结


基于不同迁移能力和决策边界攻击的声纹识别对抗样本的检测方法,首先对说话人信号进行数据预处理,划分为训练集和测试集;根据训练数据搭建声纹识别模型;利用不同的对抗攻击方法在目标模型上生成对抗样本;将干净样本和对抗样本的混合样本集输入目标模型和检测模型中,得到对应的两个标签,比较标签是否一致,若不一致,设定检测值即对抗扰动比例为0,若标签一致则利用决策边界攻击方法对标签不变的样本进行攻击,来获得对抗扰动比例;在干净样本集中利用决策边界攻击,来获得一批对抗扰动比例,在这些扰动比例中确定检测的决策阈值;利用确定的决策阈值来检测对抗样本,若样本的扰动比例值大于阈值,则样本为干净样本,反之为对抗样本。为对抗样本。为对抗样本。


技术研发人员:

徐东伟 蒋斌 房若尘 宣琦

受保护的技术使用者:

浙江工业大学

技术研发日:

2022.06.09

技术公布日:

2022/10/13

本文发布于:2024-09-25 18:16:25,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/26237.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:样本   阈值   模型   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议