0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Facebook开源Opacus:用于差分隐私的PyTorch库

电子设计 来源:电子设计 作者:电子设计 2020-12-15 00:47 次阅读

Opacus 是 Facebook AI 更为广泛努力的一部分,旨在推动用于机器学习和负责任的人工智能安全计算技术。总的来说,这是一个重要的踏脚石,使该领域在未来转向隐私优先的系统。日前,Opacus 已开源发布。

差分隐私(Differential privacy,DP)是密码学中的一种手段,旨在提供一种当从统计数据库查询时,最大化数据查询的准确性,同时最大限度减少识别其记录的机会。读者可以查看这篇由 InfoQ 中文站翻译的文章《差分隐私简介》,以了解基本概念。

机器学习算法一般是用大量数据更新模型参数,学习数据特征。在理想情况下,这些算法学习到一些泛化性较好的模型,例如 “吸烟患者更容易得肺癌”,而不是特定的个体特征,例如 “张三是个吸烟者,患有肺癌”。然而,机器学习算法并不会区分通用特征还是个体特征。当我们用机器学习来完成某个重要任务,例如肺癌诊断,发布的机器学习模型可能在无意中透露训练集中的个体特征,恶意攻击者可能从发布的模型获得关于张三的隐私信息,因此使用差分隐私技术来保护机器学习模型是十分必要的。

通常,差分隐私需要在将原始数据输入本地机器学习模型之前,将少量噪声注入原始数据,从而使恶意攻击者难以从训练的模型中提取出原始文件。如果一个观察者观察算法的输出,无法判断它在计算中是否使用了某个特定个体的信息,那么这个算法就可以被认为是差分隐私的。

为了解决这一问题,日前,Facebook 发布并开源了Opacus,这是一个新的高速库,用于训练具有差分隐私的 PyTorch 模型,比现有的最先进方法更具可扩展性。差分隐私是一个数学上严谨的框架,用于量化敏感数据的匿名化。人们对机器学习社区的兴趣越来越浓厚,它经常被用于分析。随着 Opacus 的发布,Facebook 希望能为研究人员和工程师在机器学习中采用差分隐私提供一条更简单的路径,并加速该领域的差分隐私研究。

Opacus 地址

Opacus 提供了如下特征:

速度:通过利用 PyTorch 中的 Autograd 钩子,Opacus 可以计算经过批处理的每个样本梯度,与现有的依赖微批处理的 DP 库相比,速度提高了一个数量级。

安全性:Opacus 为安全关键代码使用了一个 密码安全、伪随机、GPU 加速的数字数生成器。

灵活性:多亏了 PyTorch,工程师和研究人员可以通过将 Facebook 的代码与 PyTorch 代码和纯 Python 代码混合匹配,从而快速构建他们的想法原型。

生产力:Opacus 提供了教程、辅助函数(可以在你的训练开始之前警告不兼容的层),以及自动重构机制。

交互性:Opacus 可以跟踪你在任何给定时间点上的隐私预算(差分隐私中的核心数学概念),从而实现提前停止和实时监控。

Opacus 通过引入 PrivacyEngine 抽象定义了一个轻量级 API,它负责跟踪隐私预算和处理模型的梯度。你不需要直接调用它进行操作,因为它连接到标准的 PyTorch 优化器上。它在幕后工作,使得使用 Opacus 进行训练就像在你的训练代码的开头添加这些代码行一样容易:

model = Net()
optimizer = torch.optim.SGD(model.parameters(), lr=0.05)
privacy_engine = PrivacyEngine(
model,
batch_size=32,
sample_size=len(train_loader.dataset),
alphas=range(2,32),
noise_multiplier=1.3,
max_grad_norm=1.0,
)
privacy_engine.attach(optimizer)
# That's it! Now it's business as usual

经过训练,得到的是一个标准的 PyTorch 模型,没有部署私有模型的额外步骤或障碍:如果今天可以部署一个模型,那么你就可以在用差分隐私训练后部署它,无需更改任何一行代码。

Opacus 库还包括预训练和微调的模型、针对大型模型的教程,以及为隐私研究实验设计的基础设置。它是开源的【地址】

利用 Opacus 实现高速隐私训练

