一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种机器学习中的针对属性推理攻击的防御方法与流程

2022-11-13 12:39:03 来源:中国专利 TAG:
原始输入样本的基础上添加扰动,生成恶意样本,使得模型针对此样例生成错误预测标签, 同时人的肉眼还无法区分原始样本和恶意样本。模型反演攻击针对模型训练集进行攻击,偷 取训练集相关信息。该攻击通过使用模型本身或模型预测api推断训练集的属性。获取的属 性是模型所有者不希望泄露的,即该属性信息是敏感的。该攻击额外使用一个攻击模型来提 取隐藏在模型结构、参数或预测中的有关训练集的敏感信息。模型反演攻击具体又分为两种 攻击:成员推理攻击(membership inference attack),属性推理攻击(property inference attack)。 为文献4(shokri r,stronati m,song c,et al.membership inference attacks against machinelearning models[c]//2017ieee symposium on security and privacy(sp).ieee,2017:3-18)中公 开了成员推理攻击可以在获取模型结构、参数的白盒条件下或使用模型预测api的黑盒条件 下,推断模型训练集中是否包含某个特定样本。文献5(ateniese g,mancini l v,spognardia,et al.hacking smart machines with smarter ones:how to extract meaningful data from machinelearning classifiers[j].international journal of security and networks,2015,10(3):137-150)中公 开了属性推理攻击在获取模型结构、参数的白盒条件下,推断模型训练集的全局属性。
[0005]
属性推理攻击是针对模型训练集的攻击,攻击者通过特定的攻击策略训练得到一个攻击模型来推测目标模型训练集所具有的全局属性,例如,人脸识别模型训练集中男女比例为1:1,医疗诊断模型训练集中某类病人所占整个数据集的比例。这类攻击被广泛应用于各种机器学习场景,例如,支持向量机模型,隐马尔可夫模型,迁移学习,联邦学习等。针对上述攻击,目前还完全没有任何防御策略。
[0006]
公开号为cn113259369a的发明中公开了一种基于机器学习成员推断攻击的数据集认证方法及系统。该发明只能基于认证模型,对成员指纹数据进行概率判断,由此判定可疑模型是否由物联网数据集训练得到,不能解决针对机器学习模型的属性推理攻击问题。
[0007]
公开号为cn111310819a的发明中公开了一种数据筛选方法、装置、设备及可读存储介质。该发明基于协调方配置的误差范围对数据集进行筛选,使得参与方的训练数据相似而又有差异,可以充分利用参与方拥有的训练数据的多样性,最大利用联邦学习的优势,训练更好的模型。该发明需要合理配置误差范围,同时也无法解决针对机器学习模型的属性推理攻击问题。


技术实现要素:

[0008]
解决的技术问题:本发明针对机器学习中的属性推理攻击防御方法进行研究,首次提出属性推理攻击的防御方法;在保证机器学习模型效用的前提下,提高模型的安全性,最终实现高效用、高安全性机器学习模型的训练方法。
[0009]
技术方案:一种机器学习中的针对属性推理攻击的防御方法,所述机器学习模型构建方法包括以下步骤:s1,根据应用场景选择或者构建机器学习模型,生成与机器学习模型对应的原始数据集;基于原始数据集构造得到伪装数据集,伪装数据集与原始数据集的特征空间相同但统计分布不同;
s2,对原始数据集和伪装数据集进行预处理,排除其中存在的噪声;s3,采用预处理后的原始数据集和伪装数据集对机器学习模型进行训练,将训练完成的机器学习模型命名为投票模型;s4,基于原始数据集重新构造新的伪装数据集,采用投票模型对新的伪装数据集进行数据筛选,对于新的伪装数据集中的每一条样本,使用投票模型的输出作为其新的标签,完成对新的伪装数据集的重构,将重构后的伪装数据集和原始数据集共同参与训练,生成新的投票模型,迭代次数加一;s5,重复步骤 s4,直至迭代次数达到最大迭代次数 ,为大于1的正整数。
[0010]
进一步地,步骤s1中,基于原始数据集构造得到伪装数据集的过程包括以下子步骤:s11,假设给定的原始数据集为,其中表示原始数据集中第i个样本特征,表示第i个样本特征对应标签,原始数据集共有n个这样的特征标签对,通过特征提取得到该原始数据集的特征、标签及其相应的取值范围;s12,查找是否存在与原始数据集的特征空间相同但统计分布不同的已公开的数据集,如果有,从查找得到的数据集中抽取数量为n的样本,生成伪装数据集,否则,转入步骤s13;s13,使用得到的特征及标签构造得到原始数据集的全值域特征空间,在该全值域特征空间中随机抽取数量为n的样本构造生成伪装数据集,表示伪装数据集中第j个样本特征,表示第j个样本特征对应标签。
[0011]
进一步地,步骤s2中,对原始数据集和伪装数据集中的样本依次进行数据清洗、数据归约和数据变换,完成对原始数据集和伪装数据集的预处理。
[0012]
进一步地,步骤s3中,采用预处理后的原始数据集和伪装数据集对机器学习模型进行训练,将训练完成的机器学习模型命名为投票模型的过程包括以下子步骤:初始化机器学习模型,表示模型将特征映射到标签;对机器学习模型的损失函数进行改进,得到;其中是常数,且1,表示计算对于原始数据集中的特征模型决策标签和真实标签之间的损失,表示计算对于伪装数据集中的特征模型决策标签和真实标签之间的损失;通过最小化改进后的损失函数,并使用随机梯度下降法,逐步完成模型的学习
过程,直到模型准确率达到预先所设定的阈值后结束训练,得到机器学习模型;其中,模型训练过程中,同时使用原始数据集和伪装数据集两个数据集参与模型的训练;在训练时,通过不断调整的大小,让机器学习模型在原始数据集和伪装数据集上的达到效用和特征表示之间的平衡,使得模型既保证在原始数据集上的模型效用,模型的特征表示又更偏向于显示出模型是在伪装数据集上训练得到的。
[0013]
进一步地,步骤s4中,一次迭代过程包括以下步骤:假设上一轮迭代得到的投票模型为;重新获得一个样本数量为n的伪装数据集,其中表示在第1次迭代时伪装数据集中第j个样本特征,表示在第1次迭代时伪装数据集中第j个标签。
[0014]
对于伪装数据集中的每一条样本,输入到投票模型中,得到对应于该样本的输出;若投票模型的输出与该样本原本的标签相同,则保持不变,若不同,则使用投票模型的输出作为该样本的新标签;生成新的伪装数据集,其中表示第j个样本特征经过投票模型修正过后的标签;使用原始数据集及新的到的伪装数据集共同参与机器学习模型训练,以得到新的投票模型。
[0015]
进一步地,所述机器学习模型构建方法还包括以下步骤:s6,重复迭代,得到个投票模型后,采用这个投票模型在全值域数据集中进行筛选得到最终的伪装数据集。
[0016]
进一步地,步骤s6中,采用这个投票模型在全值域数据集中进行筛选得到最终的伪装数据集的过程包括以下步骤:s61,在目标模型的训练集输入空间中随机选取一条数据样本,个投票模型分别针对这条样本做出预测,预测过程为:对样本标签进行投票,最终使用票数最高的预测结果作为该条样本的标签;s62,重复步骤s61,直至得到一批样本构成伪装数据集。
[0017]
进一步地,所述机器学习模型包括支持向量机模型、隐马尔可夫模型、迁移学习模型和联邦学习模型。
[0018]
进一步地,所述应用场景包括目标识别、任务分类、概率预测和推荐优化。
[0019]
有益效果:第一,本发明的机器学习中的针对属性推理攻击的防御方法,提出了一种新的数据集的构造方式,使得使用该数据集训练得到的机器学习模型既能够保证在原始数据集上的效用,又能够模糊原始数据集的全局属性特征,使得属性推理攻击错误的判断原始数据集的全局属性信息。
[0020]
第二,本发明的机器学习中的针对属性推理攻击的防御方法,改进了传统机器学习模型训练时的损失函数,使得两个不同但相似的数据集能够同时参与机器学习模型的训练。
[0021]
第三,本发明的机器学习中的针对属性推理攻击的防御方法,首次提出针对属性推理攻击的防御方法。通过该方法训练得到的机器学习模型可以显著的减少受到属性推理攻击的威胁,避免模型的隐私被泄露,确保了机器学习模型的隐私安全。
[0022]
第四,本发明的机器学习中的针对属性推理攻击的防御方法,能够广泛应用于工业领域的各种典型的机器学习模型,包括支持向量机模型、隐马尔可夫模型、迁移学习模型和联邦学习模型,以完成不同应用场景的学习任务,例如目标识别、任务分类、概率预测和推荐优化等等。
附图说明
[0023]
图1为本发明实施例的机器学习中的针对属性推理攻击的防御方法流程图;图2为迭代过程示意图。
具体实施方式
[0024]
下面的实施例可使本专业技术人员更全面地理解本发明,但不以任何方式限制本发明。
[0025]
本实施例直观上提出在模型训练过程中,使用“原始数据集 伪装数据集迭代训练”的方式,使得最终得到的模型即可以保证在原始数据集上的效用,又使得模型本身的特征偏向于伪装数据集,导致属性推理攻击失效。基于此观点,本实施例对属性推理攻击及防御展开研究,提出一种属性推理攻击防御方法。
[0026]
参见图1,本实施例提出了一种机器学习中的针对属性推理攻击的防御方法,所述机器学习模型构建方法包括以下步骤:s1,根据应用场景选择或者构建机器学习模型,生成与机器学习模型对应的原始数据集;基于原始数据集构造得到伪装数据集,伪装数据集与原始数据集的特征空间相同但统计分布不同。
[0027]
s2,对原始数据集和伪装数据集进行预处理,排除其中存在的噪声。
[0028]
s3,采用预处理后的原始数据集和伪装数据集对机器学习模型进行训练,将训练完成的机器学习模型命名为投票模型。
[0029]
s4,基于原始数据集重新构造新的伪装数据集,采用投票模型对新的伪装数据集进行数据筛选,对于新的伪装数据集中的每一条样本,使用投票模型的输出作为其新的标签,完成对新的伪装数据集的重构,将重构后的伪装数据集和原始数据集共同参与训练,生
成新的投票模型,迭代次数加一。
[0030]
s5,重复步骤 s4,直至迭代次数达到最大迭代次数m。
[0031]
本实施例的防御方法具体的实施步骤分为3部分,分别是:(1)伪装数据集的构造该发明所提出的属性推理攻击防御方法中,需要额外使用一个统计分布与原始数据集不同的伪装数据集,所以,该步骤构造一个满足条件的伪装数据集。首先,若存在与原始数据集相似且公开的数据集,可直接作为伪装数据集进行使用。若不存在这样一个数据集,则需要在原始数据集的全值域输入空间中,随机构造每一项样本特征的值,来人为的构造一批样本,构成一个统计分布为平均分布的数据集来充当伪装数据集。
[0032]
具体步骤如下:(11)假设给定的原始数据集为,通过特征提取得到该数据集的特征,标签及其相应的取值范围。
[0033]
(12)使用得到的特征及标签构造一个该数据集的全值域特征空间。然后,在该特征空间中随机抽取数量为n的样本构造成一个新的数据集——伪装数据集。
[0034]
(13)若存在公开的,与原始数据集统计分布不同,但特征空间相同的公开数据集,也可以直接从中抽取数量为n的样本作为步骤(2)训练使用的伪装数据集。
[0035]
(2)针于伪装数据集防御策略的模型训练首先,对原始数据集和步骤(1)得到的伪装数据集进行数据清洗、数据归约、数据变换等预处理操作,来排除数据集中存在的大量噪声,得到标准的、干净的、连续的数据集,以便利于机器学习模型的训练。其次,改变传统机器学习模型训练的损失函数,使用“原始数据集 伪装数据集”共同参与训练的方式,完成模型训练,以达到确保模型效用和模糊模型特征两个目的。
[0036]
具体步骤如下:(21)对原始数据集及步骤(1)得到的伪装数据集进行数据清洗、数据归约、数据变换等预处理操作,去除数据集中存在的大量噪声,得到利于模型训练的数据集。
[0037]
(22)初始化机器学习模型。模型训练过程中,同时使用原始数据集和伪装数据集两个数据集参与模型的训练。通过最小化改进后的损失函数,并使用随机梯度下降法,逐步完成模型的学习过程,直到模型准确率达到预先所设定的阈值后结束训练,得到机器学习模型。
[0038]
(23)其中,是一个常数,且1。在训练时,通过不断调整的大小,让机器学习模型在原始数据集和伪装数据集上的达到效用和特征表示之间的平衡,使得模
型即保证了在原始数据集上模型效用,模型的特征表示又更偏向于显示出模型是在伪装数据集上训练得到的。这就使得攻击模型错误地判断目标模型训练集属性,使得攻击失效,确保了目标模型隐私安全。
[0039]
(3)基于迭代投票构造随机伪装数据集的属性推理攻击防御方法通过步骤(2)的训练,得到一个训练完成的机器学习模型,本发明将其称之为投票模型。然后,再次使用步骤(1)的方法得到一个伪装数据集,使用投票模型对该伪装数据集进行数据筛选,即对于伪装数据集中的每一条样本使用投票模型的输出作为其新的标签。对所有样本筛选一遍后,得到新的伪装数据集。我们将整个过程称为一次迭代。经过n次迭代后,最后一次迭代得到的模型即为我们所需要的能够防御属性推理攻击的机器学习模型。
[0040]
机器学习模型通过使用步骤(1)的训练方法后,可以使得模型的特征逐渐偏移在原始数据集上的特征表示。但是,经过一轮训练的偏移并不够,所以本发明进一步使用迭代训练的防御策略使得其偏移量扩大。
[0041]
具体步骤如下:(31)防御者通过使用原始数据集,以及步骤(1)得到伪装数据集,经过步骤(2)得到一个训练好的机器学习模型。本实施例将该模型称之为投票模型。
[0042]
(32)重复步骤(1),重新获得一个样本数量为n的伪装数据集。对于该伪装数据集中的每一条样本,输入到投票模型中,得到对应于该样本的输出。若投票模型的输出与该样本原本的标签相同,则保持不变,若不同,则使用模型的输出作为该样本的新标签。对每条样本都重复此操作,得到新的伪装数据集。然后,使用该伪装数据集作为新的伪装数据集,进行模型训练。
[0043]
(33)使用原始数据集及新的到的伪装数据集再次经过步骤(2)得到新的投票模型,并使用投票模型再次进行数据筛选。重复迭代该过程n次,得到个投票模型。使用这个投票模型在全值域数据集中进行筛选得到最终的伪装数据集。例如,在目标模型的训练集输入空间中随机选取一条数据样本,个投票模型分别针对这条样本做出预测,即对样本标签进行投票,最终使用票数最高的预测结果作为该条样本的标签,重复这一过程得到一批样本构成伪装数据集。
[0044]
在本实施例中,并未对机器学习模型进行限定,本实施例不是针对机器学习模型进行优化,而是针对机器学习模型的训练过程进行了优化,使得最终得到的机器学习模型的安全性能更高。理论上,本实施例的防御方法可以应用在目前工业领域常见的典型机器学习模型的训练过程中,例如人脸识别模型、疾病诊断模型、路径优化模型、小目标检测模型、动作识别模型等等,对应的数据集可以选择人脸图像样本库、疾病诊断样本库等等。以人脸识别模型为例,训练过程中,除了原始的人脸图像样本库作为原始数据集之外,还会再
生成若干个新的具有相同特征空间但统计分布不同的人脸图像样本库作为伪装数据集;与此同时,生成若干个投票模型,并将最终的投票模型作为训练完成后的人脸识别模型。同样的,疾病诊断样本库作为原始数据集时,会生成若干个新的具有相同特征空间但统计分布不同的疾病诊断样本库作为伪装数据集,以及根据不同伪装数据集训练得到的投票模型,将最终的投票模型作为疾病诊断模型。路径优化模型、小目标检测模型、动作识别模型的训练过程类似。只要具有完整的机器学习模型结构和相对完善的原始数据集,就可以采用本实施例的方法进行训练,以使得最终得到的模型既可以保证在原始数据集上的效用,又使得模型本身的特征偏向于伪装数据集,导致属性推理攻击失效。
[0045]
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献