GAR

从分布式服务器接收到各自的梯度 之后,将不同的梯度更新方向整合到一个方向。 通常来说,参数的更新方式为: 其中 为学习率。

Clasical GAR

Linear GAR

Workers

Benign Worker

如果一个 worker 在时刻 t 的梯度 是无偏的,即 ,则称此 worker 是 Benign Worker 。

Byzantine Worker

如果一个 worker 在时刻 t 的梯度 是有偏的,即 ,则称此 worker 是 Byzantine Worker 。

Role Function

用来决定当前 worker 是 Benign 还是 Byzantine 。 如果是 Byzantine Worker,在传送梯度到 server 时会对梯度进行篡改。

Previous Defenses

Brute-Force

找一个最优集 ,它是 的子集,大小为

GAR 函数为:

需要满足 Byzantine ratio:

GeoMed

找与其他 worker 距离之和最小的一个 worker 的梯度作为最终梯度。

GAR 函数为:

需要满足 Byzantine ratio:

Krum

首先利用 Brute-Force GAR 的方法找一个大小为 的最优集, 然后对每个最优集中的 worker,计算:

GAR 函数为:

需要满足 Byzantine ratio:

Bulyan

首先,它运行 Krum 方法得到 的梯度的选择集, 然后,它在每个方向上计算 的第 i 个坐标等于选择集中第 i 个坐标的中值旁边 个值的平均值。

需要满足 Byzantine ratio:

Security Assumptions

Server 是安全可信的。

至少有一个 worker 不被敌人控制。

各个 worker 的数据集是独立同分布的。

GAA 有权限接触到验证集。

Goals

确保分布式学习可以得到正确的梯度,将损失降到可接受的范围。

Distributed Learning as a Markov Decision Process

States

是 Server 的参数, 是接收到的梯度, 是 Server 在验证集 上的损失。

Actions 各个 worker 的权重

Rewards \hat{f}_{B}(\theta_t)-\hat^{f}_{B}(\theta_{t+1})

Views

Methods

Experiments

Conclusion