联邦学习的收敛性分析
在联邦学习中,我们的目标是分析全局模型的收敛性,考虑设备异构性(不同用户的本地训练轮次不同)和数据异质性(用户数据分布不均匀)。以下推导从全局模型更新开始,逐步引入假设并推导期望损失的递减关系,最终给出收敛性结论。
1. 全局模型更新与泰勒展开
全局模型更新
在联邦学习中,设全局模型在第 t t t 轮为 g t g_t gt,共有 U U U 个用户参与训练。每个用户 k k k 从全局模型 g t g_t gt 开始(即 w t k , 0 = g t w_t^{k, 0} = g_t wtk,0=gt),进行 l k t l_k^t lkt 轮本地梯度下降更新:
w t k , i + 1 = w t k , i − η ∇ G t k , i , w_t^{k, i+1} = w_t^{k, i} - \eta \nabla \mathcal{G}_t^{k, i}, wtk,i+1=wtk,i−η∇Gtk,i,
其中 η \eta η 是学习率, ∇ G t k , i \nabla \mathcal{G}_t^{k, i} ∇Gtk,i 是用户 k k k 在第 i i i 轮本地训练时的梯度。经过 l k t l_k^t lkt 轮训练后,用户 k k k 的本地模型为:
w t k , l k t = w t k , 0 − η ∑ i = 0 l k t − 1 ∇ G t k , i = g t − η ∑ i = 0 l k t − 1 ∇ G t k , i . w_t^{k, l_k^t} = w_t^{k, 0} - \eta \sum_{i=0}^{l_k^t - 1} \nabla \mathcal{G}_t^{k, i} = g_t - \eta \sum_{i=0}^{l_k^t - 1} \nabla \mathcal{G}_t^{k, i}. wtk,lkt=wtk,0−ηi=0∑lkt−1∇Gtk,i=gt−ηi=0∑lkt−1∇Gtk,i.
全局模型通过聚合所有用户的本地模型得到:
g t + 1 = 1 U ∑ k = 1 U w t k , l k t = g t − η U ∑ k = 1 U ∑ i = 0 l k t − 1 ∇ G t k , i . g_{t+1} = \frac{1}{U} \sum_{k=1}^U w_t^{k, l_k^t} = g_t - \frac{\eta}{U} \sum_{k=1}^U \sum_{i=0}^{l_k^t - 1} \nabla \mathcal{G}_t^{k, i}. gt+1=U1k=1∑Uwtk,lkt=gt−Uηk=1∑Ui=0∑lkt−1∇Gtk,i.
泰勒展开
为了分析全局损失 F ( g t + 1 ) F(g_{t+1}) F(gt+1) 的变化,我们对 F ( g t + 1 ) F(g_{t+1}) F(gt+1) 在 g t g_t gt 处进行二阶泰勒展开:
F ( g t + 1 ) ≈ F ( g t ) + ∇ F ( g t ) T ( g t + 1 − g t ) + 1 2 ( g t + 1 − g t ) T ∇ 2 F ( g t ) ( g t + 1 − g t ) . F(g_{t+1}) \approx F(g_t) + \nabla F(g_t)^T (g_{t+1} - g_t) + \frac{1}{2} (g_{t+1} - g_t)^T \nabla^2 F(g_t) (g_{t+1} - g_t). F(gt+1)≈F(gt)+∇F(gt)T(gt+1−gt)+21(gt+1−gt)T∇2F(gt)(gt+1−gt).
代入 g t + 1 − g t = − η U ∑ k = 1 U ∑ i = 0 l k t − 1 ∇ G t k , i g_{t+1} - g_t = -\frac{\eta}{U} \sum_{k=1}^U \sum_{i=0}^{l_k^t - 1} \nabla \mathcal{G}_t^{k, i} gt+1−gt=−Uη∑k=1U∑i=0lkt−1∇Gtk,i:
F ( g t + 1 ) ≈ F ( g t ) − η U ∇ F ( g t ) T ( ∑ k = 1 U ∑ i = 0 l k t − 1 ∇ G t k , i ) + η 2 2 ( 1 U ∑ k = 1 U ∑ i = 0 l k t − 1 ∇ G t k , i ) T ∇ 2 F ( g t ) ( 1 U ∑ k = 1 U ∑ i = 0 l k t − 1 ∇ G t k , i ) . F(g_{t+1}) \approx F(g_t) - \frac{\eta}{U} \nabla F(g_t)^T \left( \sum_{k=1}^U \sum_{i=0}^{l_k^t - 1} \nabla \mathcal{G}_t^{k, i} \right) + \frac{\eta^2}{2} \left( \frac{1}{U} \sum_{k=1}^U \sum_{i=0}^{l_k^t - 1} \nabla \mathcal{G}_t^{k, i} \right)^T \nabla^2 F(g_t) \left( \frac{1}{U} \sum_{k=1}^U \sum_{i=0}^{l_k^t - 1} \nabla \mathcal{G}_t^{k, i} \right). F(gt+1)≈F(gt)−Uη∇F(gt)T