(阅读笔记)SecureNN: 3-Party Secure Computation for Neural Network Training

动机与挑战

  1. 参与方数据或外包数据隐私问题,本文考虑三方设置下的加性秘密共享,任何一方均不知道隐私信息(仍然存在任意两方不能共谋的问题,OT可以解决克服局限性但开销不能忍受);
  2. 两方计算效率问题,以及GC、OT等效率(算术编码和二进制编码不兼容,需要额外地转换;且GC的开销与安全参数成正比,开销巨大)问题,本文扩展为三方计算设置,且设计的安全计算协议与固有的计算过程兼容;
  3. 在半可信模型假设基础上,如何应对恶意敌手模型?(就安全三方计算而言,任意两方可以恢复秘密,因此有且仅允许一个参与方被恶意敌手腐蚀)
  4. 针对复杂的神经网络层类型,如何针对性地设计安全三方计算协议,并保证协议正确性(就整体的隐私保护推理或训练框架而言,采用测试或验证准确率等指标验证与明文模型的差异)、计算和通信效率(运行时间和通信开销)、以及安全性(信息论安全,即假设敌手计算能力无限)。

系统模型

M个参与方随机拆分N份秘密分别上传给N台服务器(本文考虑N=3),服务器协同执行密文模型推理以及训练,在特定安全模型假设下,任意一台服务器均不能获知上传数据和模型参数。
在这里插入图片描述

基础知识

  1. 安全三方计算中,参与方P0和P1拥有2-out-of-2份秘密用于执行交互计算,P2用于提供相关的随机数,即在安全协议中扮演助手角色,不拥有实际的输入或输出。
  2. ReLU:计算max(x, 0)。
  3. ReLU的导数(ReLU’):若x≥0,意味着最高符号位MSB(x)=0,ReLU’=1;否则(x<0, MSB(x)=1),ReLU’=0。
  4. 计算MSB需要额外的安全(符号)位提取协议,本文将计算MSB转化为LSB求解;考虑奇数环下(n为奇数),MSB(x) =LSB(2x) 。
  5. 通用可组合框架:若某些子协议是安全的,则组合这些子协议构成的新协议或框架也是安全的。
  6. 协议安全定义:现实执行中的敌手,对应理想执行中的模拟器,若已知任何输入,不存在任何一个环境可以让敌手在计算上区分这两者执行情况,则认为现实执行中的协议可以模拟理想执行中的既定函数功能,即认为该协议是计算安全的。
  7. 在半可信模型下,本文框架可以保证计算正确性和安全性;在恶意模型下(至多一个服务器被腐蚀),本文框架仅能保证计算安全性,并不能保证恶意敌手具备的行为能力不破坏计算正确性

安全计算协议设计

  1. 安全矩阵乘法
    在这里插入图片描述
  2. 选择共享,安全计算z =(1-α)x+αy = x+α·(y-x),其中 α ∈ {0, 1},即根据选择的共享比特α选择输出x或y。针对于后者表达式,调用安全乘法协议计算α与(y-x)的乘积。
    在这里插入图片描述
  3. 隐私比较:安全比较输入整数x与公共整数r的大小。
    在这里插入图片描述
  4. 共享转换:环 Z L \mathbb{Z}_L ZL上的共享转换至奇数环 Z L − 1 \mathbb{Z}_{L-1} ZL1上的共享(用于计算MSB至计算LSB的转换)。
    在这里插入图片描述
  5. 计算MSB
    在这里插入图片描述

安全比较协议(即计算MSB协议以及执行的子协议)有点复杂,构建实数域的安全比较协议是否可行?

