论文学习记录20200619:隐私保护机器学习[TIFS2017]

Privacy-Preserving Deep Learning via Additively Homomorphic Encryption
在这里插入图片描述
这篇论文结构比较明了,也挺简单的,它只针对机器学习中的一个算法进行隐私保护,就是异步随机梯度下降算法,也只用了一种密码学技术,加法同态加密。
在这里插入图片描述
论文提出了一个新的深度学习系统,使用加法同态加密来保护诚实但好奇的云服务器上的梯度。之前的secagg其实也算是对梯度的隐私保护,那篇论文主要是通过添加掩码最后消除的方法,额外用了秘密共享、认证加密等密码学工具。这篇论文只用了加法同态加密。所有梯度都被加密并存储在云服务器上,加法同态属性允许对梯度进行计算,加法计算。
这篇论文里也提到了那篇论文,但是他没有在效率或者安全上进行比较,就说这种多样性很好,可以为特定的应用程序做好选择。

在安全性和准确性方面具有以下特点:
Security. 系统不会向诚实但好奇的参数(云)服务器泄露参与者的信息。
Accuracy. 系统达到与所有参与者联合数据集上训练的相应深度学习系统(异步随机梯度下降,见下文)相同的精度。
简言之,系统在这两个方面都享有最好的优势:安全性如密码学,精确性如深度学习
在这里插入图片描述
神经网络可以通过一个称为异步SGD进行训练,具有数据并行性和模型并行性的特性。具体来说,首先对神经网络的全局权重向量W进行随机初始化。
异步SGD使用神经网络的多个副本。在每次执行之前,每个副本都将从参数服务器下载最新的权重W;并且每个神经网络副本都在一个在本地数据集(数据并行性)上运行,生成本地梯度向量G,发送到云服务器。服务器具有多个处理单元在这里插入图片描述 ,由于处理单元可以并行运行,所以这里将其权重向量W和梯度G拆分为npu个部分 在这里插入图片描述 在这里插入图片描述,显著提高了深度网络训练的规模和速度。
对于每个wi和G i,云服务器的处理单元PUi都会计算,在这里插入图片描述
来更新全局权重向量参数w,
其中α是学习率。
更新后的全局权重参数W将广播到所有副本,然后这些副本用它来替换旧的权重参数。这种更新和广播W的过程一直重复,直到损失函数达到理想状态。
在这里插入图片描述
下面作者举了几个例子表示梯度会泄露信息,而且现有的梯度保护的系统并不能有效地保护数据信息。
主要原因是下面这两条1 ηk / η(伊塔eta) = xk。Nk和n都是梯度,xk是输入x中的第k个元素。因此,如果ηk和η被共享到云服务器,xk将完全泄漏。
然后举了一个例子,现有梯度保护方案[26]中,建议是随机选择1%的本地梯度共享给服务器,那么ηk和η共享的概率是(1/100)x(1/100)= 1/10000,这个一万分之一是不可忽略的,这是存在一个概率泄露输入的。
2 注意到梯度ηk与输入xk成正比(对所有的1 ≤ i ≤ d)。因此,当x =(x1,…,xd)是一张图像时,可以使用梯度生成相关的“成比例”图像,然后通过猜测获得真实值y

图a是原数据图像,bcd都是通过梯度恢复出来的图像。图b是经过一般的神经网络训练过程中得到的梯度恢复出来的图像,c是带有正则化操作的神经网络的梯度恢复出来的图像,d是加了Laplace噪声的神经网络的梯度恢复出来的图像。从图中可以看到,正则化和加Laplace噪声会有一些作用,但是恢复出来的图像依然能够辨识,能够看出它的真实值y,也就是图中这个0。如果Laplace的噪声加的再多,那么确实无法从梯度上恢复出图像信息,但是过多的噪声会导致这个权值不可用,对准确率造成影响
在这里插入图片描述
由一个公共云服务器和N个(e.g.=10x)学习参与者组成
参与者共同设置公钥pk和私钥sk,以实现加法同态加密方案。私钥sk是所有参与者都知道的,但是对云服务器保密。

图挺清楚的
在这里插入图片描述
安全性:系统没有向诚实但好奇的云服务器泄露学习参与者的信息,前提是同态加密方案是CPA(选择明文攻击)安全的。因为参与者只向云服务器发送加密的梯度。因此,如果加密方案是CPA安全的,那么参与者的数据就不会泄露任何信息。
准确性:只要所有的梯度都被上传和下载,所有的密文都被正确解密,那么这个系统就和一般的异步随机梯度下降算法的准确率没有差别。
在这里插入图片描述下面是作者对他这个系统的一个实例化操作,用了两种,一个是基于LWE的加密,这个是格那一块的东西,我没有细看
第二个就是基于paillier的加密
我主要关注了一下他是怎么对一个矩阵向量进行同态加密运算的
对于一个小数,把他表示为一个整数的形式,通过这个r乘上2的精度次方
因为公钥是n,所以明文空间是log2底n,所以可以把一些非负整数打包到一个密文里面。这里的填充0是为了防止在密文相加运算时导致溢出的。
所以精度+填充位就是一个明文元素的长度,用明文空间long2底n相比,得到t就是将这些整数打包为一个Paillier明文的上限

对于处理单元PUi,她的权值wi和梯度gi都包含有li个元素,在这把它表示为向量r,r有元素r1,r2 到rli,将其中t个为一组,一起进行加密。
因为是同态加法,这种打包成一个密文的方法不会影响加法计算,解密的时候再分开就可以了
在这里插入图片描述
表3给出了不同梯度ngd的数量,加密、解密和加法的时间,看到时间与梯度数量是相关的。使用n_lwe=3000,s=8,p=2^48+1和q=277。
图5分别描述了使用1个线程和20个计算线程进行加密和解密的时间

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值