Related Works
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 在验证集 上的损失。