1 min read 279 words Updated Apr 25, 2026 Created May 03, 2026

这篇文章在对比 C-PSGD 和 D-PSGD 有什么区别。文章采用的是静态的环链路。计算复杂度相同,但是通讯复杂度,C-PSGD 是 $O(n)$,而 D-PSGD 是与图结构相关的复杂度。

贡献:

  1. 发现当 $n$ 足够大时,由于没有中心资源调度的问题,所以速度会比 C-PSGD 快,而且是线性倍数。
  2. 当边缘不稳定(宽带带宽非常小或者延迟非常高),那么 D-PSGD 会快很多。

$K$ 表示迭代次数, $n$ 表示节点数,考虑收敛率:

  • SGD 对于凸问题 $O(\frac 1 {\sqrt K})$,强凸问题 $O(1/ K)$
  • C-PSGD 有 $O(1/ \sqrt{Kn})$
  • D-PSGD 一致,但是计算复杂度是凸问题 $O(n / \epsilon^2)$ ,强凸问题是 $O(n / \epsilon)$。提出的算,使得通信和计算可以并行执行,也就是说,可以让通信的时间被覆盖,使得计算速度优于 C-PSGD。

算法步骤(对于每一个节点设备来说):

  1. 初始化
  2. 随机采样若干本地数据
  3. 计算本地的随机梯度和下降参数 $\nabla$
  4. 计算相邻设备的参数平均 $x_{k + \frac 1 2, i}$
  5. 计算新一轮的参数:$x_{k + 1, i} = x_{k + \frac 1 2, i} - \gamma \nabla$
  6. 迭代足够的次数(回到 2)
  7. 最终输出 $x_{k, i}$ 的平均。

如果说让全局参数聚合到一个矩阵表示,那么每一轮算法其实就是在:

$$X_{k + 1} = X_k W - \gamma \partial F(X_k ; \xi_k) $$

我们说,这个算法给出了一个 $\epsilon$ 近似解,如果:

$$K^{-1} \left( \sum_{k = 0}^{K - 1} {\mathbb E} \left \| \nabla f\left(\frac {X_k {\bf 1}_n}{n}\right) \right\|^2 \right) \le \epsilon $$

其中 $f(x) = {\mathbb E}_{\xi \sim D} F(x ; \xi)$,也就是在数据集上的平均损失。

如何证明收敛?

根据神秘言论:D-PSGD 收敛性证明的核心逻辑是“共识误差与优化进展解耦”:将去中心化迭代拆解为虚拟中心化 SGD 动力学与节点分歧误差,利用图拉普拉斯谱间隙控制共识收缩,再将分歧误差作为扰动项注入光滑下降不等式,最终通过 telescoping 求和导出非凸优化下的 $O(1/ \sqrt{K})$ 速率。
看不懂思密达

关键假设:

假设数学表述作用
$L$-Smoothness$\|\nabla f(x)-\nabla f(y)\| \le L\|x-y\|$保证二次上界与下降步长可控
有界方差$\mathbb{E}[\|g_{i,k}-\nabla f_i(x_{i,k})\|^2] \le \sigma^2$控制随机噪声累积
双随机图网络$W\mathbf{1}=\mathbf{1}, \mathbf{1}^\top W=\mathbf{1}^\top$保证平均序列 $\bar{x}_k$ 无偏漂移

具体证明过程暂略,有点复杂(论文 11 页????????????。

结论是,D-PSGD 的收敛速率是 $O(\frac 1 K + \frac 1 {\sqrt{nK}})$,当 $K$ 足够大时,以后者为主导,这说明,如果需要达到一个 $\epsilon$ 近似解,需要 $O(\frac 1 {\epsilon^2})$ 的计算复杂度。

对于图网络,作者设为了:

$$W = \begin{pmatrix} 1 /3 & 1/3 & & & & 1/3 \\ 1/3 & 1/3 & 1/3 & & & \\ & 1/3 & 1/3 & \ddots & & \\ & & \ddots & \ddots & 1/3 & \\ & & & 1/3 & 1/3 & 1/3 \\ 1/3 & & & & 1/3 & 1/3 \end{pmatrix} $$