背景:
大规模搜集数据来进行深度学习造成了严重的隐私问题。
带来的问题:
1.收集这些数据的公司会永远保存这些数据;从中收集数据的用户既不能删除这些数据,也不能控制如何使用这些数据,也不能控制从他们的数据中学习到的多少。
2.图像和语音记录往往包含意外捕捉到的敏感物品面部、车牌、电脑屏幕、他人说话的声音和环境噪音等。
3.公司保存的用户数据要接受传票和搜查令,以及国家安全和情报机构的无担保间谍活动
4.互联网巨头对从数百万用户收集的“大数据”的垄断导致了他们对从这些数据中学习到的人工智能模型的垄断。
这篇论文的主要创新点在于有选择的共享模型的参数。
这种参数共享的方法,使得即使没有额外的保护,已经实现了比任何现有的方法都更强大的隐私。系统中唯一的泄漏不是直接显示所有训练数据,而是通过一小部分神经网络参数间接泄漏。为了尽量减少这种泄漏,我们展示了如何使用稀疏向量技术将差异隐私应用于参数更新,从而减少由于参数选择(即,选择要共享的参数)和共享参数值造成的隐私损失。
该论文中深度学习系统的架构:
DSSGD假设两个或多个参与者同时独立训练。在每一轮local training之后,每个参与方都可以异步选择梯度进行共享(上传)。每个参与方可以控制需要上传的梯度的个数以及共享的频率。中心服务器可以根据上传的梯度更新相应的参数。
元参数:
DSSGD在各个参与方中的过程
选择初始化参数 w ( i ) w^{(i)} w(i)和学习率α
repeated:
(1)从server上下载 θ d θ_d θdx w ( i ) w{(i)} w(i)的参数并替换相应的本地参数。
(2)在本地数据集上跑SGD,并更新 w ( i ) w{(i)} w(i).
这里的SGD一般采用mini-batch SGD(随机选择一组大小为M的batch),当然,也可以使用SGD。
(3)对于所有的parameters计算其梯度 △ w ( i ) △w^{(i)} △w(i)
(4)上传 △ w s ( i ) △w_s^{(i)} △ws(i)到server.
那么,到底应该如何上传呢?上传多少呢?
论文中提到了两种上传梯度的方案:
(1)选取对模型贡献最大的 θ u θ_u