深度学习核心技术精讲100篇(五十三)-机器学习中的隐私保护
前言
近年来,在GDPR通用数据保护条例的规定出台以及一些互联网公司因数据隐私泄露而受到广泛关注的情况下,数据隐私保护问题在行业应用领域内获得了前所未有的重视。与之紧密相关的机器学习算法的安全性则面临着一个重大的难题。本文旨在系统介绍机器学习领域内关于数据隐私安全的相关研究进展,并重点阐述第四范式在提升差分隐私算法效果方面的创新成果
主要和大家分享数据隐私的3方面:
隐私保护的问题与案例
基于数据的隐私保护技术:数据匿名化
机器学习模型训练中的隐私保护技术:差分隐私
**▌**机器学习中的隐私保护问题
1. 信息隐私
信息隐私 ( Privacy ): 涉及组织内敏感数据在授权人员使用于数据分析和训练模型等技术过程中进行保护的规范和流程。
在讨论中常有混淆的是'隐私'与'安全'的概念。事实上它们之间存在显著差异。在技术术语中'安全性'通常特指防止未经授权或非法手段导致的数据泄露。而在'合法访问'的情形下,则关注如何保护敏感信息不被恶意利用从而防止通过逆向工程等方式从合法获取的数据中推导出原始敏感信息。当然对于企业而言 数据隐私与数据分析的安全同样不可或缺。
2. 信息****隐私问题
如今,在多个依赖于私人敏感数据的领域中普遍存在着数据隐私问题。值得注意的是,在应用机器学习技术处理个人隐私数据时可能会泄露敏感信息并给个体带来显著影响
尽管目前社会中存在诸多数据隐私问题,在理论上而言
在1977年提出了关于数据隐私性的严格定义:攻击者无法从隐私数据中获得那些在未获取该数据前他们已知的信息。
2006年, 计算机学者 Cynthia Dwork 指出了对上述隐私保护定义的有效性是不可行的。案例说明了这一概念:假设攻击者已知Alice的身高比Lithuanian女性平均身高高出2英寸,那么只要从该数据库中获取Lithuanian女性身高的平均值(在接触数据库之前未知),便能精准地确定Alice的确切高度,甚至无需出现在该数据库中)。因此,对于包含有价值信息的数据集而言,完全避免泄露个人隐私是不可能实现的。
3. 隐私泄露的危害
隐私泄露的危害,主要有:
隐私信息被应用于欺诈与骚扰:如盗刷信用卡、电话诈骗、冒用身份等
用户安全受到威胁:用户信息受到泄露,引起更多有目的犯罪
非法机构利用用户隐私信息操控用户
用户信任危机
违背相关法律
通常情况下,在非极端情况之下,在整个机器学习流程中能够一定程度上确保数据的安全。
这里再分享一个隐私泄露的案例:
1997年12月18日(根据来源),马萨诸塞州政府 GIC 宣布了一组医疗数据样本信息。该样本数据包括病人的5位邮编编码、性别以及生日等详细信息。州长 Weld 在新闻发布会上宣布这份数据是经过匿名处理的,并已成功删除所有个人识别信息(如名字地址)。然而令人震惊的是,在MIT学习计算机科学的学生Liu通过整合这份医疗数据与其合法购买的选民登记数据库,在短短一周内就成功检索到了Weld女士的全部医疗记录信息,并将其以匿名化处理的数据形式提交给当地卫生部门作为病患隐私保护研究依据。这一事件也揭示了仅凭5位邮编编码、性别以及出生日期等几个关键字段就可唯一标识87%美国公民的独特身份识别能力
这个真实案例表明:所有具有一定数据容量的数据都有可能出现隐私泄露问题;单纯依赖数据匿名技术来保护 privacy 几乎是不可能实现的。 然后我们将深入探讨,在面对 potential privacy breaches 时有哪几种 advanced technical solutions 可以在很大 extend 上防止 or block data privacy loss.
**▌**数据匿名化技术 ( Data Anonymization )
它是对数据层面实施隐私保护的一种技术。它通常会通过去除'姓名'等关键标识符来进行。然而,在这种情况下(仅仅去除'姓名'而不采取其他措施),可能存在其他人能利用其他特征信息推断出具体记录的可能性(即有可能推断出某个体对应的具体记录)。此时则需要一种机制或方法阻止他人基于多条记录信息重建个人关联(即防止他人能整合多条记录信息重建个人属性与其他表中的属性之间的联系)。
**1.**数据表中数据列的类别 ( 按所含隐私量分类 )

