技术领域
本发明属于人工智能领域中的隐私安全领域,更具体地,涉及一种机器学习中训练数据隐私度量的方法和系统。
背景技术
近几年,随着人工智能行业的发展,以机器学习为首的技术广泛落地于目标检测、图像识别、语音识别等各个领域,给人们的生活带来了翻天覆地的变化。在机器学习中,给定匹配训练任务的数据集和初始模型,通过特定的优化算法,优化模型使其获得对训练集以外数据的预测能力。然而,模型在实现预测功能时存在安全隐患——数据泄露,这里的数据泄露不是指传统网络安全意义上的数据包的直接泄露,而是指通过某些攻击方法攻击模型,从而“还原”模型的训练集数据有关信息,典型的有模型萃取攻击、模型成员推断攻击等,分别用于还原模型某一类训练样本的原始数据、某一样本特定属性值以及判断某样本是否参与了训练。上述攻击手段不仅使得训练集中用户的个人隐私数据被侵犯,严重危害了机器学习技术的应用和发展。因此,有必要训练完成的模型做一个隐私泄露风险的评估,即衡量模型遭受隐私攻击的容易度,并根据风险的大小对模型结构、训练策略进行调整,直到确认模型泄露风险达到预设标准后再发布模型,以此规避各类攻击。
目前,国内外对机器学习模型训练样本的隐私攻击手段虽然种类繁多,但是对模型隐私泄露风险的评估手段,仅局限于利用某种特定的攻击方法,计算攻击方法的攻击成功率作为模型隐私泄露的可能性。这样的评估方法存在一定问题:1、部分攻击方法是基于白盒场景下实现的,但是在实际应用中,为了更好地保护模型,防止模型在评估过程中发生隐私泄露,模型评估者可能仅可得到黑盒机制的模型,黑盒条件限制了评估者对模型内部参数、结构、算法等的先验知识,评估者仅能给定模型任意数据,得到模型对该数据的预测结果,因此在这种条件下有效衡量模型隐私信息泄露程度也成为一大难题;2、一个模型泄露隐私的风险和模型结构、优化策略、数据集本身的信息量以及分类标签数目等因素有关,通过单种攻击方法,存在专一性和局限性,因为不同隐私攻击方法的性能存在差异——攻击成功率大不相同,跨攻击的成功率之间无法相互比较,这样的局限会降低评估方法的稳定性;3、根据单一的攻击方法得到的攻击成功率作为泄露风险存在一定局限性,即缺少空白对照的基准成功率,攻击成功率高虽然能说明该攻击方法效果好,但并不能说明模型容易遭受隐私攻击,因为单种攻击成功率和隐私泄露风险并不是正相关的线性关系。
综上所述,如何有效地从黑盒模型的表现上量化隐私泄露的风险,确保训练集的安全,保证机器学习模型的安全落地,是目前本领域技术人员亟需解决的技术问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种机器学习中训练数据隐私度量的方法和系统,其目的在于针对物联网中的黑盒模型,量化其隐私泄露的风险,确保训练集的安全,保证相关模型的安全落地。
为实现上述目的,本发明提供了一种机器学习中训练数据隐私度量的方法和系统,包括:S1.从物联网场景中获取模型的训练数据作为训练样本和非训练数据作为非训练样本,训练样本和非训练样本构成原始样本,并对原始样本进行逐特征的扰动添加,生成扰动数据集;S2.将原始样本和生成的扰动数据集输入至待评估的物联网场景中智能设备上部署的机器学习模型,得到原始预测集和扰动预测集;S3.利用扰动预测集和原始预测集分别构建训练样本对应的雅可比矩阵、非训练样本对应的雅克比矩阵,所述雅可比矩阵每一列代表模型输出对某一维输入的偏导数,每一行代表模型某一维度输出对所有输入特征的偏导数;S4.分别计算待评估模型在训练样本、非训练样本下的样本敏感度或特征敏感度;其中,样本敏感度为雅可比矩阵的范数值;特征敏感度为雅可比矩阵中原始样本真实标签对应行的范数值;
S5.计算训练样本和非训练样本对应的样本敏感度相对差,得到相对样本敏感度;或计算训练样本和非训练样本对应的特征敏感度相对差,得到相对特征敏感度;S6.根据相对样本敏感度或相对特征敏感度,得到待评估模型隐私泄露风险的程度。
进一步地,训练样本和非训练样本均包括多维特征和多个真实标签。
进一步地,步骤S1具体为,对训练样本和非训练样本的每一维特征添加扰动
进一步地,步骤S3具体为,训练样本对应的雅可比矩阵构建过程具体为,
将训练样本对应的扰动预测集中每一数据项分量和训练样本对应的原始预测集中每一数据项分量逐次带入近似导数计算公式,得到待评估模型第
将训练样本对应的所有维度输出对输入特征的近似偏导数整合,得到训练样本对应的雅可比矩阵:
非训练样本对应的雅克比矩阵构建过程同理。
进一步地,样本敏感度相对差和特征敏感度相对差
进一步地,根据用户实际应用需求,构建样本敏感度相对差或特征敏感度相对差与隐私泄露风险等级之间的对应关系。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果。
1、本发明通过导数近似公式提取模型输出对输入样本导数信息,最大化提取了模型预测的有效信息,解决了黑盒模型设置下模型有效信息提取难的挑战,并在模型黑盒机制的条件下评估模型,可有效防止模型在评估过程中的隐私泄露,使模型能在绝对安全的环境下接受隐私评估。
2、相较于以往基于成员推断攻击的隐私度量指标仅根据低维的模型预测矢量,本发明从模型梯度下降优化算法的原理出发,根据模型输出-输入的导数矩阵的范数度量模型拟合于训练集数据的程度,抽取了模型高维的导数信息而不是低维的输出矢量,并且根据机器学习梯度下降的优化策略,导数更直接反映模型在训练集的优化、训练情况,因此具有更大的精确度。
3、本发明通过对比模型在训练集和非训练集上表现的导数差异,衡量机器学习模型隐私泄露的风险,是一种不影响模型预测能力的模型保护方式,能够为人工智能行业的蓬勃发展提供稳定保障。
4、本发明方法作用于机器学习模型发布前,通过两类敏感度相对差有效地量化了模型遭受隐私攻击的容易度,模型训练者可根据评估的模型敏感度,对模型进行结构性的调整或采取其它保护隐私的模型训练措施,可以广泛在机器学习模型安全领域中应用,具有极高的实用性。
5、实验证明,本发明不仅局限于单种针对模型的攻击,还广泛适用于度量多种攻击方法下模型被攻击的风险,具有极高的稳定性和兼容性。
附图说明
图1是本发明的方法的流程图。
图2是发明在模型训练过程测得的三种隐私度量随迭代次数的关系图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明方法的流程如图1所示,整体分为2个阶段:扰动处理阶段和模型敏感度评估阶段。用户需要上传以黑盒机制运作的待评估模型的查询API、一定量的训练样本以及非训练样本,训练样本是指用于训练模型的数据,非训练样本是指未出现在模型训练集的数据,其可用数据扩增技术生成或从其他辅助数据集采样。在扰动处理阶段,训练样本和非训练样本在每一特征上被加以微小扰动,用于探测模型在此微小扰动上的预测变化;在模型敏感度评估阶段,通过反复查询待评估模型的API,可获得模型在扰动数据集和原始样本的预测变化,从而依据导数近似公式计算模型输出-输入关系的雅可比矩阵,此矩阵通过一定的处理并结合范数,可反映模型在训练集上拟合的程度,从而量化模型遭受各类攻击的风险。
具体地,包括以下步骤:
步骤1,给定待评估模型的训练样本和非训练样本,进行逐特征的扰动添加,生成扰动数据集;
步骤2,以步骤1中原始样本和生成的扰动数据集作为待评估模型的输入,待评估模型进行预测,得到原始预测集和扰动预测集;
步骤3,根据添加的扰动值、原始预测集和扰动预测集,利用导数近似计算公式,分别构建训练样本对应的雅可比矩阵、非训练样本对应的雅克比矩阵;
步骤4,分别计算待评估模型在训练样本、非训练样本下的样本敏感度或特征敏感度;其中,样本敏感度为雅可比矩阵的范数值;特征敏感度为雅可比矩阵中原始样本真实标签对应行的范数值;
步骤5,对训练样本和非训练样本计算下的两类敏感度,进行相对标准化处理;
步骤6,比对、分析步骤5中的两类相对敏感度,综合得到模型隐私泄露风险的程度;
进一步,给定待评估模型的训练样本和非训练样本,进行逐特征的扰动添加,生成扰动数据集,步骤1具体步骤如下:
1a) 设训练样本集合或非训练样本集合可表示为
本发明中训练样本是指用于训练待评估模型的训练数据,即待评估模型是基于训练数据训练得到的机器学习模型,非训练样本是指除训练数据以外的数据,非训练样本和训练样本具有相同的特征空间,类似于机器学习模型评估中不参与模型训练的测试集;
1b) 数据集合中每一个样本可表示为
1c)对训练样本和非训练样本都逐特征添加扰动,分别得到训练扰动数据集
进一步,以步骤1中原始样本和生成的扰动数据集作为待评估模型的输入,待评估模型进行预测,得到原始预测集和扰动预测集,步骤2具体步骤如下:
2a) 将步骤1生成的扰动数据集
2b) 同步骤2a) ,待评估模型对该扰动数据集对应的原始样本的预测矢量记为
进一步,根据添加的扰动值、原始样本预测矢量和扰动预测集,利用导数近似计算公式,计算雅可比矩阵,步骤3具体步骤如下:
3a) 根据近似导数的计算公式
3b) 整合所有输出对输入的近似偏导数,得到反映模型输出对某一样本敏感度的雅可比矩阵:
其中,雅可比矩阵中的元素表示模型某一维度输出对某一维度输入的偏导数,具体地,每一列代表模型输出矢量对某一维输入的偏导数,即给某一维输入添加微量扰动,模型输出矢量的变化率,每一行代表模型输出矢量某一维度对所有输入特征的变化率,根据机器学习梯度优化理论,模型对训练样本的不断迭代,使得由模型参数作为自变量的损失函数在训练样本上产生的梯度
进一步,选取雅可比矩阵中原始样本真实标签对应行作为特征列,分别计算雅可比矩阵及其特征列的范数,得到样本敏感度和特征敏感度,步骤4具体步骤如下:
4a) 计算步骤3中雅可比矩阵的范数值作为样本敏感度:
2范数计算了所有元素的平方和的开方,本发明优选采用2-范数,但不局限于2-范数,还可用其他类型的范数,比如1-范数和无穷范数;
雅可比矩阵的范数值可以将多维数据把每个元素按照数值大小以一维数据表示(归一化计算),雅可比矩阵范数值越大,反映的是该样本在模型表现出来的梯度越大,根据“模型在训练数据产生的梯度小于在非训练数据产生的梯度”的原理,雅可比矩阵范数值大的样本更接近于非训练样本。
本发明中“样本敏感度”是某样本在该模型下输出-输入的全体导数值的反映,训练数据和非训练数据在模型下的样本敏感度会有明显差异。
4b) 选取原始样本的真实标签在步骤3得到的雅可比矩阵的对应行作为该模型在该样本下的特征列
4c) 计算步骤4b)中特征列的范数值
因为在梯度下降算法中,计算得到的损失函数是根据该训练数据真实标签计算的,因此本发明根据真实标签选取特征列更加接近模型在样本下的导数情况。进一步地,本发明将特征列的范数值作为特征敏感度,范数可以把所筛选出来的特征列多个元素进行归一化计算,便于进行观察和比较(训练样本的特征敏感度和非训练样本不同,可以通过比较区分)。实质上,本发明中的“特征敏感度”能够衡量模型在输入样本特征列上的优化程度,模型在训练样本上的优化程度优于非训练样本,总结为优化程度高的样本特征敏感度较小,因为优化过程会使模型在该样本上导数近似0。
进一步,计算模型在训练样本和非训练样本下的两类敏感度,求每一类敏感度的相对差,步骤5具体步骤如下:
5a) 计算训练样本敏感度
5b) 同样地,计算每一个非训练样本的敏感度
5c) 对所有训练样本和非训练样本的两类敏感度进行平均处理,即处理后的样本敏感度为
5d) 分别求两类敏感度的相对差,得到相对样本敏感度
进一步,比对、分析步骤5中的两类相对敏感度,综合得到模型隐私泄露风险的程度,步骤6具体步骤如下:对步骤5中得到的两类相对敏感度进行比对、分析,针对每一类相对敏感度,若相对敏感度的值较大,则说明模型对训练数据和非训练数据的敏感度相差较大,即模型的泛化性能较差,在训练集和非训练集表现得差异大,因此对各种各类隐私攻击的抵御能力更弱。
本发明的实现采用Python语言实现,并在广泛用于机器学习分类任务训练的Adult数据集(给定个人信息判断其年收入情况的数据集)、Mnist数据集(手写数字图像数据集)、Purchase数据集(在线购物用户购买行为数据集)进行了可行性和有效性的验证。本发明结合现有隐私攻击在多种模型结构的复杂度、数据集分类数目不同情况下的攻击效果和本发明提出的隐私风险度量指标进行对比,实验结果表明了本方法的实用性、鲁棒性和有效性。
例如,一个医疗研究组发布了一个机器学习模型,该模型可以预测特定疾病的药物剂量,在此场景下,训练样本为参与了本机器学习模型训练的医疗数据,特征为患者的身体各项检查指标及个人信息,样本的标签为对应的药物剂量;非训练样本为未参与本机器学习模型训练的数据。若攻击者可准确推断某用户的信息被用来训练该模型,则可以进一步推断出该用户患有相应的疾病,进而侵犯了患者有关疾病的隐私信息。此外,在人脸识别系统场景下,人脸识别系统以本部门或机构的人员人脸图像作为训练样本,以机构外的人脸图像作为非训练样本,若攻击者对某关键部门或机构的人脸识别系统进行成员推断攻击,即可判定某人是否属于特定的机构,进而威胁该用户或相应机构的安全。因此,有必要在模型发布使用之前,对模型进行隐私泄露的评估,根据评估结果进一步调整模型,使之对现有的机器学习模型攻击方法具有一定的抵抗能力。
下面通过实验进一步验证本发明的效果:本发明采用MNIST手写数据集进行测试。用本发明提出的一种基于模型对样本敏感度的机器学习模型隐私泄露风险度量方法对不同结构复杂度的模型进行了隐私泄露的度量。模型1为结构简单且使用dropout层等技术手段能有效抵御各类隐私攻击的CNN模型,模型2为结构复杂且在训练集上表现较好但容易因为过拟合而导致隐私泄露的Resnet模型。通过仿真测试,得到本发明方法在两种模型下特征敏感度如图2所示,随着迭代轮数的增加,模型2逐渐变得过拟合,其对应的特征敏感度逐渐增加并趋于稳定,然而模型1的特征敏感度始终保持在0附近,符合两种模型设置下的预期效果。实验结果说明本方法能够通过计算模型的敏感度有效衡量模型泄露隐私的风险,从而维护机器学习领域隐私数据的安全。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
机译: 用于自动配置用于训练基于机器学习的对话系统的机器学习模型的训练数据的系统和方法,该系统和方法包括基于被识别为异常的训练数据的实例来播种训练样本或策划训练数据的语料库
机译: 用于自动配置基于机器学习的对话系统的训练机器学习模型的训练数据的系统和方法,包括基于异常的训练数据标识的实例的训练样本或创建训练数据的语料库
机译: 一种系统,一种用于训练基于机器学习的处理器电路的方法,适用于表征车辆的envi-Ronment