Background
完全基于MPC的ML预测和训练一直是关注的热点,之前的SecureML、ABY3等论文一直在尝试这个难题。FALCON使用和ABY3同样的三方计算下的Replicated Secret Sharing方案来提升系统的计算和传输性能。和之前的方案不同的是,FALCON中完全使用算术秘密分享,但是使用了两个不同的环来处理线性计算(大环,)和非线性计算(小环,)。首先,作者总结了现存方案,并和FALCON做了比较。

进一步,作者分别提出了针对各层的3PC下的计算协议。
基本原语
Multiplication:加法和数乘方法比较简单。针对线性层的乘法,包括矩阵乘法和卷积,则使用和ABY3相同的乘法和截断方法。乘法本身需要一次交互,截断则需要预处理生成的关联随机数。
Reconstruction:秘密恢复则需要每一方向下一方发送对方缺失的秘密分享。
Select Shares : 给定(,, ),如果则返回,否则返回。本文首先生成关联随机数和。然后公开。如果,令;否则,令。最后,计算。
XOR with a public bit: 对于一比特在环内的秘密分享和一个公开的比特值,要求,可以计算。因为是公开的,该计算不需要交互。
Evaluating :给定和,计算即可。
Private Compare
本文的比较方案和其他方案,例如ABY3等不同。在本文构建的Private Compare中,做比较之前,三方参与者已经得到了秘密分享值得比特分解,而且每一比特的分解是在上的。本文的目标则是比较,其中是一个公开的数。鉴于的比特分解已知,是公开数,比较则可以和SecureNN中类似按比特比较。算法如下:

其中,起到盲化作用,step 1-5中setp 2计算乘法需要一次交互,其余为本地计算;step 6需要次交互。当时,即说明中有一项为0。假设,,那么;对于,恒成立;如此。而对于
Wrap Function
在中,定义如下
对于三个数,有
进一步,定义
为了计算
有,
上式

在已知关联随机数的情况下,只需要Step4 交互计算(调用Private Compare)。
ReLU
对于
其中,
如此,
得到

Maxpool
池化层在协议层面和SecureNN一样,不同的是比较部分的计算调用本文构造的方案。
Division & BatchNorm
本文除法利用近似计算。本文首先计算除数的指数,即计算

Step4中,
得到

在该近似算法中,除数需要满足
BatchNorm的算法如下:

除了计算均值和方差,剩下的部分和做除法类似,都是采用了近似算法。
实验效果
本文实验颇多,在此列举一下部分实验结果。
预测开销


训练开销


总结
本文在三方下基于算术电路提出了一种训练和预测的框架,在线计算的效率提升了很多。但是,关于预计算的关联随机数生成还是没有给出新的高效方案,只能用已有方案来做。
作者简介:
董业, 本科毕业于山东大学计算机科学与技术专业,目前在中国科学院信息工程研究所攻读博士学位。 主要研究兴趣包括隐私保护、安全多方计算、同态加密和机器学习。知乎:酸菜鱼
往期内容:
论文笔记:IJCAI 2021 Decentralized Federated Graph Neural Networks

欢迎投稿
邮箱:kedakeyin@163.com
参与更多讨论,请添加小编微信加入交流群





