近年来出现了各类提供云服务的云平台,机器学习即服务(Machine Learning as a Service,MLaa S)旨在服务商通过云平台为客户提供机器学习预测服务,然而客户提供的数据中可能包含敏感信息。隐私保护深度学习(Privacy-Preserving Deep Learning,PPDL)将隐私保护技术与深度学习相结合,可以在保护数据隐私的情况下,使用深度学习预测数据,解决了MLaa S中客户隐私泄露问题。一般的加密方案只能将数据加密成密文,不能对密文进行任何的计算,否则会导致解密失败,而同态加密(Homomorphic Encryption,HE)可对密文进行计算,并能对计算结果正确解密。基于同态加密的PPDL将同态加密技术应用于深度学习领域,可对密文进行预测,既解决了客户计算能力有限的问题,又无需客户构建深度学习模型,同时保障了数据的隐私。然而,PPDL的发展仍面临诸多挑战,如加密时间长、推理延迟高、预测准确率低等,其性能有待提高,而图像分类是评估PPDL性能的最常见任务。本文针对上述问题开展研究,主要内容如下: 首先,针对预测准确率低的问题,本文对卷积神经网络的训练过程进行优化,在使用简单的CNN模型避免额外计算开销的情况下,提升模型性能。在训练卷积神经网络(Convolutional Neural Networks,CNN)时,本文使用Nadam优化器加速收敛,并对梯度裁剪,在卷积层使用L2正则化,通过Early Stopping提前停止训练防止过拟合。实验结果表明,通过上述改进,训练过程更加平稳,训练速度和收敛性方面显著提升,在损失下降方面显著提升,并且有效提升了分类准确率。 其次,针对推理效率低的问题,本文使用了单指令多数据(Single Instruction Multiple Data,SIMD)和Open Multi-Processing(Open MP)技术,并对网络层的构建和推理进行改进。本文使用SIMD时充分利用密文槽对密文打包,在构建卷积层和全连接层时,通过权重折叠将多个权重合并为一个权重,从而减少同态乘法次数,并对各网络层使用Open MP并行化,在并行化卷积操作前预计算滤波器窗口范围,将全连接层的加权和计算时拆分为两个阶段,使得每个阶段可以独立执行Open MP并行化,对卷积层和批量归一化层融合,在不设置更多的系数模数下使用批量归一化,减少计算开销。实验结果表明,使得保持CNN对密文的分类准确率较高的情况下,提升对密文的推理效率。 最后,针对加密效率低的问题,本文提出了基于改进编码和加密的CKKS(CKKS based on Improved Encoding and Encryption,IEE-CKKS)方案,IEE-CKKS方案改进了编码对多项式系数的处理和存储方式,并改进编码过程中的Barrett约简、快速数论变换(Number-theoretic transform,NTT)变换,在多项式加密过程中使用查表法代替SWAR算法计算汉明权重。为进一步提高对数据的加密效率,本文使用IEE-CKKS方案加密数据集时利用Open MP并行化外层循环加密。实验结果,以上改进使得加密效率大幅提升,促进全同态加密的实际应用。 摘要译文