《Towards Secure and Practical Machine Learning via Secret Sharing and Random Permutation》论文学习笔记
Posted 椰椰椰果
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Towards Secure and Practical Machine Learning via Secret Sharing and Random Permutation》论文学习笔记相关的知识,希望对你有一定的参考价值。
①摘要
随着隐私保护的需求日益增长,隐私保护机器学习在学术界和工业界都获得了广泛的关注。尽管如此,大多数现有方法在实际应用中都存在局限性。一方面,尽管大部分密码学方法是可证安全的,但它们伴随着大量的计算和通讯开销;另一方面,许多较为高效的隐私保护算法(如联邦学习和拆分学习)的安全性不断被质疑,因为它们不是可证安全的算法。
基于随机排列+计算机制,设计了一个基于秘密分享和随机排列的隐私保护机器学习框架。该方法比现有的基于密码学的方法更加高效,因为它极大地减少了计算逐元素函数的开销。此外,通过将距离相关性作为隐私保护的指标,证明了我们的方法比已有的非可证安全算法更加安全。总的来说,该方法在安全和效率之间取得了一个较好的平衡点。实验结果表明,该方法的速度可以达到已有的密码学方法运算速度的5倍,同时可以减少多达80%的网络通讯开销,相对于非可证安全的算法,泄露了更少的隐私。
②隐私保护机器学习的两种场景:
(1)水平分布:一个是不同的数据源具有不同的样本,而样本的特征集是相同的。
(2)垂直分布:一个是数据是垂直分布的,即不同的数据源具有重叠的样本但具有不同的特征。
③可证明安全:同态加密 差分隐私 秘密共享 MPC
秘密共享:
算数秘密共享:ASS随机排列+计算:在半诚实三服务器设置中,共享值的加法和乘法很容易实现。为了高效地计算非线性函数,提出了随机排列+计算技术。在神经网络中激活函数是必要的,在一个线性层之后会有一个激活函数,由于它的非线性,他们不能直接通过A-SS计算。为了解决这个问题,提出“排列+计算“技术,由于大多数激活函数都是按元素排列的,所以我们只需随机排列输入值,然后让P2计算结果。
该技术主要基于随机排列,而模型预测采用随机翻转。
①随机排列技术可以保护原始数据:
②随机翻转可以保护模型预测值和标签。
我们选择开源库rosetta1rosetta和tf-encrypted2tf-encrypted分别实现SecureNN和ABY3。
④不可证明安全:联邦学习,拆分学习
联邦学习(FL):
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许可的情况下将这些隐藏的表达提供给其他人。
以上是关于《Towards Secure and Practical Machine Learning via Secret Sharing and Random Permutation》论文学习笔记的主要内容,如果未能解决你的问题,请参考以下文章
《Patterns, Principles, and Pract》— chapter15 Value Objects
《Patterns, Principles, and Pract》— chapter15 Value Objects
《Patterns, Principles, and Pract》— chapter14 Introducing the Domain Modeling Building Blocks
《Patterns, Principles, and Pract》— chapter14 Introducing the Domain Modeling Building Blocks
Evolutionary approaches towards AI: past, present, and future
阅读笔记Towards Efficient and Privacy-preserving Federated Deep Learning