面向成员推理攻击的基于异常点检测的深度模型隐私保护方法

文档序号:26349923发布日期:2021-08-20 20:22阅读:168来源:国知局
面向成员推理攻击的基于异常点检测的深度模型隐私保护方法

本发明属于人工智能安全领域,尤其是涉及一种面向成员推理攻击的基于异常点检测的深度模型隐私保护方法。



背景技术:

机器学习技术广泛应用于图像分类、自然语言处理、金融分析等领域。作为一种日益流行的商业模式,许多公司(例如,谷歌,微软和亚马逊)将机器学习部署为服务(mlaas)为不同的客户提供各种功能,如数据处理,模型训练和数据预测。用户可以将数据上传到这些服务提供商来训练自己的模型,也可以用黑盒的方式来公布这些模型。其他人拥有对这些模型的访问权,但不知道这些模型内部的具体信息(内部参数)。另一方面,用户上传的数据是自己独有的隐私数据,如用户的位置、图像、医疗保健和财务信息等。

然而,最近有研究表明,攻击者可以通过成员推理攻击来推断机器学习模型的训练数据信息。成员推理攻击是通过查询模型,来判断输入样本是否为模型的训练数据。攻击者首先训练成员推断模型,该模型实质上是一个二进制分类器。然后,攻击者根据目标模型的输出,使用经过训练的成员推断模型来确定给定数据是否属于目标模型的训练集。如果对手可以正确地推断出特定数据被用来训练目标模型,则目标模型存在隐私泄露的风险。

目前提出了成员推理攻击的防御方法主要是在模型的训练过程中进行防御。最具有代表性的是对抗正则化方法。该方法借鉴了gan的思路,其主要思想是将目标模型与成员推理模型进行对抗式训练。训练过程中,一方面提升目标模型对成员推理模型的防御能力,一方面增加成员推理模型对目标模型的攻击能力,在结束迭代后,训练好的目标模型面对攻击能力强大的成员推理模型依然能有较好的防御效果。然而,这种防御方法存在一定的局限性。经过对抗式训练的目标模型对正常样本的预测准确率有明显的下降,且因为损失函数的改变,目标模型在训练过程中不容易收敛。



技术实现要素:

为解决现有技术存在的上述问题,本发明提供了一种面向成员推理攻击的基于异常点检测的深度模型隐私保护方法,可以消除传统防御方法存在的梯度不稳定、训练不收敛、收敛速度慢等问题,达到较好的防御性能。

一种面向成员推理攻击的基于异常点检测的深度模型隐私保护方法,包括以下步骤:

(1)获取图像数据集,按比例分成目标模型训练集和目标模型测试集;

(2)搭建目标模型,利用目标模型训练集训练目标模型;

(3)通过检测目标模型训练集的样本,从中挑选出容易受到成员推理攻击的样本,具体过程如下:

(3-1)建立k个参考模型,参考模型的结构与目标模型的结构相同;

(3-2)建立k个参考模型训练集,参考模型训练集与目标模型训练集中的待测样本无重叠,并分别对k个参考模型进行训练;参考模型训练方式与目标模型训练方式相同;

(3-3)选取步骤目标模型训练集中的一个待测样本x输入参考模型r1,提取参考模型softmax层前的特征o1;后将待测样本输入参考模型r2,提取参考模型softmax层前的特征o2,重复上述过程直到获取待测样本x在k个参考模型下的特征;将k个特征拼接起来组成f作为待测样本x的样本特征;

(3-4)重复步骤(3-3),建立目标模型训练集中所有待测样本的样本特征;并计算两两样本特征的余弦距离;

(3-5)计算每个待测样本的局部离群因子,若局部离群因子大于1,则认为待测样本为异常样本;

(4)将步骤(3-5)得到的异常样本输入到m个参考模型中,获取模型输出;定义log损失函数:

l=-logpy

式中,y是异常样本的标签,则py是模型预测异常样本为y的概率;利用m个log损失值建立经验累积分布函数f(l),该函数以log损失值l为输入;

(5)将待检测的异常样本输入目标模型,获取目标模型的输出py,从而得到该样本的log损失值l;将l输入步骤(5)中建立的经验累积分布函数f(l)得到输出p;比较p与阈值α,如果p小于α,则认为该异常样本是目标模型的训练样本;

(6)将步骤(5)中被检测成目标模型训练样本的异常样本从目标模型训练集中删除,用剩余的目标模型训练集重新训练目标模型,使该目标模型对成员推理攻击有较好的防御效果。

进一步地,步骤(2)中,所述的目标模型采用vgg-16网络,由13层卷积层和3层全连接层组成。

所述目标模型训练的损失函数在交叉熵函数基础上添加了正则化项:

