19、高效联邦卷积神经网络差分隐私方案解析

高效联邦卷积神经网络差分隐私方案解析

1. 背景知识

在当今的机器学习领域,联邦学习已经在情感分类、入侵检测等多个领域取得了巨大的成功,成为了一项不可或缺的技术,吸引了众多研究者的关注。

1.1 联邦学习

联邦学习的训练过程中,中央服务器维护着一个全局模型。用户首先从中央服务器下载全局模型,使用本地数据集进行训练得到梯度,然后将梯度传回中央服务器。中央服务器通过聚合用户上传的梯度来更新全局模型,并通过多次迭代上述步骤得到最优模型。

中央服务器更新全局模型有两种方式:
- 参数平均法 :使用该方法时,需要谨慎设置更新频率。若频率过高,会增加网络通信和同步成本;若频率过低,用户参数差异会随时间增大,降低模型精度。
- 异步随机梯度下降法 :中央服务器在收到用户梯度后会立即更新参数,无需等待其他用户的梯度。

虽然联邦学习使得中央服务器无法直接获取用户的私有训练数据,但研究发现,如果中央服务器是“诚实但好奇”的,用户仍然面临重建攻击的威胁。

1.2 重建攻击

在联邦学习的训练过程中,每个用户使用私有数据进行训练得到梯度,然后上传到中央服务器。如果中央服务器是“诚实但好奇”的,它可以从用户的梯度中重建私有训练数据。以下是几种常见的重建攻击方式:
|攻击方式|原理|局限性|
| ---- | ---- | ---- |
|基于偏导数计算输入|通过将神经网络损失函数关于权重的偏导数除以关于偏置的偏导数,得到与原始输入成比例的类似输入。|使用同态加密会对计算资源造成严重负担。|
|生成对抗网络重建|使用生成对抗网络在联邦学习训练过程中重建与特定类训练数据相似的数据。|只有当同一类的训练数据相似时,攻击才能成功。|
|深度梯度泄漏攻击(DLG)|随机初始化虚拟数据和标签,将虚拟数据输入模型得到虚拟梯度,通过最小化虚拟梯度和真实梯度之间的欧几里得距离来更新虚拟数据和标签,使虚拟数据接近私有训练数据。|无|
|改进的深度梯度泄漏攻击(iDLG)|在分类场景中,当目标模型使用交叉熵损失对独热标签进行训练时,能够从用户上传的梯度中提取真实标签。|无|

1.3 差分隐私

差分隐私是一种用于评估保护机制提供的隐私保证的框架。引入随机性到学习算法中,使得研究者难以判断模型的行为是来自随机性还是训练数据。相关概念如下:
- ϵ - 差分隐私(ϵ - DP) :如果一个随机机制 M : D → R 满足 ϵ - 差分隐私,对于两个相邻数据集 D, D′ ∈ D 和一组输出 S ∈ R,有 Pr [M(D) ∈ S] ≤ eϵPr [M(D′) ∈ S]。参数 ϵ 限制了随机算法 M 根据相邻数据集的差异引起的输出分布变化。
- (ϵ, δ) - 差分隐私((ϵ, δ) - DP) :对于两个相邻数据集 D, D′ ∈ D 和一组输出 S ∈ R,一个随机机制 M: D → R 满足 (ϵ, δ) - 差分隐私,即 Pr [M(D) ∈ S] ≤ eϵPr [M(D′) ∈ S] + δ。(ϵ, δ) - DP 表示随机机制在相邻数据集 D 和 D′ 中的输出概率之比大于 ϵ 的情况最多为 δ。与 ϵ - DP 相比,(ϵ, δ) - DP 在选择隐私保护机制时具有更大的灵活性。
- 累积隐私损失 :是输出满足差分隐私的数据时的隐私泄漏程度。(ϵ, δ) - DP 给出了严格的数学表达式。当同时使用多个差分隐私机制时,累积隐私损失表示最终的隐私泄漏程度。
- 高斯机制 :设 0 < ϵ < 1,σ > √(2 ln 1.25)/δ,参数为 σ > Δ2f/ϵ 的高斯机制是 (ϵ, δ) - 差分隐私,Gσf(x) = f(x) + N(0, σ2),其中 N 是高斯分布,查询函数 f 的 l2 - 灵敏度定义为 Δ2f = max∥D−D′∥2=1 |f(D) - f(D′)|2。
- (α, ϵ) - 雷尼差分隐私((α, ϵ) - RDP) :用于表示各种差分隐私算法的隐私保证。

