联邦学习中的个性化技术(Personalization)

原文:[联邦学习]——Personalization技术

联邦学习中,由于数据的统计异构问题,用户间的隐私数据具有分散、Non-IID(非独立同分布)特性,每个用户本地的数据分布会随着用户所在地以及用户偏好而变动。反映在模型性能上的情况就是:Local models 的性能远高于 Global model 的精度。

 原因很简单,模型的暴力聚合(FedAvg)并不是线性的求和,每个用户自身的模型参数仅适合本身的数据,而不同用户数据间的数据分布以及质量差距较大。

Personalization 技术的提出:由于用户数据的高度 Non-IID 以及用户对模型性能要求的不一致,单个的 Global model 很难满足所有参与者的需求,因此需要采用一种个性化的方法使得 Global model 针对每个用户进行优化。

挑战

  1. 不同设备的存储、计算、通信性能的差异(系统异构)
  2. 数据分布的不一致性(统计异构)
  3. 对不同环境、不同人物所需的模型不一致(模型异构)

目前的研究技术方法

多任务学习 ( Multi-task Learning )

        在多任务学习中,模型通过利用任务之间的共性和差异来共同学习。通过共享相关联任务(related task / auxiliary task)的表示,能够提升原始任务(original task)的泛化性能。我们可以将多任务学习看成对人类学习过程的模仿,为了学习新任务,我们经常运用通过学习相关任务获得的知识。例如,第一个婴儿学会识别脸部,然后可以将这些知识应用于识别其他物体。

 模型需要面对 T 个任务,每个任务 t 对应一个模型 m_{t} 的参数表示为:

因此矩阵为  ,通过 L1 正则的方式来约束模型的参数量,删去了不太重要的模型参数。但是任务之间并非紧密相关,与无关任务共享信息实际上可能会损害性能(negative transfer), 因此加入了惩罚项:  ,通过调节惩罚项 Ω 中 \lambda 的值来对模型进行控制。

可以发现,多任务学习的核心是对模型的共享(share)个性化(Personalization), 通过判别任务之间的相关性决定哪些 layer 应该共享,从而对模型的泛化能力进行改善。

但是在现实世界中可能事先不知道任务之间的关系,因此通过Multi-task Learning 的方法可以直接捕获Non-IID数据和模型之间的关系,这使其特别适合于解决联邦学习的统计异构(Statistical challenge)。

 《Federated Multi-task Learning》在联邦学习环境中构建了一种 Personalized 模型,研究用于多任务学习的 MOCHA 算法来解决分布式系统中 Communication cost, straggler 和 fault tolerance 问题。

传统的多任务学习的损失函数:

其中:

  • \Omega 和 W 很难同时凸,而且公式的求解困难。
  • 固定 \Omega , W 的更新仅与数据 X 相关,而数据 X 分布在不同节点中,造成了困难。
  • 固定 W , \Omega 的更新仅依靠 W ,与数据 X 无关。

元学习 ( Meta-Learning )

元学习是一种 Learn to learn 的学习方式,通过训练使得模型结果对各类 Task 具有普适性。

目的是得到一个能对全局任务最优的 F 能够使得 

Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks》 提出 MAML(Model-Agnostic Meta-Learning) 算法,目的是找到一组最适的初始化参数 \phi ,使得在对新task时能够通过一轮梯度下降 fine-tune 得到较优的初始化模型参数 \hat{\theta } 。

在 MAML 中,用来训练全局初始化模型 \phi 的数据是很多组任务(training task),每个任务中也有训练数据(Support set)和测试数据(Query set)。

 在每一次训练中,全局模型 \phi 根据 Support set 的数据进行梯度下降得到 \hat{\theta }^{i} ,将所有 training task 任务中计算的 loss 求和得到总 loss:

 

概括:MAML 将原本的随机初始化策略作为学习优化目标,通过取样一系列 task,根据 \phi 得到适合本 task 的任务,再计算 loss 反向传播优化。

通过 meta-learning 的方式能够学到对任务不敏感、泛化能力强的策略,适合在 Personalization 方面做应用。

Improving Federated Learning Personalization via Model Agnostic Meta Learning》、《Personalized Federated Learning: A Meta-Learning Approach 》、《Adaptive Gradient-Based Meta-Learning Methods》等文章在联邦学习不同方面给出了 Meta-learning 的尝试。

全局模型 + Personalization 层

这篇 ICML 2021 的 《Exploiting Shared Representations for Personalized Federated Learning》 算是比较典型的 Global model + personalized layer 的文章了,具体解读参考这篇链接

传统 Centrailized learning 通过 Representative learning 训练能取得很好的效果。既然如此,能否对 Federated learning 中 Non-IID 的数据找到一个 Shared representatiion?

 一种共享 global representation,个性化 client-heads 的模型更新方案

共享表示  ,将高维数据表示 map 到低维空间中;

个性化 head:  ,将低维表示输出为结果;

训练过程中,每个用户共同训练该 global representation learning structure, 再用各自的数据训练自己的 client-special heads.

论文表示:由于  ,使得本地 client-special heads 需要训练的参数量很少,易于计算和拟合本地数据。

目标函数修改为:

 算法具体流程:

算法主要有两处更新:

第一处是 client-special heads 的更新(算法流程里公式好像写错了)

 

 第二处就是 shared representation 的更新

 

 其中  表示 learning rate 为 \alpha , 经过 SGD 等方式对 f 的梯度计算更新 h.

基于 HyperNetwork 的个性化

本文设计了一种 centralized personalized federated hypernetwork (pFedHN) 的结构,通过 pFedHN 可以为每个用户生成 unique and diverse local model,而且因为 pFedHN 不需要传输 hypernetwork 的参数,所以 Communication cost 不需要考虑 model size 的影响。

 : \varphi 指 HN 的模型参数;

 : \theta 指 local model 的参数;

用户根据自身数据特征通过 embedding 层生成 v_{i} 作为超参数网络 h 的输入;

 得到每个用户的本地模型权重;

所有模型构成一个集合  , 用户共享参数 \varphi 并维持自身个性化的程度;

优化目标: .

反向传播为:  , 因此通信过程中只需传输本地梯度 

更新 \varphi 的方式通过 ,

每个用户计算本地 loss: ,

本地 Personal Classifier \mathcal{W}_i 的训练: .

HyperNetwork(pFedHN) & Local model 的结构是人为提前定义好的;

pFedHN 直接将每个用户 Node 的 id 作为 Embedding 的输入;

pFedHN 通过 Embedding 指导 Local model 的初始化;

Local model 根据初始化的模型训练 E epochs 得到模型 \tilde{\theta } 并计算  用于 pFedHN 的更新(相较于共享 pFedHN的梯度,传输 local model 模型大小的梯度更 Communication-Efficient );

在链式求导步骤中使用  , 将全局部分求导  和局部模型求导  分离,从而减少通信量 (从全局模型 \varphi 规模的通信变为局部模型 \theta 规模的通信)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值