式中,p()表示样本的真实标签,q()表示模型的预测概率,w表示模型的内部参数,λ表示正则化系数,是一个常数。

进一步地,步骤(3-3)中,计算两两样本特征的余弦距离的公式为:

其中,f1作为待测样本x1的样本特征,f2作为待测样本x2的样本特征。

进一步地,步骤(3-5)中,计算每个待测样本的局部离群因子过程如下:

(3-5-1)定义d(o,p)为o,p两点的距离;

(3-5-2)定义dk(o)为点o的第k距离,dk(o)=d(o,p);

(3-5-3)定义点o的第k距离邻域为nk(o),即点o的第k距离以内的所有点,包括第k距离;

(3-5-4)定义点p到点o的第k可达距离为

dk(o,p)=max{dk(o),d(o,p)}

表示点p到点o的第k可达距离至少是点o的第k距离;距离o点最近的k个点,它们到o的可达距离被认为是相等的,且都等于dk(o);

(3-5-5)定义局部可达密度

表示点o的第k邻域内所有点到点o的平均可达距离的倒数,位于第k邻域边界上的点即使个数大于1,也仍将该范围内点的个数计为k;

(3-5-6)定义局部离群因子

表示点o的领域nk(o)内其他点的局部可达密度与点o的局部可达密度比的平均值。

进一步地,步骤(3-5-2)中,点p是距离点o最近的第k个点,满足以下条件:

a)在集合中至少有不包括o在内的k个点p′∈c{x≠o},满足d(o,p′)≤d(o,p);

b)在集合中最多有不包括o在内的k-1个点p′∈c{x≠o},满足d(o,p′)<d(o,p)。

进一步地,步骤(5)中,所述阈值α为0.01。

与现有技术相比,本发明具有以下有益效果:

1、通过联合正则化和检测异常样本的防御方法,消除了传统防御方法存在的梯度不稳定、训练不收敛、收敛速度慢等问题。

2、通过在解决模型过拟合的基础上,删除训练集中的容易受到成员推理攻击的样本,不仅能达到较好的防御性能,且没有显著降低目标模型对正常样本的分类性能。

附图说明

图1为本发明方法的工作流程;

图2为本发明方法建立样本特征的架构图;

图3为本发明方法检测异常样本的流程图。

具体实施方式

下面结合附图和实施例对本发明做进一步详细描述,需要指出的是,以下所述实施例旨在便于对本发明的理解,而对其不起任何限定作用。

本发明的技术构思为:模型过拟合是成员推理攻击的主要原因,通过正则化方法,缓解目标模型的过拟合程度,使成员推理攻击的性能降低,但此时依然有少量样本容易受到成员推理攻击。为进一步提高防御性能,本发明通过检测异常样本,找出容易受到成员推理攻击的样本,从模型的训练集中删除这些异常样本,重新训练目标模型,可以有效防御成员推理攻击。

如图1所示,一种面向成员推理攻击的基于异常点检测的深度模型隐私保护方法,包括以下步骤:

1)建立目标模型数据集

本发明选择cifar-10数据集作为目标模型数据集,该数据集共有60000张3通道(rgb)的彩色图像,每张图像大小为32*32,分为10个类,每类6000张图。这里面有50000张用于训练,构成了5个训练批,每一批10000张图;另外10000用于测试,单独构成一批。测试批的数据里,取自10类中的每一类,每一类随机取1000张。本发明从50000张训练样本里取20000张作为目标模型的训练集,10000张测试样本作为目标模型的测试集。

2)搭建目标模型

本发明选择vgg-16作为目标模型。vgg-16主要由13层卷积层和3层全连接层组成。主要结构包含卷积层、池化层和全连接层。其中卷积层主要用来提取输入图像的特征,生成特征图。池化层分为:最大池化层和平均池化层,这里使用最大池化。通过卷积层提取的特征在相似的区域有相似的特征信息,存在信息冗余的现象,增加计算负担,池化层则可以有效过滤冗余信息。

3)训练目标模型

通过将步骤1)中的目标模型训练集输入到目标模型中训练目标模型。损失函数在交叉熵函数基础上添加了正则化项,缓解模型的过拟合程度,如公式(7)所示。优化方法使用adam。后设置学习率lr=0.0001、迭代步数epoch=200、和训练批数batch=32。

上式中p()表示样本的真实标签,q()表示模型的预测概率,w表示模型的内部参数,λ表示正则化系数,是一个常数。

4)检测异常样本

通过检测目标模型训练集的样本,从中挑选出容易受到成员推理攻击的样本。检测异常样本的主要步骤如下:首先计算待测样本的局部可达密度,后计算待测样本的局部离群因子,决定该样本是否为异常样本。本发明认为局部离群因子越大的样本越有可能是异常样本。为了计算待测样本的局部可达密度,需要训练参考模型。将待测样本输入参考模型获取待测样本的特征,从而组成待测样本的特征向量。

