论文部分内容阅读
机器学习即服务(Machine Learning as a Service,MLaaS)是一种全新的云端服务模式。在该服务模式下,云服务提供商通过将机器学习模型部署在云端来便捷地为广大用户提供各种基于机器学习的服务,例如图像分类、语音识别、在线翻译等。云端的机器学习模型一般来说有三种获取途径,第一种是云服务提供商自己进行部署来为用户提供免费或付费的服务;第二种是第三方将模型托管到云端来为用户提供服务,因此模型的所有权是第三方;第三种是用户自行训练模型,即云端提供计算服务来根据用户提供的训练数据和机器学习代码来为用户训练模型。无论是哪种部署方式,该服务都需要直接获取用户的数据来驱动机器学习模型,即数据需要上传至云端。然而,当用户的输入数据包含个人隐私时,例如人脸图片和医疗数据等,这种服务模式则会对用户的隐私构成直接威胁。为了解决这一服务模式下的安全风险,研究人员已经提出通过使用安全计算技术来保证隐私数据以密文的形式在云端进行计算,从而使得云端无法获取明文隐私数据。然而,由于安全计算技术的开销往往较高且云端模型的计算较为复杂,导致这种方法的计算和通信开销较大。本文关注用户在使用云端部署的机器学习模型时的隐私保护问题,具体地,本文研究用户如何在不泄漏自身数据的情况下使用云端部署的卷积神经网络模型。针对该问题对应的不同场景和需求,本文提出了安全高效的卷积神经网络算法和模型输出获取算法,来解决云端部署卷积神经网络时的安全和隐私问题。本文的主要贡献如下:1.安全高效的卷积神经网络算法:本文通过分析卷积神经网络中不同神经层的计算特点提出了针对性的安全计算方法。对于卷积层,本文使用快速傅立叶变换来对用户输入数据和云端模型参数进行预处理,使得云端能够在同态密文域中高效地对用户的隐私数据进行计算;对于全连接层,本文通过将其转换成等效的卷积层,来使用提出的卷积层安全算法对其进行高效实现;对于激活层和池化层,本文使用安全两方计算方案设计了安全实现算法,并通过优化处理逻辑减少了这两种神经层的操作,从而提高了计算效率。综合来看,本文同时使用了全同态加密算法和安全两方计算方案来共同完成卷积神经网络模型的安全实现。2.安全高效的模型输出获取算法:本文通过分析两种不同场景下的模型输出获取需求和安全性要求,提出了对应的两种不同的解决方案。对于用户仅需要获取云端分类标签的场景,本文提出了一种使用全同态加密的安全计算协议来保证用户在获取云端分类标签的同时无法获取云端输出的其它信息;对于用户需要同时获取云端分类标签和对应概率值的场景,本文提出了首个基于安全两方计算的安全实现协议,并通过提出的简化定理对其进行了优化。对于提出的算法,本文均进行了安全性分析或证明,并通过充分的实验及与相关工作的对比来证明方案的有效性。