2. 补偿重建攻击

当前的重建攻击虽然可以通过梯度重建训练数据,但都使用了未受保护的干净梯度。基于此,设计了一种名为补偿重建攻击(CRA)的攻击模型,通过用相邻的正常梯度替换异常梯度来提高重建数据的质量。

补偿重建攻击的步骤如下:

输入: 全局模型 F(x; W),全局模型权重 W,私有训练数据计算的梯度 ∇W,迭代次数 T,学习率 η,相邻梯度数量 n。
输出: (x′, y′)
1: x′ ← N(0, 1)
2: y′ ← i s.t. ∇W i L T · ∇W j L ≤ 0, ∀j ̸= i
3: // 补偿梯度
4: for i, j ← 1 to len(∇W) do
5:    if ∇Wi,j = 0 then
6:        Wi,j = (Wi,j−n/2 + ... + Wi,j+n/2) / n
7:    end if
8: end for
9: // 重建数据
10: for i ← 1 to T do
11:    ∇W ′ ← ∂l(F(x′; W), c′) / ∂W
12:    Li = ∥∇W ′ − ∇W∥2 F
13:    x′ ← x′ − η∇x′Li
14: end for
3. 基于差分隐私的联邦卷积神经网络方案

为了解决联邦学习训练过程中用户上传梯度的隐私泄漏问题,设计了一种高效的基于差分隐私的联邦卷积神经网络方案。该方案的框架包含一个服务器和多个用户。

中央服务器主要负责维护全局模型并与用户通信。它首先设置目标模型的网络结构,接收用户的梯度后对全局模型进行更新,然后将更新后的全局模型发送给其他用户。服务器使用联邦平均算法更新全局模型,与异步随机梯度下降算法相比,该算法避免了由于客户端能力不同导致的全局模型明显偏差。

用户在下载模型进行训练后,会对梯度进行处理再发送回服务器,以防止服务器通过梯度重建私有数据。处理梯度有两种方式:
- 全连接层差分隐私随机梯度下降算法(FC-DPSGD) :向全连接层的所有梯度添加高斯噪声,使攻击者无法获得准确的梯度。
- 关键梯度差分隐私随机梯度下降算法(CG-DPSGD) :仅向全连接层中导致隐私泄漏的关键梯度添加高斯噪声,在保护用户隐私的同时提高模型的准确性。

下面是 FC-DPSGD 算法的具体步骤:

输入: 私有训练数据集 {x1, ...xN},全局模型 W,裁剪阈值 C,隐私预算 ϵ,采样率 q,用户序号 I,噪声尺度 σ,尾界 δ
输出: gI(x) 并使用分析矩会计技术计算累积隐私损失 ϵI
1: for ϵI ≤ ϵ do
2:    // 下载全局模型
3:    WI = W
4:    // 随机采样
5:    B = q × N
6:    // 计算梯度
7:    For each i ∈ B, compute gI(xi) = ∇loss(WI, xi)
8:    // 高斯机制
9:    gF C I (xi) = gF C I (xi) / max(1, |gF C I (xi)|2 / C) for i ∈ B
10:    gF C I = (1 / B) * ∑i∈B gF C I (xi) + N(0, σ2)
11: end for

该算法的流程可以用以下 mermaid 流程图表示:

graph LR
    A[开始] --> B[下载全局模型]
    B --> C[随机采样]
    C --> D[计算梯度]
    D --> E[高斯机制处理梯度]
    E --> F{累积隐私损失 ϵI ≤ 隐私预算 ϵ?}
    F -- 是 --> C
    F -- 否 --> G[结束]

在这个流程中,首先用户从中央服务器下载全局模型,然后进行随机采样,使用采样数据计算梯度。接着,通过高斯机制对梯度进行处理,包括裁剪和添加噪声。之后检查累积隐私损失是否小于隐私预算,如果是,则继续进行随机采样和后续操作;如果否,则停止训练。

以上就是基于差分隐私的联邦卷积神经网络方案中 FC-DPSGD 算法的详细介绍,它通过一系列步骤有效地保护了用户上传梯度的隐私。

高效联邦卷积神经网络差分隐私方案解析

4. 关键梯度差分隐私随机梯度下降算法(CG-DPSGD)详细解析

由于全连接层差分隐私随机梯度下降算法(FC - DPSGD)需要向全连接层的所有梯度添加高斯噪声,可能会对神经网络的梯度产生较大影响。为了减少这种影响,进一步研究提出了关键梯度差分隐私随机梯度下降算法(CG - DPSGD)。

