14.4. 隐私加密算法¶
联邦学习过程中,用户数据仅用于本地设备训练,不需要上传至中央FL-Server。这样可以避免用户个人数据的直接泄露。然而联邦学习框架中,模型的权重以明文形式上云仍然存在间接泄露用户隐私的风险。敌手获取到用户上传的明文权重后,可以通过重构、模型逆向等攻击恢复用户的个人训练数据,导致用户隐私泄露。
MindSpore Federated框架,提供了基于本地差分隐私(LDP)、基于多方安全计算(MPC)的安全聚合算法和华为自研的基于符号的维度选择差分隐私算法(SignDS),在本地模型的权重上云前对其进行加噪或加扰。在保证模型可用性的前提下,解决联邦学习中的隐私泄露问题。
14.4.1. 基于LDP的安全聚合¶
差分隐私(differential privacy)是一种保护用户数据隐私的机制。差分隐私定义为:
对于两个差别只有一条记录的数据集
在联邦学习中,假设FL-Client本地训练之后的模型权重矩阵是
MindSpore Federated提供基于本地差分隐私的安全聚合算法,防止本地模型的权重上云时泄露隐私数据。
FL-Client会生成一个与本地模型权重矩阵
FL-Client将加噪后的模型权重矩阵
14.4.2. 基于MPC的安全聚合¶
尽管差分隐私技术可以适当保护用户数据隐私,但是当参与FL-Client数量比较少或者高斯噪声幅值较大时,模型精度会受较大影响。为了同时满足模型保护和模型收敛这两个要求,MindSpore Federated提供了基于MPC的安全聚合方案。
尽管差分隐私技术可以适当保护用户数据隐私,但是当参与FL-Client数量比较少或者高斯噪声幅值较大时,模型精度会受较大影响。为了同时满足模型保护和模型收敛这两个要求,MindSpore Federated提供了基于MPC的安全聚合方案。
在这种训练模式下,假设参与的FL-Client集合为
于是每个FL-Client
从而FL-Server聚合结果
上面的过程只是介绍了聚合算法的主要思想,基于MPC的聚合方案是精度无损的,代价是通讯轮次的增加。
14.4.3. 基于LDP-SignDS算法的安全聚合¶
对于先前的基于维度加噪的LDP算法,添加到每个维度的噪声规模基本上与模型参数的数量成正比。因此,对于高维模型,可能需要非常多的参与方来减轻噪音对模型收敛的影响。为了解决上述“维度依赖”问题,MindSpore Federated 进一步提供了基于维度选择的Sign-based Dimension Selection (SignDS) [jiang2022signds]算法。
SignDS算法的主要思想是,对于每一条真实的本地更新
下面,我们分别对Top-K集合
首先,由于实际更新值有正负,直接给所有选定的维度分配相同的常量值可能会明显改变模型更新方向,影响模型收敛。为了解决这个问题,SignDS提出了一种基于符号的Top-K集合构建策略。具体来讲,算法引入了一个额外的符号变量
下面,我们进一步介绍用于维度选择的EM-MDS算法。简单来说,EM-MDS算法的目的是从输出维度域
注意
sensitivity
对于任意一对不同的Top-K集合
根据以上定义,EM-MDS算法描述如下:
给定真实本地更新:math:`Deltainmathbb{R}^{d}`的Top-K集合:math:`S_k`和隐私预算:math:`epsilon`,输出维度集合:math:`Jinmathcal{J}`的采样概率为:
其中,:math:`nu`是:math:`J`中包含的Top-K维度数量,:math:`nu_{th}`是评分函数的阈值,:math:`J^prime`是任意一输出维度集合,:math:`omega_{tau}=binom{k}{tau}binom{d-k}{h-tau}`是所有包含:math:`tau`个Top-K维度的集合数。
我们进一步提供了EM-MDS算法的隐私证明:
对于每个FL-Client,给定随机采样的符号值emmds
,以下不等式成立:
证明EM-MDS算法满足:math:`epsilon`-LDP保证。
值得注意的是,计算
emmds
需要先确定Top-K维度数的阈值
这里,emmds
中
最后,我们在
图14.4.1中描述了SignDS算法的详细流程。给定本地模型更新threshold
确定阈值emmds
定义的概率选择输出集合discrete-prob
中
图14.4.1 SignDS工作流程¶