【技术实现步骤摘要】
基于变分自编码器的成员推理攻击抵御方法
[0001]本专利技术属于机器学习安全领域,具体涉及一种成员推理攻击抵御方法,可用于防止机器学习模型的训练数据被泄露。
技术介绍
[0002]随着机器学习技术的迅速发展,机器学习模型的性能也越来越好,越来越多的机器学习模型被用来服务人类,给人们带来了极大的便利,这得益于训练数据的数量和质量的提升。但是机器学习模型训练所需要的数据往往包含着人们的隐私信息,比如病历、财务信息等。而成员推理攻击作为一种有效窃取机器学习模型训练数据的方法,一直以来都受到广泛的关注,并且在各个领域都得到了实现,比如图像识别、目标检测、定位系统等等。因为机器学习模型对于训练数据和非训练数据的输出结果是有较大差异的,所以成员推理攻击就是通过构建一个攻击模型,它能够识别数据在机器学习模型中差异,并以此来区分输入的数据是否属于训练数据。因此,如何抵御成员推理攻击成为了机器学习领域中的一个热门话题,也是非常重要的一个研究方向。
[0003]针对成员推理攻击,目前已经有人提出了不少的抵御方法,但现有的成员推理抵御方 ...
【技术保护点】
【技术特征摘要】
1.一种基于变分自编码器的成员推理攻击抵御方法,其特征在于,包括:(1)划分数据集:随机将现有的FASHION
‑
MNIST数据集平均划分为训练集D和非训练集D
’
,并分别从中获取子集D1,D1
’
;(2)构建一个依次由卷积层、池化层、隐藏层、全连接层组成的卷积神经网络,初始化网络的各项参数,设置损失函数为交叉熵函数;(3)构建由均值编码器、方差编码器和译码器组成的变分自编码器,设置其损失函数为重构损失函数;(4)构建依次由6层全连接层组成的推理攻击网络模型,初始化该网络模型的各项参数,设定攻击损失函数为:其中,h*和h'为推理攻击网络模型的输出结果,分别表示推理出训练数据的成功概率和失败概率;(5)选用非训练数据集D
’
,对卷积神经网络和推理攻击网络模型同时进行训练:(5a)将非训练数据集D
’
中的非训练数据样本输入到卷积神经网络,并将其输出结果和非训练数据样本对应的标签作为推理攻击网络模型的输入,得到推理攻击网络模型的输出结果;(5b)根据推理攻击网络模型的输出结果,采用小批量梯度下降算法对卷积神经网络和推理攻击网络模型的参数进行更新,直到它们的损失函数都收敛,得到训练好的卷积神经网络和推理攻击网络模型;(6)对变分自编码器和推理攻击网络模型进行对抗训练:6a)设定对抗损失函数为:Loss=min{L+λ*[max(maxGain+1,0)]}其中,maxGain为变分自编码器的重构损失函数,maxGain为影响因子,maxGain为本次训练中推理攻击模型的最大输出值;6b)从训练集的子集D1中获取训练子数据x1输入到变分自编码器中,得到新生成的数据x*,并将x*输入到训练后的卷积神经网络中,得到训练预测向量V*;6c)从非训练子集D1
’
中获取非训练子数据x1
’
,输入到训练好的卷积神经网络中,得到卷积神经网络对输入数据的非训练预测向量V
’
;6d)将6b)和6c)的结果V*和V
’
分别输入到训练好的推理攻击模型中,分别得到攻击模型对于x*和x1
’
的判定结果向量h*和h
’
;6e)根据判定结果向量h*和h
’
,选用梯度下降算法对训练好的推理攻击模型和变分自编码器的模型参数进行更新;6f)重复以上6b)
‑
6e),直到对抗损失函数基本稳定,模型收敛,得到训练好的变分自编码器;(7)将训练集D中的数据输入训练好的变分自编码器中,得到新生数据集D*,该新生数据集D*的标签与训练集D的标签保持一致,将新生数据集D*分批次输入到训练前的卷积神经网络中,选用批量梯度下降算法对该网络进行训练,直到网络的损失函数收敛,得到训练好的防御卷积神经网络;
(8)将新生数据集D*的数据作为训练好的防御卷积神经网络的输入,输出添加防御后的预测分类结果;(9)将防御卷积神经网络的输出和新生数据集D*中数据对应的标签输入到训练好的推理攻击模型,输出添加防御后的预测攻击结果。2.根据权利要求1所述的方法,其特征在于,(2)中对卷积神经网络的各项参数初始化如下:卷积层数量设置为4,各个卷积层中卷积核的个数和大小分别设置为32和5*5、64和5*5、128和3*3、128和3*3;激活函数选用Relu函数;池化层的尺寸设置为2*2;全连接层数量设置为3,尺寸设置为d*1024,1024*512,512*n,其中d为最后一层卷积层的...
【专利技术属性】
技术研发人员:朱笑岩,吴涛,张琳杰,郑超,冯鹏斌,马建峰,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。