3 FL隐私泄露的根本原因
3.1 FL中的表示层信息泄露
问题设置 在FL中,有多个设备和一个中央服务器。服务器协调FL进程,其中每个参与设备仅与服务器通信本地模型参数,同时保持其本地数据的私密性。我们假设服务器是恶意的,它只能访问设备的模型参数。服务器的目的是通过设备的模型参数推断设备的数据。
FL中表示层泄漏的关键:数据表示较少纠缠。 为简单起见,使用全连接(FC)层作为实例分析数据表示在FL中是如何泄漏的。PS:这种分析可以扩展到其他层。梯度\(l\)关于\(W\)的损失如下所示:
\( \begin{equation*}\large\frac{{\frac{1}{{\left| \mathbb{B} \right|}}\sum\nolimits_{i = 1}^{\left| \mathbb{B} \right|} {\partial {l^i}} }}{{\partial {\mathbf{W}}}}\frac{1}{{\left| \mathbb{B} \right|}}\sum\limits_{i = 1}^{\left| \mathbb{B} \right|} \frac{{\partial {l^i}}}{{\partial {{\mathbf{b}}^i}}}\frac{{\partial {\mathbf{b}}}}{{\partial {\mathbf{W}}}} = \frac{1}{{\left| \mathbb{B} \right|}}\sum\limits_{i = 1}^{\left| \mathbb{B} \right|} \frac{{\partial {l^i}}}{{\partial {{\mathbf{b}}^i}}}{\left( {{{\mathbf{r}}^i}} \right)^{\text{T}}},\tag{1}\end{equation*} \)
- \(Grad(\mathbb{B}_i)\):\(\mathbb{B}_i\)中的数据样本的梯度。
- 训练批次\(B\)
- FC层表示为\(b = Wr\),\(W\)是权重矩阵,\(b\)是输出
- \(r\) 是 FC 层的输入(即前几层学习的数据表示)
不同类别的数据,相应的数据表示往往嵌入在不同的梯度行中。如果一个批次,类别数很大,则不同类别的表示将与整个批次的梯度纠缠在一起。与集中训练相比,本地数据通常涵盖FL中的少量任务。这种情况下,可以减少来自不同类的数据表示。数据表示的低纠缠度,使我们能够从梯度中显式地重建每个类的输入数据,因为可以精确地定位梯度中的数据表示行。
- \(l^i\):本batch中,第\(i^{th}\)个样本
- \(r^i\):本batch中,第\(i^{th}\)个样本输入
- \(b^i\):本batch中,第\(i^{th}\)个样本FC层输出对应的loss。
- \(\frac{∂l^i}{∂\mathbf{b}^i}(\mathbf{r}^i)^T\):本batch中,第\(i^{th}\)样本的梯度
- C:假设训练数据有C个标签
可以将批次\(\mathbb{B}\)分成C组,即\(\mathbb{B}=\{\mathbb{B_0},\mathbb{B_1},\cdots,\mathbb{B_C}\}\),其中 \(\mathbb{B_k}\)表示具有第\(k\)个标签的数据样本。然后,公式(1)可以改写为:
\( \begin{equation*}\large \frac{{\frac{1}{{\left| \mathbb{B} \right|}}\sum\nolimits_{k = 1}^{\left| \mathbb{B} \right|} {\partial {l^k}} }}{{\partial {\mathbf{W}}}} = \sum\limits_{i = 1}^C \left( {\frac{1}{{\left| {{\mathbb{B}_i}} \right|}}\sum\limits_{j \in {\mathbb{B}_i}} \frac{{\partial {l^j}}}{{\partial {b^j}}}{{\left( {{r^j}} \right)}^{\text{T}}}} \right) \triangleq \sum\limits_{i = 1}^C Grad\left( {{\mathbb{B}_i}} \right),\tag{2}\end{equation*} \)
这里重写了一下聚合公式,按照每一个批次中的,标签类进行计算聚合梯度
请注意,在上面的分析中,仅考虑FL训练期间的单个批次。在实践中,FL通常是通过多个批次进行训练的。在这种情况下,不同类的数据表示可能会纠缠在一起,特别是当批次数量很大时。然而,在实际的FL应用中,设备往往数据不足。在FL训练过程中,每个设备的batch数和局部训练epoch数都很小。在这种情况下,通过检查等式中的梯度更新,数据表示仍然可以减少跨类的纠缠。
数据量小导致的纠缠,数量大的时候,这种纠缠还会有吗?
3.2 推断类数据表示
我们开发了一种算法从模型更新中推断每个FC
层中类的数据表示。具体来说,首先使用最后(L)层的梯度来识别类别。我们将第L层的梯度表示为\(∇W^L\)。如果训练中涉及第\(i\)类的数据,则\(∇W^L\)中的第\(i\)行的梯度向量\(∇W^L_i\)显示的幅度明显大于其他行中的梯度向量。由此,可以推断出最后一层中第\(i\)个类的数据表示,因为\(∇W^L_i\)是线性缩放。如果推断出\(W^L\)层中第\(i\)个类的数据表示,可以使用它们的元素值来识别第(L – 1)层梯度中的相应行,即\(W^{L–1}\)嵌入第(L – 1)层中第\(i\)个类的数据表示。通过这种方式,我们可以迭代地推断所有FC
层中第\(i\)个类的数据表示。
表示推理算法的详细信息在附录 A 中描述。
数据集: 在CIFAR10[13]上进行实验。考虑FL中实际的非独立同分布设置,并遵循[14]中的2类和平衡配置来构建非独立同分布数据集:总共100个设备,并且在每轮通信中随机抽样10个设备参与训练。
- 每个设备包含2个类别的数据,每个类别有20个样本。
- 使用真实表示\({\mathbf{\bar r}}_{{\mathbb{B}_i}}^{\text{T}}\)和推断的\({\mathbf{\hat r}}_{{\mathbb{B}_i}}^{\text{T}}\)之间的相关系数\(cor\)来量化算法的有效性。
训练数据也太少了,存在偶然性
计算每个参与设备上,每个类别的\(cor\)。我们从设备和服务器之间的 200 轮通信中的每一轮中的所有 FC 层中提取数据表示,所有通信轮和设备的平均\(cor\)如表1所示。
\(cor\)高达\(0.99\),表明FL存在严重的表示泄漏。\(cor\)随着B或一个时期内批次数量的增加而减少,并随着E的降低而增加,这验证了我们在第3.1节中的主张。几乎所有情况下\(cor\)高于\(0.8\)。注意到,\(cor\)在IID设置中要低得多,这是因为每个设备都有比非IID设置中的数据更多的训练数据类别,从而使表示纠缠在一起。我们的结果验证了FL中实际的非IID设置显着恶化了表示泄漏。
谁家训练的时候epoch和batch设置这么小啊,都是50+好伐。索性,非独立同分布的数据可以加剧表示层泄露问题。
3.3 揭示表示层泄漏
在本节中研究表示泄漏是否是FL中信息泄漏的根本原因。在 CIFAR10 上进行了实验,基于现有的 DLG 攻击重构输入[28]。 DLG 攻击需要梯度信息,我们考虑梯度的三个不同部分:整个模型梯度(WG)、仅卷积层的梯度(CLG)以及使用我们的方法推断的表示(Rep)。实验设置如附录 B 所示。
如图 3 所示,仅利用卷积层的梯度无法成功重建输入数据,但使用我们的方法
可以与利用整个梯度
一样有效地重建输入数据:视觉质量。这一结果验证了表示泄露是FL隐私泄露的根本原因。
4 防御手段
4.1 防御方法
在本节中,我们提出了一种名为 Soteria 的针对此类隐私泄露的防御措施。特别是,建议扰乱单层(例如 FC 层)(我们称之为防御层)中的数据表示,以满足以下两个目标:
- 目标 1:为了减少隐私信息泄漏,通过扰动数据表示和原始输入重建的输入应该不同。
- 目标 2:为了保持 FL 性能,扰动的数据表示和没有扰动的真实数据表示应该相似。
- \(X\)和\(X'\):原始输入、通过扰动数据表示的重构输入。为了实现目标 1,要求\(X\)和\(X'\)之间的距离,也就是\(L_p\)范数应尽可能大
- \(r\)和\(r'\):防御层上的干净数据表示、扰动数据表示。为了达到目标 2,要求\(r\)和\(r'\)之间的距离,也就是\(L_p\)范数应该是有界的
形式上,有以下关于\(r'\)的约束目标函数:
\(\begin{align*} & {\mathbf{Achieving}}\;{\mathbf{Goal}}\;{\mathbf{1}}{\text{:}}\mathop {\max }\limits_{r'} {\left\| {X - X'} \right\|_p},\tag{3} \\ & {\mathbf{Achieving}}\;{\mathbf{Goal}}\;{\mathbf{2}}{\text{:}}\;{\text{s}}{\text{.t}}{\text{.,}}\;{\left\| {r - r'} \right\|_q} \leq \varepsilon ,\tag{4}\end{align*}\)
- \(ϵ\)是预定阈值。
- \(X'\)取决于\(r'\)。
接下来,我们设计一个解决方案来获得\(r'\)并推导出认证的稳健性。
4.2 防御解决方案
令\(f:X→r\)为防御层之前的特征提取器。在获得解决方案之前,我们做出以下假设并使用反函数定理。
假设1. \(f\)的逆,即\(f^{–1}\) ,存在于\(r\)上并且\(r′, ∀||r – r′||q ≤ ϵ\)。
引理1. 对于\(∀f : X → r\)和\(f–1 : r → X, ∇_rf^{–1} = (∇_Xf)^{–1}\)。
对象函数可以简化如下:
\(
\begin{align*} & r' = \arg \mathop {\max }\limits_{r'} {\left\| {X - X'} \right\|_p},\;s.t.{\left\| {r - r'} \right\|_q} \leq \varepsilon \tag{5} \\ & = \arg \mathop {\max }\limits_{r'} {\left\| {{f^{ - 1}}(r) - {f^{ - 1}}\left( {r'} \right)} \right\|_p},\;s.t.\;{\left\| {r - r'} \right\|_q} \leq \varepsilon \tag{6} \\ & \approx \arg \mathop {\max }\limits_{r'} {\left\| {{\nabla _r}{f^{ - 1}} \cdot (r - r')} \right\|_p},\;s.t.\;{\left\| {r - r'} \right\|_q} \leq \varepsilon \tag{7} \\ & = \arg \mathop {\max }\limits_{r'} {\left\| {{{\left( {{\nabla _X}f} \right)}^{ - 1}} \cdot (r - r')} \right\|_p},\;s.t.\;{\left\| {r - r'} \right\|_q} \leq \varepsilon ,\tag{8}\end{align*}
\)
- 在(6)中使用假设1,在(7)中使用一阶泰勒展开,在(8)中使用引理1。
- 注意,使用不同的选项\(\left\|·\right\|_p\)和\(\left\|·\right\|_q\),有不同的防御方案和效果。
- 在这项工作中,我们设置\(p=2\),即我们的目标是最大化重建输入和原始输入之间的MSE。
- 设置\(q=0\),有两个原因:我们的防守具有解析解和沟通效率。我们的解决方案是找出集合\(\{\left\|r_i(∇_Xf(r_i))^{-1}\right\|_2\}\)中最大的元素。此外,学习到的扰动表示相对稀疏,从而提高了通信效率。算法1详细描述了得到\(q = 0, p = 2\)的摄动表示\(r'\)的解。
4.3 认证稳健性保证
我们将认证的鲁棒性保证定义为原始输入和重构输入之间的认证最小距离(以\(L_p\)范数表示)。防御界限越大,说明我们的防御越有效。具体来说,我们的防御界有如下定理,请参阅附录C中的证明:
定理1。 假设假设1成立。给定一个数据输入\(X\),它的表示\(r\)和任意扰动数据的表示\(r'\),我们有:
\(\begin{equation*}{\left\| {X - X'} \right\|_p} \geq \frac{{{{\left\| {r - r'} \right\|}_p}}}{{{{\left\| {{\nabla _X}f} \right\|}_p}}}.\tag{9}\end{equation*}\)
5 融合保证
在本节中,我们推导出了FedAvg [16](最流行的FL算法)的收敛保证,以及我们提出的防御。我们首先用我们的防御来描述FedAvg算法,然后提出我们的收敛保证定理。
5.1 FedAvg with Our Defense
在经典\(FedAvg\)中,目标函数定义为:
\(\begin{equation*}{\mathbf{W}} = \mathop {\min }\limits_{\mathbf{W}} \left\{ {F({\mathbf{W}}) \triangleq \sum\limits_{k = 1}^N {p_k}{F_k}({\mathbf{W}})} \right\},\tag{10}\end{equation*}\)
式中,\(p_k\)为第\(k\)个设备的重量,\(p_k≥0\),\(\sum^N_{k=1}p_k=1\)。\(F_k\)是第\(k\)个设备的局部目标。通过一个迭代的服务器-设备通信求解方程10:假设服务器在特定的一轮通信中学习了全局模型\(W_t\),并根据采样概率\(p_1,\cdots,p_N\)随机选择\(K\)个设备\(\mathbb{S}_t\)进行下一轮训练。
然后按如下方式执行\(FedAvg\):首先,服务器将全局模型\(W_t\)发送到所有设备。然后,所有设备将它们的本地模型设为\(W_t\),即\(W^k_t=W_t,∀k∈[1:N]\),并且每个设备执行I次本地更新迭代。具体来说,对于第i次迭代,应用我们防御的第k个设备中的局部模型更新为:
\(\begin{gather*}\nabla F_k^{\prime}\left( {{\mathbf{W}}_{t + i}^k,\xi _{t + i}^k} \right) = \mathcal{T}\left( {\nabla {F_k}\left( {{\mathbf{W}}_{t + i}^k,\xi _{t + i}^k} \right)} \right)\tag{11} \\ {\mathbf{W}}_{t + i + 1}^k \leftarrow {\mathbf{W}}_{t + i}^k - {\eta _{t + i}}\nabla F_k^{\prime}\left( {{\mathbf{W}}_{t + i}^k,\xi _{t + i}^k} \right),\tag{12}\end{gather*}\)
其中\(η_{t+i}\)为学习率,\(ξ^k_{t+i}\)为从第k个设备中均匀选取的数据样本。\(\mathcal{T}(⋅)\)是我们的防御方案。最后,服务器对选定的K台设备的本地模型求平均值,并更新全局模型,如下所示:
\(\begin{equation*}{{\mathbf{W}}_{t + I}} \leftarrow \frac{N}{K}\sum\limits_{k \in {\mathbb{S}_t}} {p_k}{\mathbf{W}}_{t + I}^k.\tag{13}\end{equation*}\)
5.2 收敛性分析
收敛分析受到[15]的启发。在不损失一般性的情况下,通过将我们的防御应用于单个层来获得收敛性保证,这个结果可以很自然地推广到多层。
- \(r^k_t\):第\(k\)个设备和第\(t\)轮中单个(例如第s)层的输入表示
- \(w^k_{st}\):第\(k\)个设备和第\(t\)轮中单个(例如第s)层的参数
- \(b^k_t\):第\(k\)个设备和第\(t\)轮中单个(例如第s)层的输出
- 假设2-5与[15]相同
- 假设6关于随机梯度的平方范数相对于单个s-th层的边界。【额外】
假设2 \(F_1,F_2,\cdots,F_N\)是\(L\)-光滑的:\(∀\mathbf{V}, \mathbf{W}\),\({F_k}({\mathbf{V}}) \leq {F_k}({\mathbf{W}}) + {({\mathbf{V}} - {\mathbf{W}})^T}\nabla {F_k}({\mathbf{W}}) + \frac{L}{2}\left\| {{\mathbf{V}} - {\mathbf{W}}} \right\|_2^2\)
假设3 \(F_1,F_2,\cdots,F_N\)是\(μ-\)强凸的:\(∀\mathbf{V}, \mathbf{W}\),\({F_k}({\mathbf{V}}) \leq {F_k}({\mathbf{W}}) + {({\mathbf{V}} - {\mathbf{W}})^T}\nabla {F_k}({\mathbf{W}}) + \frac{\mu }{2}\left\| {{\mathbf{V}} - {\mathbf{W}}} \right\|_2^2\)
假设4 设\(ξ^k_t\)均匀随机地从第k个设备的局部数据中采样。每个设备的随机梯度方差是有界的:\(\mathbb{E}{\left\| {\nabla {F_k}\left( {{\mathbf{W}}_t^k,\xi _t^k} \right) - \nabla {F_k}\left( {{\mathbf{W}}_t^k} \right)} \right\|^2} \leq \sigma _k^2\),\(k\)从\(1,\cdots,N\)
假设5 随机梯度的期望平方范数均匀有界,即\(\mathbb{E}{\left\| {\nabla {F_k}\left( {{\mathbf{W}}_t^k,\xi _t^k} \right)} \right\|^2} \leq {G^2}\),对于所有\(k=1,\cdots,N\)和\(t=0,\cdots,t-1\)。
假设6 对于单个s层,每个device输出的随机梯度的平方范数是有界的:\({\left\| {{\nabla _{b_t^k}}{F_k}\left( {{\mathbf{w}}_{st}^k,\xi _t^k} \right)} \right\|_2} \leq {{{\Lambda }}_s}\),对于所有\(k=1,\cdots,N\)和\(t=0,\cdots,t-1\)。
- \(F^*\)为\(F\)的最小值
- \(F^*_k\)为\(F_k\)的最小值
令\({{\Gamma }} = {F^ * } - \sum\limits_{k = 1}^N {p_k}F_k^ *\)。假设每个设备有\(I\)次本地更新,总迭代次数为\(T\),那么有如下的FedAvg收敛保证。
定理2 设假设2-6成立,其中定义\(L,μ,σ_k,G,Λ_s\)。选择\(\kappa = \frac{L}{\mu },\gamma = \max \{ 8\kappa ,I\}\)和学习速率\({\eta _t} = \frac{2}{{\mu (\gamma + t)}}\)。那么FedAvg满足了我们的定义。证明见附录D中的证明
\(\begin{equation*}\mathbb{E}\left[ {F\left( {{W_T}} \right)} \right] - {F^ * } \leq \frac{{2\kappa }}{{\gamma + T}}\left( {\frac{{Q + C}}{\mu } + \frac{{\mu \gamma }}{2}\mathbb{E}{{\left\| {{{\mathbf{W}}_0} - {{\mathbf{W}}^ * }} \right\|}^2}} \right),\end{equation*}\)
其中
\(\begin{equation*}\begin{array}{c} {Q = \sum\limits_{k = 1}^N p_k^2\left( {{{{\Lambda }}_s} \cdot \varepsilon + \sigma _k^2} \right) + 6L{{\Gamma }} + 8{{(I - 1)}^2}\left( {{{{\Lambda }}_s} \cdot \varepsilon + {G^2}} \right)} \\ {C = \frac{4}{K}{I^2}\left( {{{{\Lambda }}_s} \cdot \varepsilon + {G^2}} \right).} \end{array}\end{equation*}\)
- Representation Perspective Federated Provable Learningrepresentation perspective federated provable federated learning 005 heterogeneous federated learning yourself healthcare federated learning会议 representation incremental classifier learning representation sparsification learning robust representation generative synthesis learning image representation continuous learning representation unsupervised degradation learning provable