(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210511813.1
(22)申请日 2022.05.11
(71)申请人 南京大学
地址 210000 江苏省南京市栖霞区仙林大
道163号
(72)发明人 林宇 毛云龙 张渊 仲盛
(74)专利代理 机构 南京乐羽知行专利代理事务
所(普通合伙) 32326
专利代理师 李培
(51)Int.Cl.
G06F 21/60(2013.01)
G06F 21/62(2013.01)
G06N 3/04(2006.01)
G06N 5/04(2006.01)
(54)发明名称
一种基于模型转换实现隐私保护卷积神经
网络推理的方法
(57)摘要
本发明公开了一种基于模型转换实现隐私
保护卷积神经网络推理的方法, 服务器调用模型
转换程序, 从输入神经网络模型中选取N ‑1个卷
积层作为分割点; 所述模型转换程序调用卷积层
转换程序, 根据神经网络的卷积层参数生成相应
的压缩卷积层和拓展卷积层, 从而将输入神经网
络模型划分为N个模型分片; 客户端采用同态加
密系统生成N对公钥与私钥, 服务器与客户端分
别调用模型推理程序。 本发明通过模 型分割的方
法, 将神经网络模型划分为多个分片, 从而提升
了在使用同态加密技术计算神经网络推理过程
中的效率; 待推理数据和神经网络模 型分别由客
户端和服务器持有, 因此本方法同时保护了服务
器和客户端的隐私。
权利要求书3页 说明书9页 附图4页
CN 114912132 A
2022.08.16
CN 114912132 A
1.一种基于模型转换实现隐私保护卷积神经网络推理的方法, 其特征在于: 包括模型
转换和数据推理;
所述模型转换包括
服务器调用模型转换程序, 从输入神经网络模型中选取N ‑1个卷积层作为分割点;
所述模型转换程序调用卷积层转换程序, 根据神经网络的卷积层参数生成相应的压缩
卷积层和拓展 卷积层, 从而将输入神经网络模型划分为N个模 型分片, 所述卷积层参数包括
卷积核尺寸K, 输入通道数量CI, 输出通道数量CO;
客户端采用同态加密系统生成N对公钥与私钥, 用于所述 N个模型分片的推理计算;
所述数据推理包括:
客户端使用当前模型分片对应的公钥将明文数据加密, 并将密文和公钥发送给服务
器;
服务器根据接收到的公钥与密文, 基于同态加密系统计算该模型分片的输出值, 若当
前模型分片不是最后一个模型分片, 服务器使用随机数作为掩码与输出值相加后再返回给
客户端, 否则直接将输出值返回给客户端;
客户端使用当前模型分片对应的私钥解密收到的所述输出值, 得到当前模型分片的计
算结果; 服务器与客户端对所述N个模 型分片均执行完以上推理步骤后, 客户端即得到整个
神经网络模型的推理结果。
2.根据权利要求1所述的基于模型转换实现隐私保护卷积神经网络推理的方法, 其特
征在于: 所述 服务器调用模型转换程序、 卷积层转换程序和模型推理程序的步骤 包括:
步骤101, 输入一个具有L层的神经网络模型M, 表示为M[1:L], 同时输入一个分割点数
量γ, 一个增益阈值α, 一个压缩率σ, 并设置当前分割点选取轮次为 i=0;
步骤102, 使用所述模型推理程序编译并执 行M[1:L], 得到运行时间TM[1,L];
步骤103, 初始化一个模型分片集合S, 并将所述模型M放入该模型分片集合S中, 即S=
{M[1:L]};
步骤104, 初始化 一个增益 集合G={}, 设置分片序号 为n=0;
步骤105, 从模型分片集合S中取出元素M ′[l1:l2]←S[n], 其中l1和l2分别表示该元素开
始和结尾的层序号, 使用所述模型推理程序编译并执行M ′[l1:l2], 得到运行时间
设置层序号j= l1+1;
步骤106, 若神经网络层M ′[j]不是卷积层, 则跳转至步骤1 11; 否则继续;
步骤107, 调用所述卷积层转换程序, 使用模型M ′[l1:l2]、 分割点j和压缩率σ 作为输入,
得到输出的分割模型M ′[l1,j]和M′[j,l2];
步骤108, 调用所述模型推理程序编译并执行M ′[l1,j]和M′[j,l2], 得到运行运行时间
和
步骤109, 使用下式计算分裂增益:
步骤110, 将层序号和分裂增益均记录在增益 集合中, 即G=G∪{(j,gj)};权 利 要 求 书 1/3 页
2
CN 114912132 A
2步骤111, 若j<l2‑1, j=j+1, 跳转至步骤10 6; 否则继续;
步骤112, 若n<|S|, |S|为 集合S中的元 素数量, n=n+1, 跳转至步骤10 5, 否则继续;
步骤113, 从G中随机选取一个增益不小于增益阈值α 的层序号j ′(gj′≥α )作为分割点,
将S中包含分割点j ′的元素M′[l1:l2]使用卷积层转换程序替换为M ′[l1,j′]和M′[j′,l2];
步骤114, 若i<γ, i =i+1, 跳转至步骤104; 否则继续。
步骤115, 输出转换后的分片集 合S。
3.根据权利要求2所述的基于模型转换实现隐私保护卷积神经网络推理的方法, 其特
征在于: 在步骤107中, 服 务器调用的所述的卷积层转换程序包括以下步骤:
步骤201, 输入 一个模型M[l1:l2],一个压缩率σ, 一个层序号t, 需满足l1<t<l2, 且M[t]是
卷积层;
步骤202, 设置 两个分割模型M1=M[l1:t‑1], M2=M[t+1:l2];
步骤203, 读取卷积层Φ=M[t]的卷积核尺寸为K, 输入通道数量为CI, 输出通道数量为
CO;
步骤204, 生成压缩卷积层Φs,卷积核尺寸为1, 输入通道数量为CI, 输出通道数量为
生成拓展卷积层Φe,包含尺寸为1和K的两种卷积核, 输入通道数量为
输出通道总数为
CO;
步骤205, 令M1=M1||{Φs}, M2={Φe}||M2, 表示将Φs添加至M1最后一层, 将Φe添加至M2
首层;
步骤206, 若M1[t‑1]为池化层, 将该池化层移至Φs后;
步骤207, 输出M1和M2。
4.根据权利要求2所述的基于模型转换实现隐私保护卷积神经网络推理的方法, 其特
征在于: 在步骤102、 10 5及步骤108中, 服 务器调用所述的模型推理程序包括以下步骤:
步骤301, 服务器输入模型分片集合S={ M1,M2,…,MN}, 设置分片序号n=1, 服务器将分
片数量N发送给客户端, 并接收客户端发送的公钥{pk1,pk2,..,pkN}和密文Cn;
步骤302, 服务器设置当前计算模型为Mn, 令Mn的层序号范围为[l1,l2], 设置层序号j=
l1;
步骤303, 服务器使用密文Cn和神经网络层Mn[j]的权值, 计算Gn←Eval(pMn,Gn,M[j]),
其中Eval表示 根据网络层的计算要求而 进行的同态 乘法、 加法操作;
步骤304, 若j≤l2‑1, 或j=l2且Mn[j]不是池化层, j=j+1, 跳转至步骤3 03; 否则继续;
步骤305, 若n<N, 服 务器生成随机数向量R, 计算Cn←Add(pkn,Cn,R);
步骤306, 若Mn[l2]为均值池化层, 设置P为均值池化层的池化尺寸, 否则设置P=0;
步骤307, 服务器将Cn和P发送给客户端;
步骤308, 若n=N, 跳转至步骤310, 否则继续;
步骤309, 服务器接收客户端发送的密文Cn+1; 若P≠0, 服务器根据池化尺寸P处理随机
数向量R, 并计算Cn+1←Add(pkn+1,Cn+1,‑R);
步骤310, 若n<N, n =n+1, 跳转至步骤3 02; 否则继续;
步骤311, 结束。权 利 要 求 书 2/3 页
3
CN 114912132 A
3
专利 一种基于模型转换实现隐私保护卷积神经网络推理的方法
文档预览
中文文档
17 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共17页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-07 12:39:15上传分享