本文主要是介绍(阅读笔记)Oblivious Neural Network Predictions via MiniONN Transformations,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
不经意神经网络预测
- 动机
- MINIONN框架
- 本文总结
动机
- 云托管模型受到青睐,用户倾向选择云预测(推理)服务;
- 用户数据包含隐私,如何避免隐私泄露;
- 用户-云协同预测轻量化。
-
隐私保护效果:用户对模型未知,服务器对用户数据未知。
-
本文工作:
- 不改变明文下的神经网络模型,实现与之对应的不经意神经网络(采用OT协议);
- 为神经网络预测的公共函数设计相应的不经意计算协议。
单指令多数据(SIMD):密文长度远大于明文长度,SIMD用于将多条密文消息编码对应于单个明文(基于中国剩余定理CRT),从而实现密文计算批量化。
MINIONN框架
各个网络层输入数据特点:第一层:用户输入数据x,服务器输入模型(w,b);
后面网络层,结果划分两份秘密份额,分别由用户和服务器掌握。
显然,用户和服务器都具备私心(用户不希望服务器得到数据,服务器不希望用户得到模型),因此,用户和服务器不存在共谋问题。
- 基于AHE的两方乘法协议
u = D ( u ~ ) = r × w − v u=D(\widetilde{u})=r \times w - v u=D(u )=r×w−v
- 基于乘法协议的线性组合协议
- 安全激活:采用分段hard线性函数近似sigmoid等激活函数,可以采用安全线性组合协议实现这一网络层功能;
- 安全池化:①平均池化,用户和服务器局部计算平均数即可;
②最大池化,本文采用GC混淆电路实现安全比较(这是一个计算开销缺陷)。
本文总结
本文属于一篇密文预测(或称推理)的前瞻性工作,与通常的用户外包密文数据给服务器计算不同,本文需要用户和服务器协作完成网络前向计算过程,这会加重用户的计算和通信负担。此外,本文提出的基于AHE加法同态加密的两方乘法具有一定普适性,SIMD的应用可以一定程度控制HE的计算开销;本文也主要采用这一协议实现的了安全的线性计算,但对于非线性激活函数,并没有提出一种比较有价值的安全协议设计方向,因为采用分段线性函数毕竟不是激活函数本身,是否具有等同的函数优势,特别是推广至网络反向传播(安全网络训练)时,不连续的一阶导数是否可以适应梯度下降。最大池化也有同样的弱点,众所周知,GC电路的计算开销十分巨大,以此来设计安全比较协议显然是不实际的。因此,针对非线性函数如何设计出高效的安全计算协议仍然是一个开放性的问题。在我看来,本文的最大启示在于offline预计算和online协作计算的区分,可以让我们引起思考,如何合理的分配计算开销。总体而言,这篇论文仍然有着比较重要的现实意义,它是我们在探索密文推理和训练的过程中的重要一步。
这篇关于(阅读笔记)Oblivious Neural Network Predictions via MiniONN Transformations的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!