
随着社会数字化和信息化的程度越来越高,数据资源作为一种互联网时代的新能源所表现出的数据流动价值越来越得到人们的重视。在大数据背景下,机器学习技术正被广泛应用在各个领域,充分发挥数据的价值。与此同时,在对数据隐私的担忧声中,政府开始行动制定数据使用合规法案。传统的机器学习方法受到了制约,大量的数据因为需要依法保护而无法被联合在一起进行建模,隐私保护机器学习的概念应运而生。本书将介绍隐私保护机器学习的原理、方法和应用,主要介绍机器学习和隐私保护技术的基础知识,并讲解隐私保护机器学习的应用,包括隐私求交、安全多方计算、线性模型、树模型、神经网络。同时本书还介绍隐私保护机器学习的具体应用场景,深入讲解其技术原理。
本书讲述的是如何应用隐私保护技术来解决机器学习中的隐私问题。我们常常可以听到,如今这个时代是“大数据”的时代,而“大数据”正是人工智能、机器学习得以茁壮成长的原料。但是,我们又常常面对这样一个现实:数据是分散的、碎片化的,它们分散在用户的各个终端,如手机、平板电脑等。传统的方法是将这些数据集中到一个中心服务器,然后在该服务器上进行集中式训练。然而,这样的方法会引起严重的隐私泄露问题,引发用户对个人隐私被侵犯的担忧。随着各国相继出台隐私保护的相关法律法规,这样的做法也越发变得不可行。 为了保护隐私的安全,越来越多的隐私保护机器学习方法正在被提出,也有很多隐私保护机器学习系统在工业界落地,如谷歌的联邦学习、蚂蚁集团的Hess-XGB等。这些方案在某些特定的领域中能够解决相应的隐私保护问题,但也面临着很多挑战。例如,基于密码学的隐私保护方法,通常可以在不怎么牺牲正确性的情况下,达到隐私保护的效果,但常常面临严重的效率问题;基于扰动、加噪的方法,可能需要在准确性和隐私性之间取得平衡;基于可信执行环境的方法,有着高效率的优点,但需要所有用户都信任TEE的可信根,从而制约了其使用场景。 在这样的背景下,本书将详细介绍隐私保护机器学习的原理、方法和应用。本书的第1章是引言部分,介绍了人工智能的发展历程、相关背景。第2~4章是机器学习和隐私保护技术相关基础知识的介绍,以及对隐私保护机器学习所面对的场景的定义。第5~12章则是隐私保护机器学习的具体应用,我们将讲述隐私求交技术、安全多方计算平台,以及如何将隐私保护技术应用于线性模型、树模型和神经网络,还会介绍推荐系统、可信执行环境和MPC编译优化方法。第13章是全书的总结和展望。 处于这个时代的算法工程师和科研人员,见证着机器学习带来的最深刻、最迅猛的变革,也面临着人工智能带来的种种问题和担忧。希望本书能为对该领域感兴趣的读者提供相关知识的概述,也能帮助相关领域的从业人员构建隐私保护机器学习的框架。 本书特色 本书所涵盖的范围很广,基本包括了隐私保护机器学习的各个方面,可以为读者提供一个全面的概览。在内容深度方面,本书不仅仅是一本“概况书”。自然,书中会包含隐私保护机器学习的概况,但是在每一章里,都会深入讲解技术原理,可以作为高等院校相关专业的本科生、研究生的学习参考资料。在新颖度方面,笔者在写作每一个章节时都查阅了相关领域的最新进展,希望能将最新的研究成果呈现给读者。 本书读者 (1)工业界的相关从业者。本书涵盖了隐私保护机器学习的方方面面,希望可以给从业者提供一个了解相关技术的途径,进而在工作中选择合适的方案,扬长避短,不断改进技术点。 (2)有一定计算机基础,该领域的爱好者、高等院校的学生。本书在保证深度的同时,用尽量易于理解的方式讲解原理,可以作为本科生、研究生的参考资料。 欢迎交流 机器学习的发展日新月异,而我知识有限,难免有疏漏之处。欢迎读者将阅读时发现的问题反馈给我,或者与我讨论相关技术。 致谢 本书的写作并不轻松,由于时间仓促,在写作过程中几乎挤出了所有时间查阅相关文献、梳理技术框架、构思写作顺序,希望能以尽量通俗易懂的语言将相关内容呈现给读者。限于时间紧迫和本人的知识水平有限,书中的疏漏不当之处恳请各位读者批评指正。 在此,感谢参与编写人员:陈超超、方文静、季珂宇、卢天培、卢益彪、栾明学、王磊、王力、王志高、徐又任、殷泽原、余超凡、袁鹏程、张秉晟、张心语、张兴盟、周爱辉、周俊、周哲磊。 著者 2021年3月
目 录 第1章?引言 1.1?背景 1.2?章节概览 1.3?人工智能与机器学习 1.3.1?人工智能发展历程 1.3.2?人工智能应用现状 1.4?隐私保护相关法律与标准 1.5?现状与不足 1.5.1?隐私保护机器学习现状 1.5.2?当前存在的不足 1.6?本章小结 第2章?机器学习简介 2.1?有监督和无监督学习 2.2?线性模型 2.2.1?基本形式 2.2.2?线性回归 2.2.3?对数概率回归 2.2.4?多分类问题 2.2.5?过拟合与欠拟合 2.3?树模型 2.4?神经网络 2.4.1?神经元模型 2.4.2?前馈神经网络 2.4.3?反向传播算法 2.4.4?深度学习 2.5?图神经网络 2.5.1?循环图神经网络 2.5.2?图卷积神经网络 2.5.3?图自动编码器 2.5.4?时空图神经网络 2.5.5?图神经网络的应用 2.6?迁移学习 2.6.1?迁移学习的基本概念 2.6.2?迁移学习主要技术 2.6.3?迁移学习的应用 2.7?本章小结 第3章?安全计算技术原理 3.1?概览 3.2?不经意传输 3.3?混淆电路 3.3.1?point-and-permute优化 3.3.2?free-XOR优化 3.3.3?GRR优化 3.3.4?half-gates优化 3.4?秘密分享 3.4.1?定义 3.4.2?Shamir算法 3.4.3?Blakley算法 3.5?同态加密 3.5.1?定义 3.5.2?加法同态 3.5.3?乘法同态 3.6?可信执行环境 3.6.1?TEE定义 3.6.2?TEE架构 3.6.3?常见的TEE实现 3.7?差分隐私 3.7.1?差分隐私基础 3.7.2?差分隐私模型 3.8?本章小结 第4章?场景定义 4.1?数据切分 4.2?安全模型 4.2.1?理想世界/现实世界范式 4.2.2?半诚实模型 4.2.3?恶意模型 4.2.4?小结 4.3?多方联合计算模式 4.3.1?外包多方计算 4.3.2?端到端多方计算 4.3.3?服务器辅助的多方计算 4.3.4?对比分析 4.4?安全等级 4.5?本章小结 第5章?隐私求交 5.1?概念及应用 5.2?基于朴素哈希的隐私求交 5.2.1?哈希函数 5.2.2?基于哈希函数的隐私求交 5.3?基于迪菲–赫尔曼的隐私求交技术 5.3.1?迪菲–赫尔曼密钥交换算法 5.3.2?基于迪菲–赫尔曼的隐私求交算法 5.4?基于不经意传输的隐私求交技术 5.5?基于同态加密的隐私求交技术 5.6?本章小结 第6章?MPC计算框架 6.1?计算框架概述 6.2?协议说明 6.3?Sharemind框架 6.3.1?输入和输出 6.3.2?密态计算 6.3.3?结果输出 6.4?ABY框架 6.5?恶意威胁模型下的框架 6.5.1?SPDZ和BMR 6.5.2?SPDZ协议相关 6.5.3?BMR协议相关 6.6?本章小结 第7章?线性模型 7.1?逻辑回归简介 7.2?基于秘密分享的方法 7.2.1?数据水平切分场景下的方法 7.2.2?数据垂直切分场景下的方法 7.3?基于同态加密和秘密分享混合协议的方法 7.4?本章小结 第8章?树模型 8.1?梯度提升决策树简介 8.2?MPC决策树 8.2.1?安全多方计算的数据处理 8.2.2?协议对浮点数的处理 8.2.3?安全多方计算协议 8.2.4?基于MPC的决策树预测协议 8.3?Secure Boost算法 8.3.1?单棵决策树训练算法 8.3.2?单棵决策树预测算法 8.4?HESS-XGB算法 8.5?本章小结 第9章?神经网络 9.1?神经网络简介 9.2?联邦学习 9.3?拆分学习 9.4?密码学方法 9.4.1?基于安全多方计算的神经网络 9.4.2?基于同态加密的神经网络 9.5?服务器辅助的隐私保护机器学习 9.5.1?动机 9.5.2?模型总体介绍 9.5.3?客户端联合计算第一个隐层 9.5.4?服务器计算中间隐层 9.5.5?客户端做模型预测 9.5.6?模型训练 9.5.7?防御机制 9.6?本章小结 第10章?推荐系统 10.1?推荐系统简介 10.2?常见推荐算法 10.2.1?协同过滤 10.2.2?矩阵分解 10.2.3?逻辑回归 10.2.4?因子分解机 10.3?隐私保护推荐系统概述 10.3.1?基于所解决的弱点进行分类 10.3.2?基于所面对的场景进行分类 10.3.3?基于所使用的方法进行分类 10.4?隐私保护推荐算法 10.4.1?隐私保护矩阵分解 10.4.2?隐私保护因子分解机 10.4.3?SeSoRec 10.5?本章小结 第11章?基于TEE的机器学习系统 11.1?SGX 11.1.1?隔离控制 11.1.2?完整性度量和身份认证 11.2?SGX应用开发 11.2.1?基于SGX SDK 11.2.2?基于SGX LibOS 11.3?基于SGX的隐私保护机器学习实例 11.3.1?Chiron 11.3.2?TensorSCONE 11.4?集群化 11.4.1?同构组网的无状态在线服务 11.4.2?异构组网的XGBoost训练系统 11.5?侧信道加固 11.5.1?侧信道攻击 11.5.2?攻击方法 11.5.3?安全加固方法 11.6?本章小结 第12章?安全多方计算编译优化方法 12.1?安全多方计算编译器现状 12.2?非线性门数目最小化 12.2.1?基础运算模块 12.2.2?非线性门数量最小化优化方案 12.3?深度最小优化方法 12.3.1?代码预处理 12.3.2?进位保存加法器(CSA)与进位保存网络(CSN) 12.3.3?基础运算模块改进 12.3.4?门电路级别深度优化 12.4?本章小结 第13章?总结与展望 13.1?本书内容小结 13.2?挑战与展望 13.2.1?技术层面 13.2.2?社会层面 参考文献