SecureNN框架

  1. 线性全连接层和卷积层可以直接调用安全矩阵乘法协议。
  2. ReLU的导数(DReLU,即ReLU‘):若 a ≥ 0 a \ge 0 a0,则MSB(a)=LSB(c=2a)=α=0, γ = 1 − α = 1 \gamma=1-\alpha=1 γ=1α=1,即ReLU‘(a)=1;否则ReLU‘(a)=0。
    在这里插入图片描述
  3. ReLU:
    在这里插入图片描述
  4. 除法协议(用于归一化):按位迭代计算(因此通信轮数与二进制位长有关,通信开销有点大),每一次迭代中,比较被除数与除数的倍数,以确定商的第i位比特取值为1或0。
    在这里插入图片描述
  5. 最大池化,若池化区域包含n个特征值,则顺序执行n-1次比较协议(DReLU),每次都需要判断两个输入的大小,用较大的输入替换输出,直至选择出n个特征值中的最大特征值。
    在这里插入图片描述
  6. 最大池化的导数:调用安全最大池化协议输出池化区域的最大值及其索引,然后P0和P1协同执行将最大值的索引位置赋值为1,其它索引位置赋值为0;当然,此处的1和0分配给P0和P1表现为1和0的两份非零共享。
    在这里插入图片描述

理论分析(通信复杂度)

在这里插入图片描述

实验结果

  1. 数据集:MINIST

  2. 三种网络模型:
    网络A:三层DNN(SecureML、SecureNN);
    (1,28,28)=784 -> FC+ReLU -> 256 -> FC -> 10 -> Normlize -> 10
    ②网络B:四层CNN(MiniONN、SecureNN);
    (1,28,28) -> conv(16,5,5)+ReLU -> (16,24,24) -> max-pool(2,2) -> (16,12,12) -> conv(16,5,5)+ReLU -> (16,8,8) -> max-pool(2,2) -> (16,4,4)=256 -> FC+ReLU -> 100 -> FC -> 10 -> Normlize -> 10
    网络C:四层CNN(LeNet、SecureNN);
    (1,28,28) -> conv(20,5,5)+ReLU -> (20,24,24) -> max-pool(2,2) -> (20,12,12) -> conv(50,5,5)+ReLU -> (50,8,8) -> max-pool(2,2) -> (50,4,4)=800 -> FC+ReLU -> 500 -> FC -> 10 -> Normlize -> 10
    ④网络D:三层CNN

  3. 安全计算协议的计算开销
    在这里插入图片描述

  4. 网络模型隐私保护推理的计算开销
    在这里插入图片描述

  5. 网络模型隐私保护训练的计算开销
    在这里插入图片描述

参考文献

  1. 2018_IACR_SecureNN Efficient and Private Neural Network Training (SecureNN)
  2. 2017_SP_SecureML A System for Scalable Privacy-Preserving Machine Learning (SecureML)
  3. 2017_CCS_Oblivious Neural Network Predictions via MiniONN Transformations (MiniONN)
  4. Gradient-based learning applied to document recognition(LeNet)
  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
联邦学习是一种通过多方计算(MPC)进行信用评分的方法。信用评分是评估个人信用风险的重要工具,但在传统模型中,所有的个人数据都必须集中在一起进行建模和分析,这会引发隐私和数据安全的担忧。 联邦学习通过在保持数据分散的同时进行模型训练,解决了这些问题。在这一方法中,各方参与者共享他们的本地模型,而不是直接共享他们的数据。每个参与者都单独训练模型,并将更新的模型参数发送给中央服务器。服务器对接收到的参数进行聚合,生成一个全局模型,然后将更新的模型参数再次分发给各参与者。这个过程迭代进行,直到全局模型收敛并达到所需的性能。 联邦学习具有以下优点:首先,隐私得到了保护,因为个人数据不必共享;其次,数据安全风险降低,因为数据不必发送到中央服务器;再次,由于数据分布保持不变,模型的准确性和鲁棒性可以得到保证。 在信用评分方面,用联邦学习进行多方计算,可以使多个金融机构之间能够合作进行信用评分,而不必共享客户的个人数据。这种方法可以提高信用评分的效果,同时保护客户的隐私和数据安全。 总而言之,联邦学习通过多方计算解决了信用评分中的隐私和数据安全问题。这种方法可以促进金融机构之间的合作,并提高信用评分的准确性和效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值