联邦学习基础知识总结

Federated Learning

Introduction

  • Difference

Standard machine learning approaches require centralizing the training data on one machine or in a datacenter.

And Google has built one of the most secure and robust cloud infrastructures for processing this data to make our services better. Now for models trained from user interaction with mobile devices, we’re introducing an additional approach: Federated Learning.

  • Defintion

Collaborative Machine Learning without Centralized Training Data.

Building better products with on-device data and privacy by default.

Centralized model with decentralized data.

它的工作方式如下:您的设备下载当前模型,通过从手机上的数据中学习来进行改进,然后将更改汇总为一个小的重点更新。仅使用加密通信将模型的此次更新发送到云,在此立即将其与其他用户更新平均,以改善共享模型。所有训练数据都保留在您的设备上,并且没有单独的更新存储在云中。

Secure aggregation enables the server to combine the encrypted results, and only decrypt the aggregate. 安全聚合使服务器可以合并加密结果,并且仅解密聚合。

Paper

Federated Machine Learning: Concept and Applications arXiv:1902.04885v1

  • Definition of Federated Learning
  • Privacy of Federated Learning

Secure Multi-party Computation(SMC)

Differential Privacy

Homomorphic Encryption

  • A Categorization of Federate Learning

Horizontal Federated Learning, or sample-based federated learning.

横向联邦学习在两个数据集的用户特征重叠较多,而用户重叠较少的情况下,我们把数据集按照横向(即用户维度)切分,并取出双方用户特征相同而用户不完全相同的那部分数据进行训练

Vertical Federated Learning, Sample-Aligned Federated Learning

纵向联邦学习在两个数据集的用户重叠较多用户特征重叠较少的情况下,我们把数据集按照纵向(即特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练。这种方法叫做纵向联邦学习。

Federate Transfer Learning(FTL)

联邦迁移学习在两个数据集的用户与用户特征重叠都较少的情况下,我们不对数据进行切分,而利用迁移学习来克服数据或标签不足的情况。这种方法叫做联邦迁移学习。

  • Architecture for a federated learning system

Horizontal Federated Learning

step1:参与方各自从服务器A下载最新模型;

step2:每个参与方利用本地数据训练模型,加密梯度上传给服务器A,服务器A聚合各用户的梯度更新模型参数;

step3:服务器A返回更新后的模型给各参与方;

step4:各参与方更新各自模型。

Vertical Federated Learning

纵向联邦学习的本质是交叉用户在不同业态下的特征联合,比如商超A和银行B,在传统的机器学习建模过程中,需要将两部分数据集中到一个数据中心,然后再将每个用户的特征join成一条数据用来训练模型,所以就需要双方有用户交集(基于join结果建模),并有一方存在label。

Part1 Encrypted entity alignment

Part2 Encrypted model training:

Step 1: collaborator C creates encryption pairs, send public key to A and B; • Step 2: A and B encrypt and exchange the intermediate results for gradient and loss calculations;

Step 3: A and B computes encrypted gradients and adds additional mask, respectively,and B also computes encrypted loss; A and B send encrypted values to C;

Step 4: C decrypts and send the decrypted gradients and loss back to A and B; A and B unmask the gradients, update the model parameters accordingly.

•步骤1:合作者C创建加密对,将公钥发送给A和B;

•步骤2:A和B加密并交换中间结果以进行梯度和损耗计算;

•步骤3:A和B分别计算加密的梯度并添加其他掩码,B也计算加密的损耗; A和B向C发送加密的值;

•步骤4:C解密并将解密的梯度和损失发送回A和B; A和B取消掩盖渐变,相应地更新模型参数。

  • Related works

联邦学习与差分隐私理论的区别

联邦学习与分布式机器学习的区别

联邦学习与联邦数据库的关系

联邦学习与区块链的关系

联邦学习与多方安全计算的关系

  • Future
  1. 安全性

联邦学习中,以下部分可能遭受到攻击:
客户端、服务端

攻击手段:模型更新攻击、数据攻击、逃逸攻击

  1. 激励机制

  2. 有效性和效率

非独立同分布的数据

有限资源下的参数调节

有限的通信宽带及设备的不可靠性

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页