《Towards Secure and Practical Machine Learning via Secret Sharing and Random Permutation》论文学习笔记

《Towards Secure and Practical Machine Learning via Secret Sharing and Random Permutation》论文学习笔记_第1张图片

①摘要

随着隐私保护的需求日益增长,隐私保护机器学习在学术界和工业界都获得了广泛的关注。尽管如此,大多数现有方法在实际应用中都存在局限性。一方面,尽管大部分密码学方法是可证安全的,但它们伴随着大量的计算和通讯开销;另一方面,许多较为高效的隐私保护算法(如联邦学习和拆分学习)的安全性不断被质疑,因为它们不是可证安全的算法。
基于随机排列+计算机制,设计了一个基于秘密分享和随机排列的隐私保护机器学习框架。该方法比现有的基于密码学的方法更加高效,因为它极大地减少了计算逐元素函数的开销。此外,通过将距离相关性作为隐私保护的指标,证明了我们的方法比已有的非可证安全算法更加安全。总的来说,该方法在安全和效率之间取得了一个较好的平衡点。实验结果表明,该方法的速度可以达到已有的密码学方法运算速度的5倍,同时可以减少多达80%的网络通讯开销,相对于非可证安全的算法,泄露了更少的隐私。

②隐私保护机器学习的两种场景:

(1)水平分布:一个是不同的数据源具有不同的样本,而样本的特征集是相同的。
(2)垂直分布:一个是数据是垂直分布的,即不同的数据源具有重叠的样本但具有不同的特征。

③可证明安全:同态加密 差分隐私 秘密共享 MPC

秘密共享:
算数秘密共享:ASS《Towards Secure and Practical Machine Learning via Secret Sharing and Random Permutation》论文学习笔记_第2张图片随机排列+计算:在半诚实三服务器设置中,共享值的加法和乘法很容易实现。为了高效地计算非线性函数,提出了随机排列+计算技术。在神经网络中激活函数是必要的,在一个线性层之后会有一个激活函数,由于它的非线性,他们不能直接通过A-SS计算。为了解决这个问题,提出“排列+计算“技术,由于大多数激活函数都是按元素排列的,所以我们只需随机排列输入值,然后让P2计算结果。《Towards Secure and Practical Machine Learning via Secret Sharing and Random Permutation》论文学习笔记_第3张图片
该技术主要基于随机排列,而模型预测采用随机翻转。
①随机排列技术可以保护原始数据:
②随机翻转可以保护模型预测值和标签。
我们选择开源库rosetta1rosetta和tf-encrypted2tf-encrypted分别实现SecureNN和ABY3。

④不可证明安全:联邦学习,拆分学习

联邦学习(FL)
《Towards Secure and Practical Machine Learning via Secret Sharing and Random Permutation》论文学习笔记_第4张图片
A 和 B 无法直接进行数据交换,可使用联邦学习系统建立模型。
第一部分:加密样本对齐。
由于两家企业的用户群体并非完全重合,系统利用基于加密的用户样本对齐技术,在 A 和 B 不公开各自数据的前提下确认双方的共有用户,并且不暴露不互相重叠的用户,以便联合这些用户的特征进行建模。
第二部分:加密模型训练。
在确定共有用户群体后,就可以利用这些数据训练机器学习模型。为了保证训练过程中数据的保密性,需要借助第三方协作者 C 进行加密训练。以线性回归模型为例,训练过程可分为以下 4 步:
第①步:协作者 C 把公钥分发给 A 和 B,用以对训练过程中需要交换的数据进行加密。
第②步:A 和 B 之间以加密形式交互用于计算梯度的中间结果。
第③步:A 和 B 分别基于加密的梯度值进行计算,同时 B 根据其标签数据计算损失,并把结果汇总给 C。C 通过汇总结果计算总梯度值并将其解密。
第④步:C 将解密后的梯度分别回传给 A 和 B,A 和 B 根据梯度更新各自模型的参数。迭代上述步骤直至损失函数收敛,这样就完成了整个训练过程。
在样本对齐及模型训练过程中,A 和 B 各自的数据均保留在本地,且训练中的数据交互也不会导致数据隐私泄露。因此,双方在联邦学习的帮助下得以实现合作训练模型。
FL的优点:允许跨多个客户机进行并行(因此高效)ML模型训练。
FL的缺点:泄露模型梯度。在FL中,一个完整的ML网络/算法由每个客户端在其本地数据上并行地训练一些本地数据,然后他们将本地更新发送到服务器。之后,服务器聚合来自所有客户端的本地更新,并通过联邦平均形成一个全局模型。然后,全局模型被发送回所有客户,为下一轮的训练做准备。这个过程一直持续下去,直到算法收敛到一定的水平。

拆分学习(SL)
SL
SL:将深度学习网络W分为两部分WC和WS,分别称为客户端网络和服务器端网络。W包括权重、偏差和超参数。数据所在的客户端只提交到网络的客户端部分,而服务器端只提交到网络的服务器端部分。该网络的训练是通过一系列分布式的训练过程来完成的。
正向传播:客户端利用原始数据将网络训练到网络的某一层,即所谓的切割层,并将切割层的激活(也称为破碎数据)发送给服务器。然后,服务器使用从客户端接收到的破碎数据对剩余的层进行训练。这就完成了一个向前传播。
反向传播:服务器进行向上的反向传播到切割层,并将破碎数据的梯度发送给客户端。使用梯度,客户端在剩余的网络(即,直到网络的第一层)上执行它的反向传播。这就完成了客户机和服务器之间的反向传播的一次传递。这个正向传播和反向传播的过程将继续下去,直到网络得到所有可用客户机的训练并达到收敛。
SL的优点:由于客户机和服务器之间的ML模型分离。它提供了更好的隐私性 :
1、模型隐私,因为客户端不能访问服务器端模型,反之亦然
2、只分配部分网络在客户端进行训练可以减少处理负载(与运行整个网络相比),这对于资源受限的设备上的ML计算具有重要意义。
SL的缺点:泄露隐藏表示。使用距离相关性表明,当将拆分学习应用于CNN时,隐藏表示与输入数据高度相关。①从隐藏表示重建原始数据是可能的。隐藏表示在一定程度上保留了数据集的拓扑结构。如果攻击者知道原始数据的分布情况,就可以找到与隐藏表示相对应的相似样本。②随机投影的不可逆性只保护原始数据,而不保护数据的效用。隐藏表示保留了原始数据的效用,并且可以在没有数据源许可的情况下多次使用。eg.假设A公司和B公司通过拆分学习联合训练模型,其中训练样本由A提供,标签由B提供。B可以在训练期间秘密收集训练样本的隐藏表示。然后,B可以在另一个任务中使用这些隐藏的表示,或者在未经A许可的情况下将这些隐藏的表达提供给其他人。

你可能感兴趣的:(隐私保护,学习,算法)