文档反馈

问题文档片段

问题文档片段包含公式时,显示为空格。

提交类型
issue

有点复杂...

找人问问吧。

PR

小问题,全程线上修改...

一键搞定!

请选择提交类型

问题类型
规范和低错类

- 规范和低错类:

- 错别字或拼写错误,标点符号使用错误、公式错误或显示异常。

- 链接错误、空单元格、格式错误。

- 英文中包含中文字符。

- 界面和描述不一致,但不影响操作。

- 表述不通顺,但不影响理解。

- 版本号不匹配:如软件包名称、界面版本号。

易用性

- 易用性:

- 关键步骤错误或缺失,无法指导用户完成任务。

- 缺少主要功能描述、关键词解释、必要前提条件、注意事项等。

- 描述内容存在歧义指代不明、上下文矛盾。

- 逻辑不清晰,该分类、分项、分步骤的没有给出。

正确性

- 正确性:

- 技术原理、功能、支持平台、参数类型、异常报错等描述和软件实现不一致。

- 原理图、架构图等存在错误。

- 命令、命令参数等错误。

- 代码片段错误。

- 命令无法完成对应功能。

- 界面错误,无法指导操作。

- 代码样例运行报错、运行结果不符。

风险提示

- 风险提示:

- 对重要数据或系统存在风险的操作,缺少安全提示。

内容合规

- 内容合规:

- 违反法律法规,涉及政治、领土主权等敏感词。

- 内容侵权。

请选择问题类型

问题描述

点击输入详细问题描述,以帮助我们快速定位问题。

横向联邦-局部差分隐私加噪训练

查看源文件

联邦学习过程中,用户数据仅用于客户端设备的本地训练,不需要上传至中心服务器,可以避免泄露用户个人数据。然而,传统联邦学习框架中,模型以明文形式上云,仍然存在间接泄露用户隐私的风险。攻击者获取到客户端上传的明文模型后,可以通过重构、模型逆向等攻击方式,恢复参与学习的用户个人数据,导致用户隐私泄露。

MindSpore Federated联邦学习框架,提供了基于本地差分隐私(LDP)算法,在客户端上传本地模型前对其进行加噪。在保证模型可用性的前提下,解决横向联邦学习中的隐私泄露问题。

原理概述

差分隐私(differential privacy)是一种保护用户数据隐私的机制。差分隐私定义为:

Pr[K(D)S]eϵPr[K(D)S]+δ

对于两个差别只有一条记录的数据集D,D,通过随机算法K,输出结果为集合S子集的概率满足上述公式。ϵ为差分隐私预算,δ扰动,ϵδ越小,说明KDD上输出的数据分布越接近。

在横向联邦学习中,假设客户端本地训练之后的模型权重矩阵是W,由于模型在训练过程中会“记住”训练集的特征,所以攻击者可以借助W还原出用户的训练数据集[1]。

MindSpore Federated提供基于本地差分隐私的安全聚合算法,防止客户端上传本地模型时泄露用户隐私数据。

MindSpore Federated客户端会生成一个与本地模型W相同维度的差分噪声矩阵G,然后将二者相加,得到一个满足差分隐私定义的权重Wp

Wp=W+G

MindSpore Federated客户端将加噪后的模型Wp上传至云侧服务器进行联邦聚合。噪声矩阵G相当于给原模型加上了一层掩码,在降低模型泄露敏感数据风险的同时,也会影响模型训练的收敛性。如何在模型隐私性和可用性之间取得更好的平衡,仍然是一个值得研究的问题。实验表明,当参与方的数量n足够大时(一般指1000以上),大部分噪声能够相互抵消,本地差分机制对聚合模型的精度和收敛性没有明显影响。

使用方式

本地差分隐私训练目前只支持端云联邦学习场景。开启差分隐私训练的方式很简单,只需要在启动云侧服务时,通过yaml设置encrypt_train_type字段为DP_ENCRYPT即可。

此外,为了控制隐私保护的效果,我们还提供了3个参数:dp_epsdp_delta以及dp_norm_clip,它们也是通过yaml文件进行设置。

dp_epsdp_norm_clip的合法取值范围是大于0,dp_delta的合法取值范围是0<dp_delta<1。一般来说,dp_epsdp_delta越小,隐私保护效果也越好,但是对模型收敛性的影响越大。建议dp_delta取成客户端数量的倒数,dp_eps大于50。

dp_norm_clip是差分隐私机制对模型权重加噪前对权重大小的调整系数,会影响模型的收敛性,一般建议取0.5~2。

参考文献

[1] Ligeng Zhu, Zhijian Liu, and Song Han. Deep Leakage from Gradients. NeurIPS, 2019.