CN115994559A - 一种高效的不经意神经网络转化方法 - Google Patents

一种高效的不经意神经网络转化方法 Download PDF

Info

Publication number
CN115994559A
CN115994559A CN202210347259.8A CN202210347259A CN115994559A CN 115994559 A CN115994559 A CN 115994559A CN 202210347259 A CN202210347259 A CN 202210347259A CN 115994559 A CN115994559 A CN 115994559A
Authority
CN
China
Prior art keywords
matrix
client
result
server
calculation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210347259.8A
Other languages
English (en)
Inventor
刘健
李婧瑜
田志华
任奎
张胜涛
潘冬雪
张广超
黄雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN115994559A publication Critical patent/CN115994559A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种高效的不经意神经网络转化方法,客户端和服务端预先运行预处理过程获得一组用于加密的矩阵,客户端将生成的矩阵作为密钥使用一次性加密技术加密原本用于预测的输入数据,将加密后的数据发给服务端进行线性层的计算,服务端将线性层计算完成后将结果添加拉普拉斯噪声后发送回给客户端,随后在客户端完成非线性函数计算,并将结果通过加噪模型Purifier,最终将加噪完成的结果以明文形式返回给服务端,服务端拿到明文后完成resnet101网络的后续计算,最终完成预测工作。本发明方法能够应用于Resnet101等复杂神经网络模型,实现隐私保护目的,其相比以往的解决方案能够极大程度减少预测所需时间,降低加密方案引入的额外通信量与额外计算量。

Description

