联邦学习:算法详解与系统实现
上QQ阅读APP看书,第一时间看更新

前言

机器学习技术在最近20年飞速发展,从一个个数学概念逐渐演变成一个个算法实现,为工业界和学术界带来了新的力量。然而,最近几年,数据隐私保护问题愈发受到人们的关注,研究者们开始开发各种技术来进行数据层面的隐私保护。联邦学习作为其中一项重要技术,势必迎来新的发展前景。本书将从概念、应用场景到具体的先进算法,再到最后的系统实现,对联邦学习技术进行全盘的梳理与总结,希望给读者一些启发。注意,本书仅从技术视角对联邦学习进行回顾展望,如有涉及数据收集与授权方面的信息,还需要满足管辖地法律法规及监管的要求。

本书分三个部分,共17章。

第一部分为联邦学习基础知识,主要介绍联邦学习的定义、挑战、应用场景和常用技术,包括以下3章。

第1章联邦学习概述,详细介绍了什么是联邦学习、联邦学习的应用现状与挑战,然后介绍了分布式学习和联邦学习的区别与关联。

第2章联邦学习应用场景,本章从金融、生物医学、计算机视觉和自然语言处理等多个方面对联邦学习的应用场景进行介绍。

第3章常用隐私保护技术,我们首先对当前基于隐私保护的机器学习算法进行了简要综述,然后重点介绍了差分隐私、安全多方计算和同态加密等常用的隐私保护技术。

第二部分为联邦学习算法详述,主要介绍了我们针对纵向联邦学习和横向联邦学习场景提出来的诸多创新性联邦学习算法,包括以下10章。

第4章纵向联邦树模型算法,基于两种不同的集成方法Bagging和Boosting分别设计了两种算法:纵向联邦随机森林算法和纵向联邦梯度提升算法。

第5章纵向联邦线性回归算法,提出了全新的纵向联邦多视角线性回归算法,从多个视角对对象进行建模并联合优化所有函数。

第6章纵向联邦核学习算法,提出了一个针对纵向联邦场景的核学习算法,并设计了一个完整的联邦学习框架。

第7章异步纵向联邦学习算法,针对当前纵向联邦学习算法主要采用的同步并行方法提出了相应的异步并行算法,并针对强凸问题提供了理论保证。

第8章基于反向更新的双层异步纵向联邦学习算法,提出了一个反向更新的异步并行算法,以在实际应用中同时实现标签数据保护和并行计算(更新)。

第9章纵向联邦深度学习算法,提出了一个针对当下流行的深度学习模型的纵向联邦学习基础框架,并对框架进行了简要的综合分析。

第10章快速安全的同态加密数据挖掘框架,针对当前同态加密时间复杂度高的问题,提出了一个基于同态加密的快速分布式数据挖掘框架。

第11章横向联邦学习算法,在阐述分布式学习和横向联邦学习之间关系的基础上,对当前横向联邦学习的主流算法进行了较为详细的介绍。

第12章混合联邦学习算法,结合横向联邦学习和纵向联邦学习的特点,提出了适用性更广、使用步骤简单的混合联邦学习算法。

第13章联邦强化学习,首先介绍了强化学习的定义和常用技术方案,然后介绍了多种联邦强化学习算法。

第三部分为联邦学习系统相关知识,主要介绍了京东科技设计的联邦学习系统及算法落地的性能优化技术,包括以下4章。

第14章FedLearn联邦学习系统,从编程语言与环境、系统架构、跨语言算法支持(函数调用)、系统服务和工程部署等方面全方位地介绍了FedLearn联邦学习系统。

第15章gRPC在FedLearn中的联邦学习应用实例,以横向联邦学习和纵向联邦学习的应用场景为切入点,详细介绍了如何使用FedLearn中采用的高性能框架gRPC。

第16章落地场景中的性能优化实践,介绍了如何在实际应用中对系统进行性能优化,并给出了实际应用场景中的优化结果。

第17章基于区块链的联邦学习,引入区块链学习,介绍了基于区块链的联邦学习算法和联邦学习系统的实现。

其中,第二部分为本书的重点部分,我们提出了诸多联邦学习的算法、流程详解及可能的理论保障。如果读者没有充足的时间完成全书的阅读,可以选择性地进行重点部分的阅读。如果读者有一定的从业经验,本书可能会是一本不错的参考书。然而,如果读者是一名初学者,建议在阅读本书之前,先进行一些机器学习、分布式学习以及隐私保护技术等基础理论知识的学习。

本书相比于其他联邦学习书籍的特色与优势在于:第一,本书的作者是扎根于联邦学习前沿的研究者和从业者;第二,我们在本书中提出了众多不同于其他书籍的全新联邦学习算法,以飨读者;第三,我们参考了近两年全新的文章和综述,紧跟学术和业界的联邦学习动态。

在本书的编写过程中,我们深深地感受到联邦学习及其相关领域技术的繁多冗杂,因此书中难免出现一些错误或者不准确的地方,恳请读者批评指正。

感谢京东科技对我们撰写本书的大力支持与帮助!

感谢京东科技硅谷研发部基础用户算法部的顾彬、单华松、王家洲。

感谢京东科技算法工程研发部区块链平台组的王义、孙海波。

感谢京东科技硅谷研发部联邦学习算法部的党致远、范明姐、王佩琪、王新左、张青松、张文夕(按姓名首字母排序)。