迈向隐私:使用 Syft 和 Keras 进行加密深度学习

深度学习与隐私保护并非不可调和。联合学习支持设备上的分布式模型训练;加密使模型和梯度更新保持私密;差分隐私可防止训练数据泄露。如今,私密且安全的深度学习是一种新兴技术。在这篇文章中,我们介绍了 Syft,这是一个与 PyTorch 和 TensorFlow 集成的开源框架。在一个示例用例中,我们从 Keras 模型中获得私密预测。

来源:RStudio AI博客

在深度学习(或机器学习,或“AI”)的背景下,隐私一词,尤其是与安全等事物结合在一起时,听起来像是一句流行语的一部分:隐私、安全、保障——就像自由、博爱、平等一样。事实上,可能应该有这样的口头禅。但这是另一个话题,就像刚才提到的另一个流行语一样,并不是每个人都以相同的方式解释这些术语。

隐私 安全 隐私、安全、保障 自由、博爱、平等

因此,让我们以更技术性的方式思考隐私,将其缩小到其在训练或使用深度学习模型中的作用。由于隐私——或者更确切地说,其侵犯——可能以各种方式出现,不同的侵犯将需要不同的对策。当然,最终,我们希望看到它们全部整合在一起——但就隐私相关技术而言,该领域才刚刚起步。那么,我们能做的最重要的事情就是了解这些概念,调查正在开发的实施情况,并——也许——决定加入这项工作。

这篇文章试图对所有这些内容做一点介绍。

深度学习中的隐私方面

假设您在一家医院工作,并且有兴趣训练一个深度学习模型来帮助从脑部扫描中诊断某种疾病。您工作的地方没有很多患有这种疾病的患者;而且,他们往往主要受到相同亚型的影响:如果您创建训练集,它将无法很好地反映整体分布。因此,与其他医院合作是有意义的;但这并不容易,因为收集的数据受到隐私法规的保护。因此,第一个要求是:数据必须留在原处;例如,它可能不会被发送到中央服务器。

联合学习

必要条件 联合学习 (McMahan 等人,2016 年) McMahan 等人,2016 年

实现此目标的一种方法依赖于安全多方计算 (SMPC)。

安全多方计算

安全多方计算