一种高效的不经意神经网络转化方法
技术领域
本发明涉及机器学习隐私保护领域,尤其涉及一种更高效的不经意神经网络转化方法。
背景技术
目前,针对隐私保护机器学习问题已有多项研究提出解决方案。2016年Gilad-Bachrach等人提出CryptoNets,首次将全同态加密技术应用至CNN神经网络进行隐私保护转化,保护数据安全。但是它需要CNN模型使用特殊的激活函数(“square”)与特殊的池化操作(“平均值池化”),无法解决如ReLU、Sigmoid等函数计算,因此这一方案无法直接使用在现有的模型之上,而特殊的激活函数与池化操作会对模型的预测效果产生限制。此外,全同态加密将引入大量的计算与通信开销:CryptoNets需要5分钟的时间并占用372MB的带宽来处理一个简单的三层CNN网络请求,在实际应用中这一开销是无法接受的。
之后的研究中,Faster CryptosNets使用稀疏多项式乘法来加速线性计算。Mohassel和Zhang在SecureML中提出一种新的激活函数,并证明它可以通过密码学技术进行有效的计算,在相应模型的训练阶段使用这一激活函数进行实现,然而上述方案都对于模型的训练过程有特殊的要求,其具有较大的局限性,无法在现有的模型上进行应用。
MiniONN(不经意神经网路)利用同态加密、安全多方运算、多项式近似等方法解决常用函数的加密计算问题,通过引入预处理操作获得了更好的性能。由于MiniONN可以完成如ReLU、Sigmoid、Max pooling等函数的转化,其可以应用于许多已训练完成的模型中,不需要承担巨大的重新训练的成本,且对模型精度几乎没有影响。但是,其转化方式只可以处理层数较少且构造相对简单的神经网络中,面对更为复杂多层的网络,其性能表现无法适应相应的需求。
Chiraag Juvekar等人在MiniONN的基础上提出Gazelle框架,它以线性计算为重点,提出对于矩阵乘法更为友好的同态加密方式,并通过打包、旋转等操作提升同态加密线性计算部分的性能,进一步提升效率。目前为止,这一方式拥有最优的性能表现,其中的部分理论为本项目加速算法的重要参考。但是这一框架舍弃了MiniONN中的预处理部分,而预处理过程对于在预测过程中提高性能是非常重要的。
发明内容
针对现有技术无法处理Resnet101的隐私保护转化工作,现有隐私保护机器学习方案都无法支持Resnet101这类复杂多层网络模型,无法适用于真实使用场景,本发明提供了一种高效的不经意神经网络转化方法。以解决多层复杂网路模型Resnet101在大型图片(3*363*363)预测时的隐私保护问题。其能在不改变现有模型的前提下,使得服务端无法获得用户输入、用户无法获得云端网络模型参数,同时用户输入仍然可以通过模型计算得到合理的预测结果。其相较于以往隐私保护转化方案,计算效率明显提升,通信量大幅减少,预测过程延时降低。
为实现上述目的,本发明的技术方案为:一种高效的不经意神经网络转化方法,其特征在于,包括以下步骤:
(1)对多层神经网络进行分段处理,得到前后两部分神经网络;
(2)定义预处理交互协议,利用基于加密矩阵的加速计算方法,客户端和服务端生成加密的随机数矩阵;
(3)客户端将步骤(2)生成的加密的随机数矩阵作为密钥使用一次性加密技术对输入数据进行加密,得到加密后的数据,将加密后的数据发给服务端进行线性层的计算;
(4)服务端对步骤(3)得到的线性层的计算结果添加拉普拉斯噪声后发送回给客户端,客户端合并数据后拥有添加噪声后的线性层运算结果;
(5)利用生成式对抗网络训练加噪模型Purifier;
(6)客户端对步骤(4)得到的添加噪声后的线性层运算结果进行非线性函数计算,并将非线性函数计算结果通过步骤(5)训练好的加噪模型Purifier,最终将加噪完成的结果以明文形式返回给服务端,对前半部分神经网络完成不经意神经网络转化;
(7)服务端得到步骤(6)输出的明文后,完成多层神经网络后半部分的计算,即完成预测。
进一步地,所述步骤(2)具体包括以下子步骤:
(2.1)定义预处理交互协议:客户端首先产生一个与输入x相同大小的随机数矩阵r,并生成用于加密的公私钥对pks与sks,利用公钥pks对随机数矩阵r进行加密后得到加密后的随机数矩阵
Figure BDA0003577149950000022
客户端将加密后的随机数矩阵
Figure BDA0003577149950000021
发送给服务端;服务端具有参数w和随机数矩阵r,服务端会生成一个大小为m*n的随机数矩阵u,所述随机数矩阵u的大小与w·r结果相同;
(2.2)基于步骤(2.1)中定义的预处理交互协议,运用基于加密矩阵的加速计算方法,得到加密矩阵;
进一步地,所述步骤(2)中基于加密矩阵的加速计算方法具体为:
(2.2.1)将随机数矩阵r以特殊方法排列后用同态加密技术加密发送,所述将随机数矩阵r以特殊方法排列具体为:将随机数矩阵r按照im2col方法展开排列为便于卷积计算的矩阵,并将排列完成的矩阵中以对角线的方式,将不同列的数据利用同态加密方法中的SIMD技术依次排列轮流加密至同一个密文中;
(2.2.2)通过将模型线性参数w排列成对应的特殊形式得到明文矩阵w′,在接收到的加密后的随机数矩阵
Figure BDA0003577149950000035
上直接完成与明文矩阵w′相乘,随后在相乘的计算结果上减去生成的随机数矩阵u,将结果发送回客户端,客户端进行解密后,直接能够得到矩阵v,所述矩阵v满足:
u+v(mod N)=w·r
所述将模型参数w排列成对应的特殊形式得到明文矩阵w′的步骤具体为:将模型参数根据矩阵r的特殊排列方式,排列填充为能够与加密后随机矩阵
Figure BDA0003577149950000036
完成对应位置相乘的明文矩阵w′,其排列目的为保持原本w·r运算过程中的对应位置相乘关系。
进一步地,所述步骤(3)具体包括以下子步骤:
(3.1)客户端将步骤(1)生成的加密的随机数矩阵r、u、v使用一次性加密方法加密得到加密后的数据;
(3.2)将步骤(3.1)生成的加密后的数据进行线性层的计算,公式如下:
y=W·x+b
其中:
Figure BDA0003577149950000031
客户端随机生成一个与输入x大小相等的随机矩阵:
Figure BDA0003577149950000032
服务端随机生成一个与输出y大小相等的随机矩阵:
Figure BDA0003577149950000033
客户端通过随机数矩阵r、u、W计算得到矩阵:
Figure BDA0003577149950000034
满足:
u1+v1(modN)=w1,1r1+w1,2r2
u2+v2(modN)=w2,1r1+w2,2r2
即:
u+v(modN)=W·r
客户端通过预处理得到一次性密钥
Figure BDA0003577149950000041
并利用密钥加密输入x,得到密文
Figure BDA0003577149950000042
满足:
Figure BDA0003577149950000043
Figure BDA0003577149950000044
客户端发送密文xS给服务端,服务端根据密文xS计算,经过线性层后得到计算结果
Figure BDA0003577149950000045
Figure BDA0003577149950000046
Figure BDA0003577149950000047
客户端C在预处理中拥有
Figure BDA0003577149950000048
Figure BDA0003577149950000049
Figure BDA00035771499500000410
将客户端与服务端各自拥有的数据相加后得到线性层结果:
Figure BDA00035771499500000411
Figure BDA00035771499500000412
进一步地,所述步骤(4)具体为:所述服务端对线性层的计算结果添加噪声,所述噪声分布符合拉普拉斯分布公式:
Figure BDA00035771499500000413
其中,μ是位置参数,b是尺度参数;
所述服务端得到添加了拉普拉斯噪声的线性层的计算结果,并将该结果发送给客户端,所述客户端将该结果与客户端自己的线性层的计算结果数据合并得到加噪后的线性层结果。
进一步地,所述步骤(6)具体包括以下子步骤:
(6.1)对步骤(4)得到的加噪完成的结果进行非线性函数计算;
(6.2)将步骤(6.1)计算得到的非线性函数计算的结果输入步骤(5)训练好的加噪模型Purifier中,得到加噪完成的结果;
(6.3)将步骤(6.2)得到的加噪完成的结果以明文形式返回给服务端。
本发明整体架构:本发明设计了图1中更高效的不经意神经网络转化方案。其主要由三部分构成:
(1)通过MiniONN框架中的同态加密与秘密共享完成对线性层的转化,并利用改进后的Gazelle框架思路提升预处理过程的效率。
(2)非线性层转化部分设计新的交互协议,并采用差分隐私思路防止模型参数的泄露问题。
(3)通过GAN训练良好的加噪模型,使中间层结果通过加噪模型,从而减少中间层结果暴露的用户输入信息。
具体工作流程为:客户端C和服务端S预先运行预处理过程获得一组用于加密的矩阵,客户端C将利用生成好的矩阵使用一次性加密技术加密后将数据发给服务端S进行线性层的计算,保证服务端S在整个计算过程无法看到明文输入,服务端S将线性层计算完成后将结果添加拉普拉斯噪声后发送回给客户端C,客户端C能够获得添加噪声后的线性层明文计算结果,随后在客户端C完成非线性函数计算,并将结果通过加噪模型Purifier,最终将加噪完成的结果以明文形式返回给服务端S,S拿到明文后完成resnet101网络的后续计算,最终完成预测工作。保证预测过程中服务端无法获得输入数据x,客户端无法获得模型参数。
本发明的有益效果为:本发明通过对多层复杂网络进行拆分,在传统MiniONN框架中引入GAN(生成式对抗网络)加噪技术,解决以往单一框架转化所面临的由于网络模型层数过多造成的巨大开销问题。在这一基础上对MiniONN进行多种优化改进,尝试在其预处理过程中应用Gazelle框架中的加速计算算法,依据具体项目环境对算法进行进一步创新设计与优化,现有版本完成全部操作时间仅需要原始方法的1/4,与此同时将通信量成功下降到原始通信量的1/40,且计算操作可以在服务端独立完成,极大程度释放客户端资源。本发明解决了机器服务中产生的隐私泄露问题。通过利用差分隐私技术构建新的交互方案,以解决原框架中混淆电路所带来的性能瓶颈问题,将隐私保护状态下图片预测所需时间从数小时降到了10s以内,使其能够满足真实使用场景使用需求。
附图说明
图1为本发明提出的高效的不经意神经网络的整体架构图;
图2为预处理协议图;
图3为加密矩阵相乘改进算法示意图;
图4为预测过程交互图;
图5为基于GAN训练模型训练的示意图;
图6中的(A)为利用本发明方法得到的图6(B)的复原图片,图6中的(B)为原始输入图片;
图7中的(A)为利用本发明方法得到的图7(B)的复原图片,图7中的(B)为原始输入图片;
图8中的(A)为利用本发明方法得到的图8(B)的复原图片,图8中的(B)为原始输入图片。
具体实施方式
本发明提供了一种高效的不经意神经网络转化方法,本发明整体架构图如图1所示。
本申请中所提供的方法主要在客户端和服务端所构建的系统中实现。其中,客户端可以为手机、平板电脑、可穿戴设备、车载设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)、桌面型、膝上型、手持计算机、笔记本电脑、人工智能(artificialintelligence)设备等终端设备;服务端可以为X86服务器、高级精简指令集机器(AdvancedRISC Machine,简称ARM)服务器、性能优化增强的RISC(Performance Optimized WithEnhanced RISC,简称POWER)服务器等类型,也可以是云服务器,本申请中不对客户端和服务端设备的具体类型进行限制。
本申请中提供的不经意神经网络转化方法主要包括以下步骤:
(1)对多层神经网络进行分段处理:本发明针对复杂多层神经网络resnet101设计不经意转化方法,针对多层神经网络提出分段处理方案,解决由于现存转化方法若针对完整的复杂多层神经网络进行转化将产生巨大的计算开销和延时问题,具体为:
将一个完整多层神经网络从中间截断分割成两部分,将接受输入的前半部分使用步骤(2)~步骤(6)的具体转化步骤利用密码学相关方式进行转化,截断的后半部分为正常的原始神经网络,经过正常运算后能够获得正常输出结果。通过上述分段处理方案,拥有模型的服务端S可见的信息仅为截断处的输入,无法直接获得原始输入,以保证输入数据隐私。
(2)定义预处理交互协议,客户端C和服务端S通过基于加密矩阵的加速计算方法的预处理生成矩阵作为密钥用于一次性加密;在线性函数加密转化方案中,使用一组特殊的矩阵r、u、v实现隐藏明文的功能,通过这一方式加密后,模型在计算过程中所使用操作同明文一样,不会带来额外开销。但是这组向量的生成本身需要大量密文运算,由于其与模型预测过程相互独立,所以需要选择用预处理的方式完成这部分运算。具体包括以下子步骤:
(2.1)定义预处理交互协议,具体为:
预处理协议的具体操作如图2所示,客户端C首先产生一个与输入x相同大小的随机数矩阵r,并生成用于加密的公私钥对pks(公钥)与sks(私钥),利用公钥pks对随机数矩阵r进行加密后得到加密后的随机数矩阵
Figure BDA0003577149950000071
客户端C将加密后的随机数矩阵
Figure BDA0003577149950000072
发送给服务端S。
服务端S具有参数w和随机数矩阵r,服务端S预先会生成一个大小为m*n的随机数矩阵u,其大小与w·r结果相同。
(2.2)基于步骤(2.1)中定义的预处理交互协议,运用基于加密矩阵的加速计算方法,得到加密矩阵;
所述基于加密矩阵的加速计算方法具体为:
(2.2.1)将随机数矩阵r以特殊方法排列后用同态加密技术加密发送,所述将随机数矩阵r以特殊方法排列具体为:将随机数矩阵r按照im2col方法展开排列为便于卷积计算的矩阵,并将排列完成的矩阵中以对角线的方式,将不同列的数据利用同态加密方法中的SIMD技术依次排列轮流加密至同一个密文中。如图3中针对矩阵r,同一颜色数据将依次排列后利用同态加密方法中的SIMD指令集加密至同一个密文。
(2.2.2)通过将模型线性参数w排列成对应的特殊形式得到明文矩阵w′,在接收到的加密后的随机数矩阵
Figure BDA0003577149950000073
上直接完成与明文矩阵w′相乘,随后在相乘的计算结果上减去生成的随机数矩阵u,将结果发送回客户端C,客户端C进行解密后,直接能够得到矩阵v,这里的v满足:
u+v(mod N)=w·r
所述将模型参数w排列成对应的特殊形式得到明文矩阵w′具体为:将模型参数w根据r的特殊排列方式,排列填充为能够与加密后随机矩阵
Figure BDA0003577149950000074
完成对应位置相乘的明文矩阵w′,其排列目的为保持原本w·r运算过程中的对应位置相乘关系,图3中与密文对应相乘的即为排列填充后的明文矩阵w′。
将明文矩阵w′与加密后的随机数矩阵
Figure BDA0003577149950000075
实现对应位置相乘得到密文结果,通过密文间的相加实现原矩阵相乘过程中面临的槽内无法相加问题,最后需要发送的密文数据如图3结果所示,其等同于明文计算结果加密后的大小,经过解密后可以直接得到随机数矩阵v。
所述加密矩阵加速计算方法的主要目的是解决利用SIMD加密技术计算过程中槽内无法相加的问题,相较于最直观的对应行列相乘解密后再相加方案,能够降低返回数据量为原始的1/n,相较于Gazelle方法所述算法将重排打包的思路运用到了预处理协议中,且对比原始Gazelle加密矩阵相乘算法,没有使用密文旋转操作能够降低开销。
在用于矩阵乘法时需要经过特殊的排列,在服务端S中我们可以利用服务器强大的资源,将每一行特殊排列过的明文编码完成后保存在内存中,在进行明文向量与密文向量相乘时,直接读取内存中所需要的数据,通过空间置换时间。且由于是卷积参数经过特殊排列后的结果,其对于所有的客户端C都是通用的,服务端S可以通过一次存储,满足多次使用。
(3)客户端C将步骤(1)生成的加密的随机数矩阵r、u、v作为密钥使用一次性加密方法(one-time pad,OTP)对输入数据x进行加密,得到加密后的数据,将加密后的数据发给服务端进行线性层的计算。具体包括以下子步骤:
(3.1)客户端C将步骤(1)生成的加密的随机数矩阵r、u、v使用一次性加密方法加密得到加密后的数据。
(3.2)将步骤(2.1)生成的加密后的数据进行线性层的计算,公式如下:
y=W·x+b
其中:
Figure BDA0003577149950000081
所述线性层计算的核心思想是:让服务段S和客户端C通过秘密共享完成线性计算,即让服务端S和客户端C进行相加操作后共享神经网络每一层的输入值和输出值,对于每一层的输入,服务端S和客户端C将各自持有一份“份额”,两份份额相加的结果等于该神经网络不经意转化后该层的输入。所述线性层的计算中需要生成一组点积三元组用于秘密共享计算,公式如下:
客户端C随机生成一个与输入x大小相等的随机矩阵:
Figure BDA0003577149950000082
服务端S随机生成一个与输出y大小相等的随机矩阵:
Figure BDA0003577149950000083
客户端C最终获得一个通过r、u、W计算得到的矩阵:
Figure BDA0003577149950000084
满足:
u1+v1(modN)=w1,1r1+w1,2r2
u2+v2(modN)=w2,1r1+w2,2r2
即:
u+v(modN)=W·r
客户端C通过预处理得到一次性密钥
Figure BDA0003577149950000085
并利用密钥加密x,得到密文
Figure BDA0003577149950000086
满足:
Figure BDA0003577149950000091
Figure BDA0003577149950000092
客户端C然后发送xS给服务端S,服务端S可以根据它计算,经过线性层后得到计算结果
Figure BDA0003577149950000093
Figure BDA0003577149950000094
Figure BDA0003577149950000095
与此同时,客户端C在预处理中拥有
Figure BDA0003577149950000096
Figure BDA0003577149950000097
Figure BDA0003577149950000098
显然客户端C与服务端S各自拥有的数据相加后得到线性层结果:
Figure BDA0003577149950000099
Figure BDA00035771499500000910
因此,在交互的最后,在线性变化层计算结束后服务端S和客户端C加法共享产生的输出值y,服务端S并没有了解有关输入x,没有任何一方单独了解y,达到了保护x的目的。
机器学习模型网络中的许多操作其本质上均是线性函数,可以由这一方法转化至不经意神经网络模型。全连接操作(Linear)显然可以直接应用上述方法直接进行处理,卷积操作(Conv)利用im2col的方法可以转化成两矩阵相乘的结果,归一化操作(BatchNormal)用于预测阶段时,会固定参数,其本质仍可以视为矩阵运算,平均值池化也可以通过这一转化方式完成。
(4)服务端S将步骤(3)线性层计算完成的结果利用差分隐私方法添加拉普拉斯噪声后发送回给客户端,客户端合并数据后拥有添加噪声后的线性层运算结果,具体为:
在步骤(2)结束后服务端S与客户端C共享数据线性层输出,只有当二者拥有的数据相加时才能够得到原本线性层运算后的结果,即非线性层的输出。在服务端S非线性层的输出的数据上添加噪音,噪音分布符合拉普拉斯分布公式:其中,μ是位置参数,b是尺度参数。
Figure BDA00035771499500000911
生成满足分布的噪音,通过控制参数的大小,可以调整噪音对最终结果所产生的影响,服务端S在拥有的数据上添加生成的噪音,并将结果发送给客户端C,客户端C与自己的数据合并后得到加噪后的线性层结果。
在其它解决方案中使用安全多方计算技术完成数据合并及非线性层运算,而使用安全多方计算技术进行这一部分的处理带来的延时及计算开销是无法承受的,为解决这一问题需使非线性函数计算在明文条件下进行,而若使任意一方直接获得线性层输出,会造成模型参数或者输入数据信息泄露,步骤(4)所述方案能够利用差分隐私方法进行加噪缓解泄露问题,同时使非线性函数明文计算。
(5)利用ImageNet数据集基于GAN(生成式对抗网络)训练加噪模型Purifier;具体包括以下子步骤:
(5.1)基于生成式对抗网络训练方法进行训练,其中生成器G是最终需要的加噪模型,其本质上是一个自编码器(autoencoder),保证输出与输入大小完全相同,其输入为原本Resnet101的中间层结果,其输出是加噪后的结果,其训练目标是尽可能减小还原模型H的还原能力,且尽可能让判别器I无法分辩是否加入噪声。
(5.2)判别器I的目标是判别中间层结果是否加入过噪声,它通过输出一个布尔值代表判别其输入是否经过生成器G它能够帮助加噪模型进行训练。其主要实现方式是将输入映射到一维的结果中,通过一维结果表示它是否加入过噪声。
(5.3)还原模型H的目标是将Resnet101中间层结果还原为用户输入。其输入为利用生成器G的输出,输出为复原后的图片,其主要结构是有卷积与逆卷积、激活函数等组合而成,能够将中间层结果转化为用户输入的大小。
训练过程中通过生成器G与判别模型I、还原模型H进行对抗,在控制生成器G加噪对原Resnet101预测精度影响在10%以内的前提下,尽可能加入最大的噪声,降低攻击者利用H从中间结果还原输入的能力,训练完成的生成器G将作为加噪模型Purifier投入完整转化系统中,训练操作虽复杂但只需进行一次,用户在预测时直接使用即可。
在机器学习模型训练阶段,损失函数对模型效果有重要影响,由于使用GAN训练加噪模型,其训练过程涉及多个模型的配合,所使用的损失函数组成较为复杂,具体为:
加噪模型G在训练过程中的损失函数由四部分所构成,其可以表示为:
L=L1+αL2+βL3+γL4
训练目标是尽量降低L的值,通过调整α、β、γ的值能够调整各部分损失的比例,从而达到控制加噪模型G加噪效果的目的。图中的
Figure BDA0003577149950000101
代表L2范数,
Figure BDA0003577149950000102
表示交叉熵损失,y表示预测图片的标签,其分别为:
L1表示自编码器输出结果与输入结果的相似度,其中,x表示原始输入图片,F(x)表示通过Resnet101网络截断处输出,即中间结果,G(F(x))表示中间结果经过加噪模型后的输出,
Figure BDA0003577149950000111
为重建损失函数,在实例中:
Figure BDA0003577149950000112
L2表示加噪后模型预测结果与原结果差异,其中C(G(F(x)))表示中间结果加噪后输回Resnet101后完成计算所得结果,y表示原始resnet101正常输出,
Figure BDA0003577149950000113
表示交叉熵损失函数:
Figure BDA0003577149950000114
L3表示复原模型复原出图片与原图片的相似度,其中H(G(F(x))表示原始利用加噪后的中间结果通过复原模型获得复原图片,
Figure BDA0003577149950000115
为重建损失函数:
Figure BDA0003577149950000116
L4表示判别器的判别能力,其中I(G(F(x)))表示中间结果经过判别器后的输出:
L4=log(1-I(G(F(x)))
(6)客户端C对步骤(4)得到的添加噪声后的线性层运算结果进行非线性函数计算,并将非线性函数计算结果通过步骤(5)训练好的加噪模型Purifier,最终将加噪完成的结果以明文形式返回给服务端。具体包括以下子步骤:
(6.1)对步骤(4)得到的加噪完成的结果进行非线性函数计算,由于这一过程以明文形式进行运算,支持任意非线性函数运算,包括不限于以下常用于机器学习中的非线性函数:Max-Pooling(最大池化函数)、Relu(线性整流函数)、Sigmoid、Square。
表示自编码器输出结果与输入结果的相似度为重建损失函数加噪后模型预测结果与原结果差异:表示复原模型复原出图片与原图片的相似度为重建损失函数表示判别器的判别能力(6.2)将步骤(6.1)计算得到的非线性函数计算的结果输入步骤(5)训练好的加噪模型Purifier中,得到加噪完成的结果。
(6.3)将步骤(6.2)得到的加噪完成的结果以明文形式返回给服务端S。
(7)服务端得到步骤(6)输出的明文后,这一明文即为原始resnet101加噪后的分段处中间结果,服务端利用这一结果进行正常的resnet101网络后半段运算,最终完成后半部分神经网络的预测工作。
本发明方法能够隐藏输入图片,但由于加速处理过程采用分段处理方法,攻击者可能利用中间结果复原输入图片,为解决此问题为解决此问题本方法设计训练了加噪模型,图6中的(A)、图7中的(A)和图8中的(A)为本发明方法中间结果经过加噪模型后得到的复原图片,图6中的(B)、图7中的(B)和图8中的(B)中为原始输入图片,图中粗线框内为敏感信息,由两幅图对比可知,复原图片较输入图片文字变得模糊,文字敏感信息均已无法识别,且输出图片清晰度大幅度降低,细节无法分别,能够保护隐私。
表1:预处理操作中原始算法与本发明方法通信量比较
原始MiniONN 本框架改进算法
预处理所需通信量理论最小值 9981MB 224MB
预处理通信量实验值 10301MB 250MB
表2:预处理操作完成时间表
Figure BDA0003577149950000121
由上表1和表2可知,本发明方法对MiniONN进行多种优化改进,尝试在其预处理过程中应用Gazelle框架中的加速计算算法,依据具体项目环境对算法进行进一步创新设计与优化,现有版本完成全部操作时间仅需要原始方法的1/4,与此同时将通信量成功下降到原始通信量的1/40,且计算操作可以在服务端独立完成,极大程度释放客户端资源。本发明解决了机器服务中产生的隐私泄露问题。通过利用差分隐私技术构建新的交互方案,以解决原框架中混淆电路所带来的性能瓶颈问题,将隐私保护状态下图片预测所需时间从数小时降到了10s以内,使其能够满足真实使用场景使用需求。
综上所述,本发明方法能够应用于Resnet101等复杂神经网络模型,实现隐私保护目的,其相比以往的解决方案能够极大程度减少预测所需时间,降低加密方案引入的额外通信量与额外计算量。

Claims (6)

1.一种高效的不经意神经网络转化方法,其特征在于,包括以下步骤:
(1)对多层神经网络进行分段处理,得到前后两部分神经网络;
(2)定义预处理交互协议,利用基于加密矩阵的加速计算方法,客户端和服务端生成加密的随机数矩阵;
(3)客户端将步骤(2)生成的加密的随机数矩阵作为密钥使用一次性加密技术对输入数据进行加密,得到加密后的数据,将加密后的数据发给服务端进行线性层的计算;
(4)服务端对步骤(3)得到的线性层的计算结果添加拉普拉斯噪声后发送回给客户端,客户端合并数据后拥有添加噪声后的线性层运算结果;
(5)利用生成式对抗网络训练加噪模型Purifier;
(6)客户端对步骤(4)得到的添加噪声后的线性层运算结果进行非线性函数计算,并将非线性函数计算结果通过步骤(5)训练好的加噪模型Purifier,最终将加噪完成的结果以明文形式返回给服务端,对前半部分神经网络完成不经意神经网络转化;
(7)服务端得到步骤(6)输出的明文后,完成多层神经网络后半部分的计算,即完成预测。
2.根据权利要求1所述的不经意神经网络转化方法,其特征在于,所述步骤(2)具体包括以下子步骤:
(2.1)定义预处理交互协议:客户端首先产生一个与输入x相同大小的随机数矩阵r,并生成用于加密的公私钥对pks与sks,利用公钥pks对随机数矩阵r进行加密后得到加密后的随机数矩阵
Figure FDA0003577149940000011
客户端将加密后的随机数矩阵
Figure FDA0003577149940000012
发送给服务端;服务端具有参数w和随机数矩阵r,服务端会生成一个大小为m*n的随机数矩阵u,所述随机数矩阵u的大小与w·r结果相同;
(2.2)基于步骤(2.1)中定义的预处理交互协议,运用基于加密矩阵的加速计算方法,得到加密矩阵。
3.根据权利要求1所述的不经意神经网络转化方法,其特征在于,所述步骤(2)中基于加密矩阵的加速计算方法具体为:
(2.2.1)将随机数矩阵r以特殊方法排列后用同态加密技术加密发送,所述将随机数矩阵r以特殊方法排列具体为:将随机数矩阵r按照im2col方法展开排列为便于卷积计算的矩阵,并将排列完成的矩阵中以对角线的方式,将不同列的数据利用同态加密方法中的SIMD技术依次排列轮流加密至同一个密文中;
(2.2.2)通过将模型线性参数w排列成对应的特殊形式得到明文矩阵w′,在接收到的加密后的随机数矩阵
Figure FDA0003577149940000021
上直接完成与明文矩阵w′相乘,随后在相乘的计算结果上减去生成的随机数矩阵u,将结果发送回客户端,客户端进行解密后,直接能够得到矩阵v,所述矩阵v满足:
u+v(mod N)=w·r
所述将模型参数w排列成对应的特殊形式得到明文矩阵w′的步骤具体为:将模型参数w根据矩阵r的特殊排列方式,排列填充为能够与加密后随机矩阵
Figure FDA0003577149940000022
完成对应位置相乘的明文矩阵w′,其排列目的为保持原本w·r运算过程中的对应位置相乘关系。
4.根据权利要求1所述的不经意神经网络转化方法,其特征在于,所述步骤(3)具体包括以下子步骤:
(3.1)客户端将步骤(1)生成的加密的随机数矩阵r、u、v使用一次性加密方法加密得到加密后的数据;
(3.2)将步骤(3.1)生成的加密后的数据进行线性层的计算,公式如下:
y=W·x+b
其中:
Figure FDA0003577149940000023
客户端随机生成一个与输入x大小相等的随机矩阵:
Figure FDA0003577149940000024
服务端随机生成一个与输出y大小相等的随机矩阵:
Figure FDA0003577149940000025
客户端通过随机数矩阵r、u、W计算得到矩阵:
Figure FDA0003577149940000026
满足:
u1+v1(modN)=w1,ir1+w1,2r2
u2+v2(modN)=w2,1r1+w2,2r2
即:
u+v(modN)=W·r
客户端通过预处理得到一次性密钥
Figure FDA0003577149940000031
并利用密钥加密输入x,得到密文
Figure FDA0003577149940000032
满足:
Figure FDA0003577149940000033
Figure FDA0003577149940000034
客户端发送密文xS给服务端,服务端根据密文xS计算,经过线性层后得到计算结果
Figure FDA0003577149940000035
Figure FDA0003577149940000036
Figure FDA0003577149940000037
客户端C在预处理中拥有
Figure FDA0003577149940000038
Figure FDA0003577149940000039
Figure FDA00035771499400000310
将客户端与服务端各自拥有的数据相加后得到线性层结果:
Figure FDA00035771499400000311
Figure FDA00035771499400000312
5.根据权利要求1所述的不经意神经网络转化方法,其特征在于,所述步骤(4)具体为:所述服务端对线性层的计算结果添加噪声,所述噪声分布符合拉普拉斯分布公式:
Figure FDA00035771499400000313
其中,μ是位置参数,b是尺度参数;
所述服务端得到添加了拉普拉斯噪声的线性层的计算结果,并将该结果发送给客户端,所述客户端将该结果与客户端自己的线性层的计算结果数据合并得到加噪后的线性层结果。
6.根据权利要求1所述的不经意神经网络转化方法,其特征在于,所述步骤(6)具体包括以下子步骤:
(6.1)对步骤(4)得到的加噪完成的结果进行非线性函数计算;
(6.2)将步骤(6.1)计算得到的非线性函数计算的结果输入步骤(5)训练好的加噪模型Purifier中,得到加噪完成的结果;
(6.3)将步骤(6.2)得到的加噪完成的结果以明文形式返回给服务端。
CN202210347259.8A 2021-10-15 2022-04-01 一种高效的不经意神经网络转化方法 Pending CN115994559A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111202537.2A CN113869499A (zh) 2021-10-15 2021-10-15 一种高效的不经意神经网络转化方法
CN2021112025372 2021-10-15

Publications (1)

Publication Number Publication Date
CN115994559A true CN115994559A (zh) 2023-04-21

Family

ID=78999695

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202111202537.2A Pending CN113869499A (zh) 2021-10-15 2021-10-15 一种高效的不经意神经网络转化方法
CN202210347259.8A Pending CN115994559A (zh) 2021-10-15 2022-04-01 一种高效的不经意神经网络转化方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202111202537.2A Pending CN113869499A (zh) 2021-10-15 2021-10-15 一种高效的不经意神经网络转化方法

Country Status (1)

Country Link
CN (2) CN113869499A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116663064A (zh) * 2023-07-25 2023-08-29 武汉大学 一种隐私保护神经网络预测方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115065463B (zh) * 2022-06-10 2023-04-07 电子科技大学 一种隐私保护的神经网络预测系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116663064A (zh) * 2023-07-25 2023-08-29 武汉大学 一种隐私保护神经网络预测方法及系统
CN116663064B (zh) * 2023-07-25 2023-10-20 武汉大学 一种隐私保护神经网络预测方法及系统

Also Published As

Publication number Publication date
CN113869499A (zh) 2021-12-31

Similar Documents

Publication Publication Date Title
CN110008717B (zh) 支持隐私保护的决策树分类服务系统及方法
CN111324870B (zh) 一种基于安全双方计算的外包卷积神经网络隐私保护系统
US10291392B2 (en) Method and system for encrypting data
CN113518092B (zh) 实现多方隐私的集合交集方法
CN107294697B (zh) 基于明文相似矩阵的对称全同态加密方法
CN112395643B (zh) 一种神经网络的数据隐私保护方法及系统
CN109474594B (zh) 船端数据轻量化装置、岸端数据还原装置、船岸一体化数据轻量化传输系统及传输方法
CN115994559A (zh) 一种高效的不经意神经网络转化方法
CN107196926A (zh) 一种云外包隐私集合比较方法与装置
CN109460536B (zh) 一种矩阵运算的安全外包方法
CN113065145A (zh) 一种基于秘密共享和随机扰动的隐私保护线性回归方法
CN110445797B (zh) 一种具有隐私保护的两方多维数据比较方法和系统
CN112383388A (zh) 一种基于云计算大数据的双秘钥加密系统及方法
Gabr et al. A combination of decimal-and bit-level secure multimedia transmission
Al-Arjan et al. Intelligent security in the era of AI: The key vulnerability of RC4 algorithm
Shen et al. ABNN2: secure two-party arbitrary-bitwidth quantized neural network predictions
CN108965639B (zh) 基于混沌分割的多扩散图像加密解密方法
CN109190395B (zh) 一种基于数据变换的全同态加密方法及系统
CN110298363A (zh) 一种加密图像上的隐私保护lbp特征提取方法
CN107248914B (zh) 一种iOS设备上新型对称加密系统及加密方法
CN116506218B (zh) 一种云环境下用户数据交互式计算隐私保护方法及系统
Salman et al. A homomorphic cloud framework for big data analytics based on elliptic curve cryptography
CN107342855B (zh) 基于sm2算法的签名方法
Cheng et al. Private inference for deep neural networks: a secure, adaptive, and efficient realization
CN111614456B (zh) 一种针对sm4算法的多方协同加密方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination