基于函数秘密共享的隐私保护神经网络训练方法及装置
申请人信息
- 申请人:哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院)
- 申请人地址:518055 广东省深圳市南山区桃源街道深圳大学城哈尔滨工业大学校区
- 发明人: 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院)
专利详细信息
| 项目 | 内容 |
|---|---|
| 专利名称 | 基于函数秘密共享的隐私保护神经网络训练方法及装置 |
| 专利类型 | 发明申请 |
| 申请号 | CN202410074807.3 |
| 申请日 | 2024/1/18 |
| 公告号 | CN117592527A |
| 公开日 | 2024/2/23 |
| IPC主分类号 | G06N3/0499 |
| 权利人 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) |
| 发明人 | 蒋琳; 杨鹏; 方俊彬; 陈宇月; 刘洋; 庄杰航; 高世祺 |
| 地址 | 广东省深圳市南山区桃源街道深圳大学城哈尔滨工业大学校区 |
摘要文本
本发明公开了一种基于函数秘密共享的隐私保护神经网络训练方法及装置,来支持实用的安全神经网络训练,该框架具有较小的常数轮在线通信复杂度,在不降低模型精度的情况下降低离线通信成本,同时离线阶段通过使用安全两方计算友好的伪随机生成器,采用分布式比较函数密钥生成方案来取代可信第三方。本发明通过提出了具有最小密钥大小的通信优化的分布式比较函数,无需较大函数秘密共享密钥量;通过设计离线阶段,在离线阶段生成相关随机性用于在线阶段函数计算,使得在线阶段只需1轮通信即可,从而大大减少通信量。
专利主权项内容
1.基于函数秘密共享的隐私保护神经网络训练方法,其特征在于,包括下述步骤:给定训练集={(, ), …, (, )},其中=(, , …, ),=(, , …, ),其中表示训练样本的数量,上标表示矩阵或者向量的转置,对于拥有个输入神经元、个输出神经元和-1个隐含层的多层前馈神经网络,训练具体流程如下:Dx1y1xNyNxix1ix2ixidTyiy1iy2iyimTNTdmLS1、参与方和确定批量大小||,并基于各自数据将训练数据={(, ), …, (, )}划分成个批量训练数据,记作(, ), (, ), …, (, ),其中=||·;随后,将自己持有的批量训练数据通过加性算术秘密共享分发给,将自己持有的批量训练数据通过加性算术秘密共享分发给,使得和分别持有训练数据秘密份额([], []), ([], []), …, ([], ])和([], []), ([], []), …, ([], ]),其中([], []),=1, 2, …, 表示批量训练数据的秘密份额,秘密份额用符号[·]表示,表示参与方索引,=0代表是的秘密份额,=1代表是的秘密份额,当省略下标时,表示需要同时使用的秘密份额;P0P1BDx1y1xNyNtX1BY1BX2BY2BXtBYtBNBtP0P1P1P0P0P1X1B0Y1B0X2B0Y2B0XtB0YtB0X1B1Y1B1X2B1Y2B1XtB1YtB1XBjbYBjbjtbbbP0<<<S2、参与方<首先将各自的神经网络权重参数[]和[]初始化为0,并根据步骤S1中的约定共同选取一个批量训练数据([], []),=1, 2, …, ,从批量训练数据([], [])中选取一个样本([], []),执行下面步骤设定轮次:<<<<<<<<<Bj<Bj<<<Bj<Bj<<<<S21、前向传播阶段:对于=0, 1,参与方将初始输入设为[]=[],对=1, 2, …, <为神经网络总层数,迭代计算[]=MatMul(<),和[]=ReLU();其中为第层的神经网络权重参数,其中MatMul(·)为安全乘法子协议,其计算两个秘密份额形式的矩阵或者向量的乘积;ReLU(•)为安全ReLU子协议,其计算秘密份额形式的矩阵或者向量中所有元素的ReLU值,元素的ReLU值等于max(0, ),其中max(0, )表示0和的最大值;<<<<(0)<<<<<<<<<<<<<<<<<<-1)<<<<<<<<<<<<<<<<<<<S22、反向传播阶段:对于=0, 1,参与方令预测输出[ ]=[],计算输出层误差[]←Hadamard(/>-, DReLU()),然后计算隐含层误差:[]←HadamProd(MatMul((), ), DReLU());其中-1, …, 1,Hadamard(•)为安全Hadamard积子协议,其计算两个秘密份额形式的矩阵或者向量的逐元素乘积,也即对应元素直接相乘;DReLU(•)为安全DReLU子协议,其计算秘密份额形式的矩阵或者向量中所有元素的DReLU值,元素的DReLU值等于1{≥0},其中1{≥0}表示≥0时输出值为1,否则为0;<<<<<<<<<<<<yiz()Lδi()l’bW(+1)l’Tδi(+1)l’z()l’l’=LxxxxS23、梯度下降阶段,对=1, 2, …, ,=0, 1,参与方计算;lLbPbS3、最后,将神经网络权重参数[]=([], [], …, [])发送给,将神经网络权重参数[]=([], [], …, [])发送给,然后和各自在本地计算=[]+[],重构神经网络权重参数。P0W0W(1)0W(2)0W()L0P1W1W(1)1W(2)1W()L1P1P0P1WW0W1W