论文学习2020.10.19:隐私保护学习:SecureNN: 3-Party Secure Computation for Neural Network Training

.摘要

提出问题: To effectively train, it is desirable for multiple parties to combine their data – however, doing so conflicts with data privac[各种数据融合在一起是我们的需求,但违背数据隐私的问题]

解决问题: we provide novel three-party secure computation protocols for various NN building blocks[提出一种新颖的三方安全计算为各种各样的神经网络建立]

完成目的: no single party learns any information about the data[无一方可以访问数据]

完成结果:Our work advances the state-of-the-art of secure computation for neural networks in three ways[对神经网络安全保护的三方面突破][1.have an accuracy of > 99% on the MNIST dataset; 推理准确率提高。2.total execution times are 2−4× faster ,执行速度更快。3. All prior works only provide semihonest security and ours is the first system to provide any security against[先前的工作者只提供半诚实安全。这个不仅是半成实安全,还多了一个恶意敌手安全可确保恶意服务器即使从协议中任意偏离,也无法了解诚实客户端的输入或输出的任何信息(只要没有向敌手透露计算的输出]]

garbled circuits and oblivious transfer protocols.[本文没有用到混肴电路和不经意传输协议,只用到了安全多方计算]

1.Introduction

安全要求提出:The security requirement is that no individual party or server learns any information about any other party’s training data[没有一方或一个服务器能访问另一个的全部数据]

模型:N = 3, while M can be arbitrary [服务器3台,输入任意],develop protocols specific for the N =3 servers setting[针对3个服务器为它们之间设置特定传输协议]

详细介绍了3方面突破。

文章组织: Section 2.:协议介绍   Section 3:安全模型和神经网络训练算法介绍   Section 4:3服务协议建立    Section 5:协议用于所有机器学习  Section 6:协议理论效率   Section 7:对实验进行详细评估

2.Technical Overview 

背景:We develop new protocols for Boolean computation (such as ReLU,Maxpool and tsderivatives) that have much lesser communication overhead (at least 8× better) than the cost of onverting to a Yao encoding and executing a garbled circuit[此前大多数技术会使用混淆电路来处理非线性层,就是最大池化和激活函数,而这篇论文是使用布尔计算来处理这些,可以带来更低的通信开销,更好的性能]

三台服务器的工作:denote the three servers by P0,P1 and P2[在所有子协议开始时,三方中的两方P0和P1持有协议输入的2/2加法秘密共享,在协议结束时,同样还是P0和P1持有2/2的输出份额。尽管对于所有的协议, 只有P0和P1拥有输入和输出的份额,但P2也在协议期间参与了真正的计算,也是不能不要的]

主要函数的介绍:

       1.Non-linear activations--ReLU

Matrix multiplication and Convolutions:

 Privacy against malicious adversaries

3 Preliminaries 

     Threat Model and Security:
            Semi-honest Security[半诚实安全]: honest-but-curious:一个半诚实的对手会诚实地遵循协议规范,但会尝试从协议中学习信息。

            Privacy against Malicious Adversary[恶意敌手攻击]:

     Notation:the three rings ZL, ZL−1, and Zp, where L = 2` and p is a prime

                         L =2的64    p =67

     Neural Networks:forward propagation(向前传播)

【神经网络向前(从输入到得到损失值的过程)和向后传播(通过损失函数的值不断调参的过程):

           The backpropogation updates the weightsappropriatelymakinguseofderivativeoftheactivationfunction:使用RELU`(Rectified Linear Unit 的导数)作为激活函数的导数来更新权重。

【ReLU:f(x)=max(0,x)。显然,输入信号<0时,输出都是0;输入信号>0 的情况下,输出等于输入。主要作用加快计算

           Protocols Structure:

这是协议的结构,标注黄色的这几个是主要部分,线性层的矩阵乘法、非线性层的池化、激活函数,这都是神经网络里面函数,需要实现的功能,剩下的这四个其实包括矩阵乘法是子协

4.Supporting Protocols 

        Matrix Multiplication:

【本算法参考了ABY】

           Select Share:P0和P1拥有x和y,还有一个比特阿尔法的加法共享(这里的x和y是这个池化函数和激活函数算法中计算过程的一步,所以在这里不考虑他的实际意义)它实现的功能是,如果这个α为0,那就把x的加法共享更新一下,比如之前是r,x-r的方式加法共享,这里换一个新的r,也就是r’,x-r’这样子的加法共享。如果α为1,就对y的加法共享更新一下

               Private Compare:一个比较,P0和p1拥有x的加法共享,已知整数r和一个比特β,这个算法实现的就是对x和r的一个比较,如果x<=r,p2得到β,如果x>r,参与方p2得到β非。

           Share Convert:把l环上的秘密共享转换成l-1(奇数环)上的秘密共享,转化的目的是,下面的MSB算法需要在奇数环上实现。

                Compute MSB:MSB就是the most significant bit也就是取最高比特位

 

5 Main Protocols 

                ReLU:

            

             1.if MSB(a)=0    :    ReLU'(a)=1,else RELU'(a)=0:  

              2.LSB(2a)=MSB(a);

               3.先计算LSB得出MSB

              4.调用share convert和msb得到最高位阿尔法

               5.激活函数计算 RELU(a)=RELU`(a)·a

                6.调用乘法算法得到最后结果

猜你喜欢

转载自blog.csdn.net/qq_38798147/article/details/109170549