0%

Federated Machine Learning: Concept and Application

学习杨强老师的综述论文 https://arxiv.org/abs/1902.04885

INTRODUCTION

许多领域的数据受限/质量较低

了解欧盟的GDPR

用户理应对数据和训练出的模型知情

呼吁将AI的工作重心从提高效率转向与隐私和法规的数据融合方法

AN OVERVIEW OF FEDERATED LEARNING

优化的方向

  • 非平衡数据集
  • 通信开销
  • 设备的可靠性

Definition of Federated Learning

定义$n$个数据拥有者$\{\mathcal{F}_1,\mathcal{F}_2,\cdots ,\mathcal{F}_n\}$,这些用户想要通过将各自的数据$\{\mathcal{D}_1,\mathcal{D}_2,\cdots ,\mathcal{D}_n\}$合并起来训练一个模型$\mathcal{M_{sum}}$,传统的方法是采用$\mathcal{D=D_1 \cup D_2 \cdots D_n}$进行训练;联邦学习要求各参与者协作共同训练

$\mathcal{M_{fed}}$,但是参与者$\mathcal{F_1}$不会将自己的数据$\mathcal{D_1}$暴露给其他参与者。

分别将训练的准确度记为$\mathcal{V_sum,V_fed}$,设$\delta$为非负实数,如果满足

则称该联邦学习算法满足$\delta$精度损失

Privacy of Federated Learning

MPC

  • 安全多方计算模型天然还有多个参与方,在良定义的模拟框架中提供安全证明,保证了完全的零知识

  • 通常包括复杂的计算,效率不够高

  • 在部分场景中,泄露部分知识是可以接受的,可能可以构造安全要求稍低的协议来提供更好的效率

  • 给出了若干的具体论文与实现

Differential Privacy

  • 与k匿名类似,通过向数据中添加噪声,使得第三方无法区分来进行隐私保护

  • 依然需要将数据发送到其他参与者

  • 存在隐私和准确性之间的trade-off
  • Robin C. Geyer, Tassilo Klein, and Moin Nabi. 2017. Differentially Private Federated Learning: A Client Level Perspective.CoRR abs/1712.07557 (2017). arXiv:1712.07557 http://arxiv.org/abs/1712.07557

Homomorphic Encryption

  • 与差分隐私不同的地方在于,数据和模型本身是不会发送的
  • 原始数据泄露的可能性很小

Indirect information leakage

早期的联邦学习算法泄露了中间参数,如随机参数下降的参数更新,可能泄露重要的信息

可能存在恶意的参与者上传有后门的数据(数据中毒)

利用区块链来进行联邦学习

A categorization of Federated Learning

设矩阵中的每一行为一个样本,每一列为一个特征(某些数据集还可能有标签,视为一种特殊的特征)

利用样本的ID空间$I$,特征空间$X$,标签的空间$Y$可以表示一个数据集$(I,X,Y)$

Horizontal Federated learning

横向联邦学习,或者基于样本的联邦学习

$X_i=X_j,Y_i=Y_j,I_i\neq I_j,\forall D_i,D_j,i\neq j$

本质:表现在于两个数据集特征空间相同但是样本空间不同,即相当于用户数目不同

安全定义:一般假设参与者诚实,服务器honest-but-curious;也存在恶意的参与者对数据投毒

应用:不同公司的用户群体不同(交集很小),但是公司的业务类似(特征空间相同)

其他研究:

  • CCS17应用了安全聚合方案来保护本地更新的隐私

  • TIFS18使用了同态加密进行模型参数的安全聚合

  • NIPS17 多任务联邦学习系统允许多个站点在分享只是保护安全的前提下执行不同的训练任务,能够解决通信开销、straggler和容错率

image-20221105161403972

Vertical Federated Learning

本质:两个数据集的样本id相同但是特征空间不同,即相当于同一批用户(交集大),不同的业务

$X_i\neq X_j,Y_i\neq Y_j,I_i=I_j,\forall D_i,D_j,i\neq j$

相当于一个聚合不同特征的过程,以隐私保护的方式计算训练损失和梯度,达到联合不同参与方的数据共同构建模型的目的。在这样一种联邦机制下,每个参与方的身份和状态是相同的,并且联邦系统帮助每一个参与方建立一个“共同富裕”的策略。

安全定义:假定参与者honest-but-curious,两个参与者的情况下参与者之间不会串通,最多一个可能被敌手控制,攻击者此时只能学习到已经被控制的参与者的数据;优势引入了半诚实的第三方semi-honest third party

image-20221105163229227

Federated Transfer Learning

本质:两个数据集的样本空间与特征空间均不相同,使用有限的共同样本来学习两个特征空间的表示,并使用该结果来使用单方面的特征进行预测

$X_i\neq X_j,Y_i\neq Y_j,I_i\neq I_j,\forall D_i,D_j,i\neq j$

image-20221105164703371

安全定义:与纵向联邦学习类似

Architecture for a federated learning system

Horizontal Federated Learning

$k$个参与者的数据结构相同,在服务器的帮助下,共同学习机器学习模型

常用的假设是,参与方honest,而服务器honest-but-curious。

image-20221105164232236

  • Step 1:参与方本地计算训练梯度,使用加密、差分隐私或秘密分享技术来掩盖梯度,并发送掩盖后的梯度结果给服务器。

  • Step 2:服务器执行安全聚合,而不学习有关任何参与者的信息。

  • Step 3:服务器将聚合结果发送给各个参与方。

  • Step 4:参与方使用解密后的梯度更新他们各自的模型。

循环上述步骤,直到损失函数收敛,训练过程完成,所有参与者共享最终的模型参数。

安全性:使用CCS17安全聚合方案或者同态加密的方案已被证明在服务器半诚实的模型下安全;当服务器为恶意时可能被攻击

Vertical Federated Learning

考虑当服务器为honest,参与方A、B均为honest-but-curious

image-20221105173139227

参考:https://www.zhihu.com/search?type=content&q=Federated%20Machine%20Learning%3A%20Concept%20and%20Application