Facebook 表示,他们使用 Opacus 的目的是保护每个训练样本的隐私,同时限制对最终模型正确率的影响。Opacus 通过修改标准 PyTorch 优化器来实现这一目标,以便在训练期间执行(和测量)查分意思。更具体地说,他们的方法以差分隐私随机梯度下降(Differentially private stochastic gradient descent,DP-SGD)为中心

这个算法背后的核心思想是,可以通过干预模型用来更新权重的参数梯度,而不是直接干预数据,从而保护训练数据集的隐私。通过在每次迭代中想梯度添加噪声,人们就可以防止模型记忆其训练实例,同时仍然可以进行融合学习。在训练过程中看到的许多批处理中,(无偏的)噪声将自然地趋于抵消。

这种每个样本的计算是构建 Opacus 的最大障碍之一。与使用 PyTorch 的典型操作相比,它更具挑战性,因为在 PyTorch 中,Autograd计算整个批处理的梯度张量,因为这对于所有其他机器学习用例都是有意义的,并且它对性能进行了优化。为克服这一问题,Facebook 使用了一种有效的技术,在训练标准神经网络时获得所有需要的梯度向量。对于模型参数,则单独返回给定批处理中每个示例的损失梯度,例如:

通过在运行层时跟踪一些中间量,人们可以使用适合内存的任何批处理大小进行训练,这使得 Facebook 的方法与其他软件包中使用的替代微批处理方法相比,速度提高了一个数量级。

隐私保护机器学习的重要性

安全社区鼓励安全关键代码的开发者使用少量经过仔细审核和专业维护的库。这种“不要自己搞安全方案”原则有助于最大限度地减少攻击面,让应用开发人员专注于他们最擅长的事情:构建伟大的产品。随着机器学习的应用和研究不断加速,对于机器学习研究人员来说,在不减慢训练过程的前提下,获得简单易用的工具,以获得数学上严格的隐私保证是非常重要的。

Facebook 希望通过开发像 Opacus 这样的 PyTorch 工具,使此类隐私保护资源的访问更加民主化。Facebook 正在通过使用 PyTorch 的更快速、更灵活的平台,弥合安全社区和普通机器学习工程师之间的鸿沟。

建立社区

过去几年,隐私保护机器学习(Privacy-preserving machine learning,PPML)社区发展迅速。Facebook 表示他们对围绕 Opacus 形成的生态系统感到兴奋,这个生态系统由 PPML 的领导者组成。

OpenMined 是 Facebook 的主要贡献者之一,它是一个由数千名开发者组成的社区,他们在开发应用时考虑到了隐私问题。OpenMined 社区已经为 CrypTen 做出了贡献,并利用 PyTorch 的许多构件来支持 PySyft 和 PyGrid 的差分隐私和联合学习。作为合作的一部分,Opacus 将成为 PySyft 等 OpenMined 库的依赖。

Facebook 期待继续合作,进一步发展社区。

文章来源:AI前线 ,作者Davide Testuggine、Ilya Mironov

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1791

    文章

    46838

    浏览量

    237496
  • 开源
    +关注

    关注

    3

    文章

    3244

    浏览量

    42381
  • pytorch
    +关注

    关注

    2

    文章

    803

    浏览量

    13143