标识列 ( Key Attribute, 简称 KA ): 标识列为一种能够单一特定字段即可直接关联到一个人的数据记录的一种属性;例如身份证号码、姓名(通常情况下)即是典型的标识列。
半标识列 ( Quasi-identifier, 简称 QID ): 无法单凭单一数据字段单独确定一个对象, 但通过 多个字段的结合或查询其他相关信息(进一步缩小范围) 可以对应到个人的相关数据字段, 如: 包括但不限于生日、邮政编码等。
敏感信息列 ( Sensitive Attribute,简称 SA ): 如疾病、收入等。
然而,仅仅通过匿名化处理标识列数据就无法充分保障隐私安全
2.攻击方法与****防护方法
① 链接攻击

关联攻击 (Linkage Attack): 通过其他途径获取相关信息(如右表)用于锁定(见左表)当前数据表中的个人信息。
② K-Anonymity

K-匿名 ( K-Anonymity ):
通过将左表中的zipcode、age、sex三列数据末尾进行模糊处理(相当于进行匿名化处理),我们得到了右表的结果:我们可以发现,在统一对左表中zipcode、age、sex三列数据末尾实施模糊处理(相当于进行匿名化操作)后,在右表中出现了共三条符合条件的数据记录(即这三条记录中的任意一条都与至少两条其他记录在半标识属性上保持一致)。这些符合条件的数据具体为含有信息的内容共三条(这三条记录中的任一条都与至少两条其他记录具有半标识属性的一致性)。同时,在左表原本存在的另外三条记录经过变换后同样符合3-匿名的要求。
该方法在实施 K-Anonymity 后尽管可能会造成一定损失但成功地实现了每一行数据中的敏感信息无法与特定个人一一对应从而有效降低了隐私泄露的风险研究如何在最小化数据损失的前提下实现 K-Anonymity 也成为数据隐私保护的重要课题
③ Homogeneity attack

Homogeneous attack, also known as Homogeneity Attack, refers to an attack that can be mitigated by K-Anonymity protection. In certain scenarios, attackers can directly compare other attribute values or access external data sources to identify sensitive information. Within the context of K-Anonymity, when a set of up to K records shares the same sensitive key attributes, the other attributes within these records are considered identical across the dataset. This allows attackers to deduce sensitive information about an individual.
上方右表说明:通过对比分析可知Bob必然患有心病;如果进一步查阅资料会发现Carl所在地区的居民普遍患有心病,则可以推断Carl很可能属于 heart disease 病例中的一种。
④L-Diversity

L-Diversity (L-Diversity): 对K-Anonymity的一种优化方法。在保证数据满足K-Anonymity的前提下,在每个等价组(即具有相同部分标识符的所有样本)中至少需要包含L种不同的敏感属性(例如,在病史中涉及的疾病如Heart Disease和Flu)。以下表格展示了满足3-Diversity的数据集实例
⑤ 相似性攻击

相似性攻击 ( Similarity Attack ):能够针对具备L-Diversity特性的数据实施攻击。 **通过收集多维度的个人信息并结合技术手段将这些信息加以分析处理后从而进一步缩小潜在受害者的范围并精准锁定目标个体。
⑥ T-Closeness

T-隐私 (T-Closeness): 是L-Diversity的一种扩展。对于满足K-Anonymity条件的数据,在每个满足K-Anonymity条件的等价类中,其敏感属性值的分布情况与整个数据集在敏感属性值上的分布情况的距离(可自行定义为某种测度)必须小于给定阈值T。这种测度通常用于衡量两个概率分布之间的差异程度,在本领域中常用的测度包括Kullback-Leibler散度(简称K-L散度)。
▌差分隐私 ( Differential Privacy ) 技术
除了信息匿名化不当以外,在运用特定分析手段处理数据时所建立的模型同样存在被攻击从而泄露原始数据信息甚至直接获取原始数据本身的风险)。差分隐私技术主要应用于机器学习模型的构建过程中。
1. 模型的隐私保护风险
未采取隐私保护措施的机器学习模型理论上可能存在泄露训练数据中关键信息的风险
Membership inference attack:

