论文贡献:
安全上:系统不会向诚实但好奇的参数(云)服务器泄露参与者的信息。
精确度上:系统达到所有参与者联合数据集上训练的相应深度学习系统相同的精度。
技术总览:
我们的神经网络可以通过一个称为异步SGD的SGD变体进行训练,该变体具有数据并行性和模型并行性。
具体:
ASGD:①对神经网络的全局权重向量进行随机初始化。②每次迭代时,在本地数据集(数据并行性)上运行神经网络的副本,并将相应的本地梯度向量
发送到云服务器。对于每个
,云服务器随后更新全局参数,如下所示:
(1)
为学习率。
更新后的全局权重参数将广播所有副本,然后由这些副本替换旧的权重参数。更新和广播的过程被重复,知道达到预先定义的成本函数所需的最小值。对于模型并行性,通过向量
和
的分量并行计算(1)处的更新。
Shokri-Shmatikov system:文中又介绍了一种Shokri-Shmatikov system,使用了梯度选择ASGD,由于噪声的存在,造成学习的精度下降。这里就不做介绍。
我们的系统:
我的理解是对梯度下降进行同态加密,即:
全局参数更新公式: (2)
同态加密公式: (3)
此外,为保证全同态密文的完整性,每个客户端都将使用一个安全的通道,如TLS/SSL(彼此不同)来与服务器进行同态密文通信。
2.1:列出了全同态加密的定义
2.2:机器学习的运行机制:
SGD向量化:
(4)
SGD更新法则:
(5)
因此,计算梯度G,就可以更新权重W。因此,计算G时使用数据可以是分布式的(数据并行性)。此外,可以通过考虑向量的单独部分(即模型并行性)来并行更新过程。
Asynchronous SGD:
具体来说,AsynchronousSGD将其权重向量W和梯度G拆分为个部分,即