【联邦学习】从零开始了解联邦学习
【联邦学习】从零开始了解联邦学习
联邦学习是一种新兴的分布式机器学习框架,它能够在保护数据隐私的前提下,实现多个参与方之间的模型训练和推理。本文将从联邦学习的背景、定义、分类、隐私安全、分布式机器学习以及横向联邦学习的算法等多个维度,为您全面解析这一前沿技术的核心原理和应用场景。
联邦学习
阅读记录
第一章 引言
第二章 隐私、安全及机器学习
第三章 分布式机器学习
第四章 横向联邦学习
文章目录
联邦学习
前言
一、引言:联邦学习的分类和发展
二、隐私、安全及机器学习
三、分布式机器学习
四、横向联邦学习
总结
参考内容
前言
参考书籍:
目录:
(目前只介绍前四章)
一、引言:联邦学习的分类和发展
(一)研究背景:人工智能面临的挑战
- 传统机器学习
- 隐私和数据安全保护的要求使得获取数据成为障碍。
- 存在数据碎片化、数据隔离以及数据孤岛问题。
- 各类计算方法面临挑战:如何安全且有效地实现模型在多个地点间的更新和共享。
- 联邦学习作为可行的解决方案
秉持“数据不动模型动”原则,保护数据隐私与模型参数,提升建模效果。举个栗子🌰:让羊群在各地移动,而草不出本地,主人无法知道它吃了哪些草。
优点:①数据隐私保护②节约通信开销③减少计算开销④数据跨域协同
(二)联邦学习概述
- 定义
联邦学习旨在建立一个基于分布数据集的联邦学习模型。联邦学习包括两个过程,分别是模型训练和模型推理。已训练好的联邦学习模型可以置于联邦学习系统的各参与方,也可以在多方之间共享。
具体来讲,联邦学习是一种具有以下特征的用来建立机器学习模型的算法框架:
- 多方协作:两个或以上的联邦学习参与方协作构建一个共享的机器学习模型。每一个参与方都拥有若干能够用来训练模型的训练数据。
- 数据不离开本地:模型训练过程中,数据不离开数据拥有者。
- 信息加密传输:需要保证任何一个参与方都不能推测出其他方的原始数据。
- 模型性能逼近集中训练模型:允许联邦学习模型在性能上比集中训练的模型稍差。
- 两种联邦学习架构
- 客户-服务器架构:需要协调方。协调方(聚合服务器)分发初始模型,参与方训练后回传权重更新,协调方聚合再分发,重复至模型收敛。保护隐私且降低通信开销。
- 对等网络(P2P)架构:不需要协调方。各方无需借助第三方便可直接通信。提升了安全性,但加密解密计算量增加。
PS:协调方是一台聚合服务器(参数服务器),作用如下:
①分发初始模型:将初始模型发送给各参与方。
②收集模型更新:接收参与方使用各自数据集训练模型后产生的权重更新。
③聚合模型更新:对收集到的模型更新进行聚合处理。
④分发聚合结果:将聚合后的模型更新发回给参与方,使各方能基于最新的模型继续训练。
- 挑战
- 通信链接不稳定
- 数据非独立同分布且数量不均导致模型偏差或训练失败
- 参与方地理分散易遭恶意攻击
- 联邦学习分类
特征空间X、数据标签空间Y和样本ID空间I组成了一个训练数据集(I,X,Y)。不同的参与方拥有的数据的特征空间和样本ID空间可能都是不同的。根据训练数据在不同参与方之间的数据特征空间和样本ID空间的分布情况分为:
- 横向联邦学习:参与方数据特征重叠、样本不同,横向切割数据,也叫按样本划分的联邦学习。
- 纵向联邦学习:参与方数据样本重叠、特征不同,纵向切割数据,也叫按特征划分的联邦学习。
- 联邦迁移学习:参与方数据样本和特征重叠极少。
二、隐私、安全及机器学习
(一)面向隐私保护的机器学习与安全机器学习
- 面向隐私保护的机器学习(Privacy-Preserving Machine Learning,PPML):使用了保护隐私和数据安全技术的机器学习,系统安全和密码学领域提供各种各样的安全框架支持。
- 安全机器学习:旨在将机器学习技术应用于解决信息安全问题,同时确保机器学习系统本身的安全性。信息安全的主要思想是控制对个人信息的收集和处理的过程。
下面主要介绍PPML:
(二)机器学习中的三种主要攻击类型
- 完整性:攻击导致机器学习系统检测错误。
- 可用性:引发系统分类错误,导致系统不可用,比完整性攻击范围更宽泛。
- 机密性:造成敏感信息泄露。
(三)威胁与安全模型
- 参与方角色
在机器学习任务里,参与方一般有三种角色:
- 输入方:数据的原始拥有者。
- 计算方:负责模型建立和提供推理服务。
- 结果方:模型查询者和用户。
- 攻击模式
机器学习系统在数据发布、模型训练和模型推理阶段都可能遭攻击:
- 重构攻击:在模型训练时,计算方试图重构原始数据或获取更多数据信息,这对联邦学习的隐私构成重大威胁。
- 模型反演及成员推理攻击:在模型推理阶段,敌对的结果方利用反向工程获取模型额外信息。
- 特征推理攻击:发生于数据发布阶段。
面向隐私保护的机器学习与安全机器学习的区别主要是在于它们被设计用来应对不同类型的安全威胁。
(三)隐私保护技术
- 安全多方计算:保护计算的结果。
- 不经意传输(Oblivious Transfer,OT)
- 秘密共享(Secret Sharing,SS)
- 同态加密(Homomorphic Encryption,HE)
- 混淆电路(Garbled Circuit,GC)
- 同态加密(Homomorphic Encryption,HE):允许对密文进行特定的运算,其结果解密后等同于对明文进行相同运算的结果,意味着无需解密密文即可完成计算,在保护数据隐私的同时支持计算操作。
根据加密能力分为部分同态加密、些许同态加密、全同态加密。
- 部分同态加密:仅支持特定类型的单一运算,如加法或乘法
- 些许同态加密:一同态加密方法中的一些运算操作(如加法和乘法)只能执行有限次
- 全同态加密:允许对密文进行无限次数的加法运算和乘法运算操作,对隐私保护的力度最强
- 差分隐私:保护计算的过程。
主要有两种方法通过给数据加上噪声实现差分隐私。一种是根据函数的敏感性增加噪声,一种是根据离散值的指数分布选择噪声。
三、分布式机器学习
(一)DML概况、分类
分布式机器学习(Distributed Machine Learning,DML):利用多计算节点进行机器学习或深度学习,旨在提高性能、保护隐私,并可扩展至更大规模的训练数据和更大的模型。
分类
面向扩展性的DML:用于内存和算法复杂度受限场景,多用于横向划分数据集,采用并行技术。
数据并行:不同设备用同一模型的多个副本处理多个训练数据分块,并定期通信交换最新的模型训练结果。解决数据存储和计算速度问题。两种基于数据并行的分布式训练方法:
同步训练:每个计算节点产生的梯度(或者模型参数)就会被发送给服务器,服务器在收到所有计算节点的结果后再进行聚合操作。
异步训练:所有计算节点独立地使用其本地的训练数据集来训练同一个模型的副本,并将本地获得的模型梯度及时地推送给服务器,以便服务器更新全局模型。
模型并行:拆分模型置于不同计算节点。
图并行:以图为中心划分、分配数据和执行算法,速度快。
任务并行:程序在同一台或多台机器上的多个处理器上执行。
混合并行和交叉并行:融合多种并行方式。
面向隐私保护的DML:保护隐私和数据安全,多用于纵向划分数据集。
通常能保护下列的信息:训练数据输入、预测标签输出、模型信息(包括模型参数、结构和损失函数) 和身份识别信息(如记录的数据来源站点、出处或拥有者)。
有隐私保护决策树、模糊处理(如差分隐私加噪)、密码学方法(如安全多方计算)及面向隐私保护的梯度下降方法。
(二)联邦学习与DML的关系
联邦学习是DML的一种特殊类型,它可以进一步解决传统DML系统面临的问题,如数据孤岛问题。
四、横向联邦学习
(一)横向联邦学习的定义、架构
- 客户 - 服务器架构:又称主 - 从架构、轮辐式架构。在这种系统中,具有同样数据结构的K个参与方(也叫作客户或用户)在服务器(也叫作参数服务器或者聚合服务器)的帮助下,协作地训练一个机器学习模型。
- 训练过程:
上述步骤将会持续迭代进行,直到损失函数收敛或者达到允许的迭代 次数的上限或允许的训练时间。 - 联邦平均算法( Federated Averaging ,FedAvg)
- 梯度平均:共享梯度信息。
参与方将梯度信息发送给服务器,服务器将收到的梯度信息进行聚合(例如,计算加权平均),再将聚合的梯度信息发送给参与方。 - 模型平均:共享模型的参数。
服务器对收到的模型参数进行聚合(例如,计算加权平均),再将聚合的模型参数发送给参与方。
在某些条件下,例如模型参数在参与方每次更新之后进行聚合,此时模型平均等价于梯度平均。
- 全局模型评估
参与方和协作方能够协作地获得全局模型性能。在横向联邦学习的模型训练过程中和模型训练结束之后,我们能够根据以下步骤得到全局模型性能:
- 对等网络架构:无中央服务器,训练方需提前确定模型参数收发顺序(循环或随机传输)并共享梯度参数。
由于对等网络架构中不存在中央服务器,训练方们必须提前商定发送和接收模型参数信息的顺序。有循环传输和随机传输两种方式。
- 优点是去除中央服务器,缺点是训练耗时增加。
- 全局模型评估时可选取某一个参与方来充当一个临时的协调方。
联邦学习既能帮助多个参与方搭建共享的高性能模型又符合用户隐私和数据保密性的要求。
(二)联邦平均算法介绍
定义:并行重启的随机梯度下降算法或local SGD。
联邦优化:联邦学习中的优化问题被称为联邦优化。特性:
①数据集非独立同分布:不能对分布式数据集进行IID假设
②数据量不平衡:不同参与方通常拥有不同规模的训练数据集
③参与方多且分散:会出现参与方的数量和分散程度远远超过数据中心的情况
④通信连接不稳定:客户和服务器间的通信依赖于现有的网络连接
训练中通信代价占主导地位,常通过增加并行度和参与方计算量减少通信轮次。
- 相对于整个数据集的规模来说,任何单一的在某一台设备上的数据集都是相对较小的
- 计算代价相比通信代价是微乎其微的。
- 使用额外的计算,以减少训练模型所需的通信轮次(communication rounds)。
安全的联邦平均算法:运用隐私保护技术保护联邦平均中的用户隐私和数据安全。
联邦平均算法的改进:
- 提升通信效率:①压缩的模型参数更新②结构化的模型参数更新
- 参与方选择
总结
联邦学习既能助力多方搭建共享高性能模型,又符合隐私和数据保密性要求,有望打破数据孤岛,推动人工智能协作建模发展。
参考内容
- 杨强. (2020).联邦学习. [电子工业出版社]
- [1602.05629] Communication-Efficient Learning of Deep Networks from Decentralized Data (arxiv.org)
- 【联邦学习】联邦学习前沿的研究与应用——杨强
https://www.bilibili.com/video/BV1S54y197m8?vd_source=2a35f62f3f46dce72e67aa70ba908dcd - 什么是联邦学习(Federated Learning)?【知多少】
https://www.bilibili.com/video/BV1ub4y1Z7aM?vd_source=2a35f62f3f46dce72e67aa70ba908dcd - 【6.人工智能时代数据隐私保护与安全共享;王志波 浙江大学 教授】https://www.bilibili.com/video/BV1ow411f7Qs?vd_source=2a35f62f3f46dce72e67aa70ba908dcd
- 【前置知识】FedAvg:联邦学习创世纪算法
https://www.bilibili.com/video/BV1Ke4y1r7ph?vd_source=2a35f62f3f46dce72e67aa70ba908dcd