成员推断攻击(Membership Inference Attack)是一种技术手段,在这种技术下,攻击者通过分析已知样本的信息来判断该样本是否归属该训练数据集。
步骤( 参考论文见上图 ):
基于与 target model 训练方案高度一致的原理生成的一系列 shadow datasets
Attack模型的训练过程如下:首先构建基于每个shadow数据集的数据集结构,在每个shadow dataset中选取每一条数据作为训练样本的基础信息;具体而言,在某个特定shadow model上对每条数据进行预测并获取其预测结果及真实标签;然后将该条数据是否属于该shadow model作为对应的标签进行标注;最后利用构建的数据集进一步训练Attack模型,并能够判断任意一条输入的数据是否属于原始数据集。
给定一条数据,在该数据上运行 target model 并比较其预测输出与真实标签后所得的结果被用作输入后,则该模型能够根据这些信息判断出该条数据是否属于 target dataset
图中展示的是上述思路的一个典型应用场景。可以看出,在未对训练模型的方法进行适当处理的情况下,原数据集在成员使用推断攻击法时的可破解程度仍然较高。
Model Inversion Attack:

模型逆向攻击 ( model inversion attack ): 是指攻击者利用其掌握的模型及其与某个样本结合后的其他特征信息来推导出该样本所具有的敏感特征值。
**2.**差分隐私技术 ( Differential Privacy )
假设任意两个仅相差一个样本的数据集 D_1 和 D_2 ,在经过建模过程 M 后 ,生成的模型与预设目标模型 t 之间的相似概率比不超过 e^\varepsilon (其中 \varepsilon 表示某个非负实数参数) 。那么我们可以称建模流程 M 满足 \varepsilon -差分隐私 。

假设建模过程M满足ε-差分隐私性质,并且其中 ε 值较小,则该过程所对应的原始数据集合及其训练所得模型之间的关联程度较低。具体而言,在这种情况下(即当两个相差受限的数据集进行模型训练时),所得模型之间差异显著性较低;因此持有者即使掌握大致的数据分布信息也无法反推出原始数据集(即无法通过已知的大致分布推断出原始数据的具体内容)。相反地,在 ε 值较大的情况下(即当两个相差受限的数据集进行模型训练时),所得生成的模型间差异显著性较高;总结而言,在这种情况下(即当改变一条记录对最终结果影响较大时),原始数据集合与生成模型之间存在一一对应的关系)。
① 差分隐私下的模型训练

向目标函数中注入一定量的噪声: 训练出的模型会呈现出一定程度上的随机性,并且这种特性表明其能够满足差分隐私的要求。
在梯度上引入噪声: 深度学习方案通常采用,在针对深度学习模型时,当向其目标函数或输出中注入梯度噪声时(即通过向其目标函数或输出中加入梯度扰动),差分隐私的分析会变得较为复杂。
在模型输出上加噪声: 使得不一样的原数据集输出的模型差异变小。

不过,在保障数据隐私方面做得越到位时(即以提高数据隐私保护为代价),算法性能会显著下降。当ε值越小时,在保持训练样本数量和复杂度不变的情况下(即训练样本复杂度相同),模型的泛化能力会减弱。
② 基于****特征切分的差分隐私算法

按特征来切分做差分隐私,而非做基于样本切分的差分隐私**:**
将数据按照样本总量均等分为上下两部分,并将其中一部分按照特征维度划分为 K 个子任务。这些子任务则在另一半样本上利用预测结果构建 ( 第二层 ) 的 K 个新子模型。其中所有的切分与融合操作均采用差分隐私技术执行。最终综合输出结果能够保证满足差分隐私要求。
按特征切分的原因**:**

仅仅确保差分隐私是不够的;还需要维持算法性能。从上图所示公式可以看出,在将重要特征分配更高的隐私预算后,在降低训练样本的复杂度的同时(即降低了训练样本的复杂度),生成子模型的效果更加显著。
③****在迁移学习中的应用

依照第②条所述的方法,在假设迁移阶段实现特征划分,在子模型构建过程中实施差分隐私保护措施;最终完成带差分隐私的数据融合过程。
