为了解决现有隐私保护计算技术不适用于深度神经网络在线学习任务以及部分隐私保护计算工具的性能问题,香港科大智能网络与系统实验室iSING Lab和国内隐私计算算力提供商星云 Clustar 合作,提出了一种隐私保护在线机器学习场景下的新框架——Sphinx。
论文题目为《Sphinx: Enabling Privacy-Preserving Online Learning over the Cloud》, 作者为 Han Tian, Chaoliang Zeng, Zhenghang Ren, Di Chai, Junxue Zhang, Kai Chen, Qiang Yang。
目前,该论文已被IEEE安全与隐私研讨会(IEEE S&P “Oakland”)收录。
随着机器学习的研究发展的不断进步和相关应用的不断普及,为了减轻精细化模型所带来的的训练及推理的计算压力,现在的主流做法是将机器学习服务部署在公有云上,由计算能力巨大的云服务端提供机器学习的训练和推理服务。但在云服务商提供机器学习的服务过程中,用户需要将自己的训练数据和推理数据上传给服务器,这就意味着隐私泄露的可能。
为了确保在公有云上进行计算所使用的用户数据隐私,研究者们提出了各种基于不同技术的隐私保护机器学习算法(如多方安全计算、同态加密或差分隐私)。现有工作中的一部分方案只集中解决模型训练或者模型推理两者之一,用于同时需要训练和推理的在线学习场景时效率较差;另外一部分方案需要受信任的第三方或者多个可靠不共谋的服务器联系计算。
为了解决在隐私保护在线学习中出现的上述问题,港科大与星云Clustar研究端对更加细致的分析了现有的各类加密技术(特别是同态加密和差分隐私)之间的区别和联系,试图找出一个最优组合,能够结合各个加密技术的特点与机器学习训练和推理的任务需求,提出一个最适合在线机器学习场景的混合协议方案。
主要工作:
- 该研究提出了一种隐私保护在线深度学习框架 Sphinx,该学习框架无需任何受信任的第三方,并且在训练和推理中较之前方案都有明显提升。
- Sphinx 将其神经网络模型中的线性参数 (linear) 保持为明文,并使用差分隐私技术进行隐私保护;其加和偏差部分模型参数 (bias) 使用同态加密技术进行加密保护。
- Sphinx 结合同态加密、差分隐私和秘密共享多种隐私保护技术,根据训练和推理的具体任务特点提出了定制且兼容的训练和推理混合协议,从而实现快速的训练和推理计算。
- Sphinx 通过对隐私保护场景下推理和训练协议进行系统优化,在模型性能、计算效率和隐私保护之间取得平衡
在 MNIST 和 CIFAR10 上的图片分类训练和推理任务上的实验结果表明,Sphinx 能够在不暴露用户隐私的情况下显着减少训练时间,同时能够实现实时的推理服务。另外,针对差分隐私保护的明文线性参数进行梯度攻击的实验结果表明,Sphinx 相比于单一差分隐私保护的模型对梯度攻击的防护能力更强。
该研究为隐私保护在线机器学习提出了新的思路,将能够启发后续在此任务场景下的一系列新的工作。我们也将继续在此场景深耕,优化协议计算技术,进一步优化模型表现与计算性能。
首先,先来介绍一下同态加密与差分隐私等加密技术:
同态加密 (Homomorphic Encryption, HE)是一类加密方法的统称。该加密方法支持对加密的数据进行运算,从而在保证用户数据安全的情况下,在并不受信的远程服务器上完成各类计算任务。如果能在密文上完成有效的计算,使得计算结果经过解密后与明文直接运算一样,就可以让用户放心地将数据加密后上传到远端服务器上进行运算,用户只需要保护好自己的密钥,就不用担心自己的数据泄露。
差分隐私(Differential Privacy, DP)是一类随机化混淆方法的统称。其目的在于在混淆输入数据或者在计算过程中增加噪声,从而使得整个计算的输出结果无法从概率角度辨别输入数据是否存在某一条特定的用户数据。在这个过程中,差分隐私还定义了一套可量化的隐私保护计算指标。在原明文的基础上添加高斯噪声是差分隐私常常使用的一种混淆方法,噪声的方差越大,对用户隐私的保护程度越高,但同时,对结果的准确度的影响也越大。
研究发现,在隐私保护机器学习领域,同态加密和差分隐私技术的结合具有很多的优点,如:
- 很多全同态加密算法不仅支持两个密文之间的运算,也支持密文和明文之间的运算。我们在实际使用同态加密技术的过程中观察到,密文和明文之间的算术运算花费的时间要少得多。由于在深度神经网络中的训练和推理中涉及到大量的特征和模型参数之间的矩阵乘法,通过引入 DP 将模型参数保护为明文,与纯 HE 方法相比,我们可以显着降低训练过程中的计算开销。此外,我们观察到前面所述的专注在隐私保护模型推理上的解决方案在明文模型的前提下,能够使用诸如秘密共享等轻量级技术达到非常快速的推理速度。因此,如果可以使用差分隐私在明文状态下保护模型,我们可以采用这些方案中最高效的加密方法进行私有推理,并显着减少在线阶段的推理时间。
- 差分隐私在实际使用的过程中,需要一个可信的第三方来进行数据的聚合和混淆计算操作。然而,通过引入类似同态加密的安全计算方案,我们可以在不需要可信数据聚合方的前提下就实现差分隐私算法。例如,通过对输入数据进行同态加密,用户可以直接将这些加密数据发送给服务器,在服务器上执行安全聚合计算以获得有意义的统计结果。该加密统计结果可以返回给用户端添加噪声,实现差分隐私极致。在这个过程中,个人的隐私始终受到同态加密的保护,而不需要考量服务器是否可信。
- 我们在实际进行模型训练的过程中发现,通过使用同态加密技术隐藏神经网络每层中的偏置参数 和其梯度,由于可用的明文梯度信息的不完整,我们可以有效地降低攻击者利用经过差分隐私保护的梯度数据重建数据的风险。论文中的攻击实验表明,通过屏蔽这些梯度与中间特征,相对于纯差分隐私混淆所有梯度信息,Sphinx更有效地防御了相同差分隐私隐私级别下的重构攻击。
因此,我们提出了基于多隐私保护计算技术的在线机器学习框架Sphinx。Sphinx的核心架构是将深度神经网络中的每个线性层分为两部分:线性分量
和偏置分量
。Sphinx使用同态加密 (HE) 加密所有偏置分量,并使用差分隐私 (DP) 混淆线性分量。基于这种设计,我们设计了能够同时结合两者优点的高吞吐量训练和低延迟推理协议。
Sphinx的具体模型设计以及训练框图如图所示
其训练过程主要是基于同态加密技术完成的。由于使用的基于CKKS的同态加密方案能够支持向量数据的批量操作,基于同态加密的训练方案很适合常常使用批量数据进行更新的机器学习模型训练过程。用户将训练数据进行同态加密之后,发送给提供隐私保护在线机器学习的服务器云端,云端在进行正向推理、反向梯度传播之后完成梯度计算。其中偏置分量使用同态加密保护,因此在线完成更新;线性分量使用差分隐私保护,因此云端服务器将该部分的加密状态下的梯度回传给用户,由用户完成解密、聚合和噪声的添加之后,发送给服务器完成此轮线性分量参数的模型更新。
论文中对Sphinx设计的训练和推理协议的安全性进行了分析。在训练过程中,由于使用了差分隐私对部分模型参数进行保护,因此对训练数据的隐私保护程度也需要使用差分隐私来进行度量,文中证明在使用同态加密的情况下,Sphinx可以在不需要可信第三方的情况下实现各类差分隐私方法,因此达到与使用的差分隐私机制相同的隐私保护等级,后续的实验也对此进行了验证。另外,对于推理数据来说,论文中证明了Sphinx基于秘密共享的安全推理协议能够在密码学安全等级上保护用户的推理数据不发生任何泄露。
为了最大化上述训练和推理协议在实际部署中的性能。Sphinx提出了更多的系统级别的优化方案。如延迟再缩放和再线性计算、设计暂存正向传播密文特征的缓存来用于在反向梯度传播中减少密文的重复传输次数,以及设计加密、传输密文和解密的加速方案。具体优化细节可以参考原文。
在进行用户与服务器端通讯完成隐私保护训练的过程中,Sphinx的实际训练速度和通讯量如下图所示,可以看到相对于单一的同态加密训练方案,由于将线性参数使用差分隐私进行保护,Sphinx能够大大的提升训练的效果和减少密文传输的通信量(35X)。
Sphinx在用户和服务器端使用上述隐私保护推理协议进行推理任务中的表现见下表,可见相比单一的同态加密推理或者Sphinx的训练协议中的简单正向传播,针对Sphinx模型特点设计的轻量级的推理协议速度提升达4-6个数量级,能够达到实时的推理速度,与诸如Gazellel、Delphi一类只能用于公开模型的隐私保护推理方案速度相当。
由于Sphinx使用了差分隐私技术对部分的模型参数进行了保护,部分模型参数是通过添加噪声之后以明文的形式保存在服务器上的。鉴于最近涌现的一批基于梯度进行样本还原的梯度攻击方案(如Deep Leakage),文中使用该方案去探究将偏置向量加密保护之后是否能降低被梯度攻击方法还原训练数据的风险。
我们同时对单一差分隐私保护的模型和Sphinx的模型进行了Deep Leakage梯度攻击,其在差分隐私噪声不同等级下的还原效果如下图,可见在将偏置向量使用同态加密进行加密保护后,由于获得的模型参数不完整,加入了噪声的剩余梯度不足以还原出原来的输入训练数据,从而证明了Sphinx对梯度攻击的防御能力。
Sphinx基于混合的隐私保护技术,将在线学习分为训练和推理阶段并提出了相互兼容且高效的混合协议。实验表明Sphinx显着加速了隐私保护的训练和推理性能,为在深度神经网络上实现落地可用的隐私保护在线学习服务迈出了重要的一步。