在联邦学习中,隐私泄漏主要源于全连接层的数据表示。为防止模型更新中的数据表示泄露用户的训练数据,核心是在一定阈值内修剪关键梯度。其目标函数定义为:在扰动后的数据表示与训练数据表示尽可能相似的前提下,使重建数据与训练数据尽可能不同,表达式如下:
[r’ = \arg\max_{r’}|X - X’|^2, \text{ s.t. } |X - X’| \leq \epsilon]

然而,修剪关键梯度的操作容易被攻击者识别。基于此,CG - DPSGD 算法仅在关键梯度上添加高斯噪声。该算法与 FC - DPSGD 算法类似,也包含下载全局模型、随机采样、添加噪声和计算累积隐私损失等步骤。不同的是,FC - DPSGD 向全连接层的所有梯度添加高斯噪声,而 CG - DPSGD 只向导致隐私泄漏的关键梯度添加噪声,这样既能保护用户隐私,又能提高模型的准确性。

CG - DPSGD 算法的具体步骤如下:

输入: 私有训练数据集 {x1, ...xN},全局模型 W,裁剪阈值 C,隐私预算 ϵ,采样率 q,用户序号 I,噪声尺度 σ,尾界 δ
输出: gI(x) 并使用分析矩会计技术计算累积隐私损失 ϵI
1: for ϵI ≤ ϵ do
2:    // 下载全局模型
3:    WI = W
4:    // 随机采样
5:    B = q × N
6:    // 计算梯度
7:    For each i ∈ B, compute gI(xi) = ∇loss(WI, xi)
8:    // 确定关键梯度
9:    Identify critical gradients g_critical in gI(xi)
10:    // 高斯机制处理关键梯度
11:    g_critical = g_critical / max(1, |g_critical|2 / C)
12:    g_critical = g_critical + N(0, σ2)
13:    // 合并关键梯度和非关键梯度
14:    gI(x) = Combine g_critical and non - critical gradients
15: end for

该算法的流程可以用以下 mermaid 流程图表示:

graph LR
    A[开始] --> B[下载全局模型]
    B --> C[随机采样]
    C --> D[计算梯度]
    D --> E[确定关键梯度]
    E --> F[高斯机制处理关键梯度]
    F --> G[合并关键梯度和非关键梯度]
    G --> H{累积隐私损失 ϵI ≤ 隐私预算 ϵ?}
    H -- 是 --> C
    H -- 否 --> I[结束]

在这个流程中,用户首先下载全局模型,然后进行随机采样并计算梯度。接着确定关键梯度,对关键梯度进行裁剪和添加噪声处理,再将处理后的关键梯度与非关键梯度合并。最后检查累积隐私损失是否小于隐私预算,如果是则继续循环,否则停止训练。

5. 两种算法的对比与总结

为了更清晰地了解 FC - DPSGD 算法和 CG - DPSGD 算法的特点,下面对它们进行对比:
|算法名称|添加噪声范围|对模型准确性的影响|隐私保护效果|计算复杂度|
| ---- | ---- | ---- | ---- | ---- |
|FC - DPSGD|全连接层所有梯度|可能较大,因为对所有梯度添加噪声可能改变梯度的整体分布|较好,全面保护了全连接层梯度|相对较高,需要处理全连接层的所有梯度|
|CG - DPSGD|全连接层关键梯度|较小,只对关键梯度添加噪声,对整体梯度分布影响较小|较好,针对性地保护了关键梯度|相对较低,只需处理关键梯度|

综上所述,FC - DPSGD 算法和 CG - DPSGD 算法都是为了解决联邦学习中用户上传梯度的隐私泄漏问题而设计的。FC - DPSGD 算法通过向全连接层的所有梯度添加高斯噪声,提供了较为全面的隐私保护,但可能会对模型准确性产生较大影响。而 CG - DPSGD 算法则通过只向关键梯度添加噪声,在保护隐私的同时尽可能减少了对模型准确性的影响,具有更好的性能表现。在实际应用中,可以根据具体的需求和场景选择合适的算法。

通过对联邦学习、重建攻击、差分隐私等相关知识的介绍,以及补偿重建攻击和基于差分隐私的联邦卷积神经网络方案的详细阐述,我们可以看到在保护用户隐私的前提下进行高效的联邦学习是可行的。未来,随着技术的不断发展,相信会有更多更优秀的隐私保护算法和方案出现,为联邦学习的广泛应用提供更坚实的保障。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值