收藏 人收藏

    评论

    相关推荐

    Facebook智能音箱可能先在国际市场推出 隐私问题受到关注

      导读:据外媒报道,据知情人士称,Facebook正考虑在国际市场上率先推出其智能音箱产品,以避免因数据隐私问题在美国遭到公开审查。此外,这两款智能音箱将内置一款语音助手,它使用的基础技术与公司在
    发表于 05-09 09:29

    美国智能音箱Facebook信任度垫底

    ]  调查发现,在美国市场六个智能家居品牌中,Facebook是人们在个人数据和家庭安全方面最不信任的智能硬件品牌。据了解,Facebook隐私方面有些“前科”,该公司因数据泄露曾受到抨击,黑客可以从近
    发表于 01-25 09:27

    基于隐私的轨迹模式挖掘算法

    长度,然后采用一种动态规划的策略对原始数据进行截断处理,在此基础上,利用等价关系构建前缀序列格,并挖掘频繁轨迹模式。理论分析表明LTPM算法满足s一隐私;实验结果表明,LTPM算
    发表于 11-25 11:38 0次下载
    基于<b class='flag-5'>差</b><b class='flag-5'>分</b><b class='flag-5'>隐私</b>的轨迹模式挖掘算法

    基于隐私的数据匿名化隐私保护模型

    在保护数据隐私的匿名技术中,为解决匿名安全性不足的问题,即匿名过程中因计算等价类质心遭受同质性和背景知识攻击造成的隐私泄漏,提出了一种基于隐私
    发表于 12-11 16:31 0次下载
    基于<b class='flag-5'>差</b><b class='flag-5'>分</b><b class='flag-5'>隐私</b>的数据匿名化<b class='flag-5'>隐私</b>保护模型

    线性查询的一种近似最优隐私机制

    隐私保护程度确定的条件下使数据的有用性最大化的问题,称为隐私的最优机制问题.最优机制问
    发表于 12-26 14:10 0次下载

    一种轨迹隐私发布方法

    针对现有轨迹隐私保护发布方法面临的独立噪声容易被滤除的问题,提出一种轨迹隐私发布方法-C
    发表于 01-17 14:11 0次下载
    一种轨迹<b class='flag-5'>差</b><b class='flag-5'>分</b><b class='flag-5'>隐私</b>发布方法

    Facebook致力AI开源PyTorch 1.0 AI框架

    Facebook近日宣布,将于近期开源PyTorch 1.0 AI框架,据悉,该框架是PyTorch与Caffe 2的结合,可以让开发者无需迁移就从研究转为生产。
    的头像 发表于 05-08 14:58 3385次阅读

    Facebook致力AI 开源PyTorch1.0 AI框架

    导读: Facebook近日宣布,将于近期开源PyTorch 1.0 AI框架,据悉,该框架是PyTorch与Caffe 2的结合,可以让开发者无需迁移就从研究转为生产。
    的头像 发表于 06-18 10:30 3162次阅读

    Facebook宣布发布深度学习框架 PyTorch 1.0开发者预览版

    为了满足这些需求,Google Cloud 也将为其众多服务引入 PyTorch 支持。Facebook 在宣布这一消息的博客文章中称,Google 与 Facebook 合作在为 PyTor
    的头像 发表于 10-08 14:36 3187次阅读

    如何使用隐私保护进行谱聚类算法

    针对传统的聚类算法存在隐私泄露的风险,提出一种基于隐私保护的谱聚类算法。该算法基于
    发表于 12-14 10:54 11次下载
    如何使用<b class='flag-5'>差</b><b class='flag-5'>分</b><b class='flag-5'>隐私</b>保护进行谱聚类算法

    Facebook与CMU联手打造开源框架PyRobot

    Facebook AI近期对机器人技术非常热衷,刚刚又开源了机器人框架PyRobot,该框架是与卡内基梅隆大学合作创建,可运行由Facebook的机器学习框架PyTorch训练的深度学
    发表于 06-24 15:14 3793次阅读

    基于ExtraTrees的隐私保护算法DiffPETs

    得分最高的特征,通过拉普拉斯机制在叶子节点上进行加噪,使算法能够提供ε-隐私保护。将 Diffsets算法应用于决策树分类和回归分析中,对于分类树,选择基尼指数作为指数机制的可用性
    发表于 05-11 14:42 10次下载

    电压源开源项目

    电子发烧友网站提供《电压源开源项目.zip》资料免费下载
    发表于 08-05 14:27 3次下载
    <b class='flag-5'>差</b><b class='flag-5'>分</b>电压源<b class='flag-5'>开源</b>项目

    苹果的隐私技术原理详解

    隐私是一种数据隐私保护技术,它通过在数据中引入随机化扰动的手段来保护隐私。简单来说,扰动后的数据是无法精确地推断出其原始值。
    的头像 发表于 07-19 10:17 1328次阅读
    苹果的<b class='flag-5'>差</b><b class='flag-5'>分</b><b class='flag-5'>隐私</b>技术原理详解

    Facebook开源StyleX如何在JavaScript中写CSS呢?

    Meta(原 Facebook开源了全新的 CSS-in-JS StyleX。
    的头像 发表于 12-14 10:03 667次阅读