联邦持续学习的目的
联邦持续学习意在将联邦学习和持续学习相结合,以解决 “每个客户端从私有本地数据流中学习一系列任务,不同客户端之间也可以互相借鉴彼此已有的知识以增强自身的学习效果” 的场景,目前这方面的研究还很少。
联邦持续学习的挑战
和持续学习类似的,联邦持续学习也面临“灾难性遗忘”;此外,由于不同客户端训练的任务可能存在很大的差别,联邦持续学习训练过程中每个客户端还面临“来自其他客户端的干扰”;再者,由于每个客户端都希望能从其他客户端的相似任务中获得共识知识,“通信代价”也成为了一个不可忽视的问题。
FedWeIT
ICLR 2021有一篇文章——《Federated Continual Learning with Weighted Inter-client Transfer》提出了一种联邦持续学习的方法:Federated Weighted Inter-client Transfer(FedWeIT)。该算法的目的是最小化不同性质的任务之间的互相干扰,最大化相似任务之间共识知识的传递。
具体来讲,将每个客户端的网络参数分解为 global federated parameters 和 sparse task-specific parameters,以减少不同任务之间的干扰。而且,每个客户端可以选择性地使用其他客户端的 task-specific parameters,具体是通过服务端获得其他客户端的 task-specific parameters,再对这些参数进行加权聚合得到 selective knowledge,从而最大化相似任务之间共识知识的传递。
FedWeIT的思想其实跟 ADP 这种持续学习方法很像,ADP 这一方法具体可以看我之前的这篇文章:《持续学习——Continual Learning With Additive Parameter Decomposition》。看懂了 Additive Parameter Decomposition (ADP) 这一方法就能很容易地理解 FedWeIT 了。
根据上述概念,下面从公式的角度理解 FedWeIT
具体任务的模型定义
- 全局参数 ( θ G θ_G θG) 用于捕获所有客户的全局共识知识
- local base parameters (B) 用于捕获每个客户自身所有任务的共识知识(这个参数相当于 ADP 中的 task-shared parameter)
- task-adaptive parameters (A) 用于捕获每个客户的特定任务的知识。
客户端 c c c_c cc 训练任务 t 时的模型参数 θ c ( t ) θ_c^{(t)} θc(t) 定义如下,其中 m c ( t ) m_c^{(t)} mc(t</