少年帮|Facebook开源差分隐私库Opacus,可保护数据隐私且高效训练Prytorch模型( 二 )
需要强调的是 , 由于PyTorch优化器可以查看参数梯度 , 因此 , 可以直接将噪声添加到其中 , 并允许任何人简单地训练差分私有模型 , 其代码如下:
此外 , 噪声的定量问题是这一解决方案的关键 。 因为过多的噪声会破坏信号 , 过少的噪声将无法保证隐私 。
为了确定合适的比例 , 首先要查看小批量中梯度的最大范数 。 因为离群值比大多数样本具有更大的梯度 , 需要确保这些异常值的私密性 。
通常研究人员会采用微批量(microbatch)的方法 。 该方法是在小批量处理中计算每个样本的梯度 , 分别裁剪梯度 , 将其累积回单个梯度张量 , 然后将噪声添加到总和中 。 该方法具有简单性和兼容性和特点 , 但计算每个样本的梯度 , 限制了训练的速度 。
在这里 , Opacus采用了另一种更高效的解决方案 。 该方案由谷歌于2015年提出 , 其论文为《EFFICIENT PER-EXAMPLE GRADIENT COMPUTATIONS》 , 对于所有ML样本而言 , 它可以计算整个批次的梯度向量 , 同时优化性能 。
Facebook在论文中表示 , 他们在训练标准神经网络时 , 采用该方法获得了所有需要的梯度向量 。 该方法的不同之处在于 , 对于模型参数 , 可以单独返回给定批次中每个示例的损耗梯度 , 如下所示:
通过在运行各层时跟踪一些中间数量 , 可以使用适合内存的任何批次大小进行训练 , 这种方法比其他软件包中的微批量方法快一个数量级 。
安装方法目前 , 这款Opacus高速库已经在Github开源 。 所有机器学习从业者和差异隐私科学家都可以下载使用 。
Github地址:
Facebook表示 , 他们希望通过开发Opacus之类的PyTorch工具 , 可以使对此类隐私保护资源的访问民主化 , 同时通过使用PyTorch的更快 , 更灵活的平台弥合了安全社区和通用机器学习工程师之间的鸿沟 。
用户可以直接从Github安装最新版本 , 代码如下:
git clone .git
cd opacus
pip install -e .
另外 , 需要注意的是 , 要使用差分隐私训练模型 , 需要声明PrivacyEngine , 并将其附加到优化器 , 再运行 , 例如:
引用链接:雷锋网雷锋网雷锋网
推荐阅读
- 金戈鐵馬|特朗普力挺铁杆支持者,枪杀两人的少年没错?抗议活动不断发酵
- 开封于七一|育迎宾尚法好少年,借温柔秋风多送法
- 少年|央视要搞选秀,热搜沸了!网友提名他当导师,点赞数第一
- 暖夏少年|2020电脑硬盘销量排行榜:七彩虹加入战局,硬是打倒了金士顿
- 少年一梦|2020畅销手机排行,iPhone无人超越,安卓旗舰全线溃败
- 少年帮|进入倒计时,华为突然宣布,供应链将迎来“洗牌”?
- 少年帮|纯国产“龙芯”即将来临,正式确认?中科院宣布决定
- 上线|原创央视也搞成团选秀!《上线吧!华彩少年》有哪些优势?粉丝放心了
- 海报|央视首档少年成团选秀节目《上线吧!华彩少年》开始全球招募
- 少年帮|正式确认?中科院宣布决定,纯国产“龙芯”即将来临