4.1)建立参考模型;建立k个参考模型,用来模仿目标模型的预测行为。参考模型的结构与目标模型的结构相同,选用vgg-16作为参考模型。

4.2)建立参考模型训练集;建立k个参考模型训练集。参考模型训练集与目标模型训练集都从cifar-10数据集中获取。参考模型训练集不能包含待测样本,参考模型训练集与目标模型训练集大小相同。通过从cifar-10中的50000张训练样本中随机抽取20000张作为参考模型训练集。

4.3)参考模型训练;参考模型训练方式与目标模型训练方式相同。通过将步骤4.2)中建立的参考模型训练集输入到参考模型中训练参考模型。损失函数在交叉熵函数的基础上添加了正则化项,从而缓解模型的过拟合程度,如公式(7)所示。优化方法使用adam。后设置学习率lr、迭代步数epoch、和训练批数batch等。

4.4)建立样本特征;如图2所示,将待测样本x输入参考模型r1,提取参考模型softmax层前的特征o1,后将待测样本输入参考模型r2,提取参考模型softmax层前的特征o2,重复上述过程直到获取待测样本x在k个参考模型下的特征。将上述k个特征拼接起来组成f作为待测样本x的样本特征。

4.5)计算样本距离;重复4.4)中过程,建立目标模型训练集中样本的样本特征。计算两个样本特征的余弦距离,具体公式(8)所示。

4.6)检测异常样本;

定义d(o,p)为o,p两点的距离。本发明采用余弦距离衡量两点之间的距离。计算样本点之间的余弦距离。

定义dk(o)为点o的第k距离,dk(o)=d(o,p),并且满足:

a)在集合中至少有不包括o在内的k个点p′∈c{x≠o},满足d(o,p′)≤d(o,p)。b)在集合中最多有不包括o在内的k-1个点p′∈c{x≠o},满足d(o,p′)<d(o,p)。即点p是距离点o最近的第k个点。

定义点o的第k距离邻域为nk(o),就是点o的第k距离以内的所有点,包括第k距离。

定义点p到点o的第k可达距离为:

dk(o,p)=max{dk(o),d(o,p)}(9)

表示点p到点o的第k可达距离至少是点o的第k距离。距离o点最近的k个点,它们到o的可达距离被认为是相等的,且都等于dk(o)。

计算待测样本的局部可达密度。

定义局部可达密度:

表示点o的第k邻域内所有点到点o的平均可达距离的倒数,位于第k邻域边界上的点即使个数大于1,也仍将该范围内点的个数计为k。如果点o和周围邻域点是同一簇,那么可达距离越可能为较小的dk(o),导致可达距离之和越小,局部可达密度越大。如果点o和周围邻域点较远,那么可达距离可能会取较大值,导致可达距离之和越大,局部可达密度越小。

计算待测样本的局部离群因子,若局部离群因子大于1,则认为待测样本为异常样本,如图3所示。

定义局部离群因子:

表示点o的领域nk(o)内其他点的局部可达密度与点o的局部可达密度比的平均值。如果这个比值越接近1,说明点的邻域点密度相差不多,点o很可能和邻域同属一簇;如果这个比值小于1,说明点o的密度高于其邻域点密度,点o为密集点,点o很可能和邻域同属一簇;如果这个比值大于1,说明点o的密度小于其邻域点密度,点o是异常点。

5)检测成员数据

5.1)建立经验累积分布函数;将步骤4.6)中得到的异常样本输入到m个参考模型中,获取模型输出py。y是异常样本的标签,则py是模型预测异常样本为y的概率。定义log损失函数:

l=-logpy(12)

利用m个log损失值建立经验累积分布函数f(l),该函数以log损失值l为输入。

5.2)判定成员数据;

将待检测的异常样本输入目标模型,获取目标模型的输出py,从而得到该样本的log损失值l。将l输入5.4)中建立的经验累积分布函数f(l)得到输出p。根据假设检验,设无效假设h0:该异常样本不是目标模型的训练样本。备择假设h1:该异常样本是目标模型的训练样本。比较p与阈值α,如果p小于α(设置为0.01),则无效假设不成立,则认为该异常样本是目标模型的训练样本。

6)删除异常样本,重训练目标模型

将步骤5.2)中被检测成目标模型训练样本的异常样本从目标模型训练集中删除。

用剩余的样本重新训练目标模型,将训练好的目标模型应用于图片分类等任务,该目标模型对成员推理攻击有较好的防御效果。

以上所述的实施例对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的具体实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1