Federated Meta-Learning with Fast Convergence and Efficient Communication论文阅读笔记

摘要

在移动设备上分布式训练机器学习模型所面对的统计和系统上的挑战是联邦学习现实应用中的瓶颈。本文通过实验说明meta-learning是解决这些问题的自然选择,并且提出了一个联邦元学习的框架FedMeta。和联邦学习相比,联邦元学习只共享meta-learner,而不是一整个模型。作者在LEAF数据集和一个真实的生产数据集上进行了实验。实验结果表明FedMeta更快收敛、需要的通信开销更少,并且相比于FedAvg能取得更高的准确率。同时,FedMeta只共享meta-learner,从而保护了隐私。

介绍

数据的物理分散、隐私的敏感性以及移动设备算力的提升促进了联邦学习的研究。然而联邦学习面临着统计和系统上的挑战。在统计上,分散的数据是非独立同分布、高度个性化并且异构的,这会降低模型的准确率。在系统上,设备的数量设备的数量通常比传统的分布式设置大几个数量级。并且,每台设备可能在内存、算力、通信能力上都有很强的限制。为了解决这两个问题,Google提出了Federated Averaging(FedAvg)算法。

基于初始化的meta-learning算法,如MAML,对于新的task具有良好的适应性和泛化性,因此十分适用于非独立同分布并且高度个性化的分散训练数据。

FedMeta将MAML应用于联邦学习。在元学习中,通过meta-training的阶段进行task-level的训练,利用大量的task训练出一个meta-learner。对于每个task,都会训练一个task-specific的模型,每个task的训练数据被分为support set和query set,测试的结果(在query set上的loss)被用于更新meta-learner。meta-learner在meta-training的每个episode,随机选择一批client接收meta-learner来进行模型训练。在client本地的测试集上测试以后就将测试结果上传到server端更新meta-learner。

Federated Meta-Learning with Fast Convergence and Efficient Communication论文阅读笔记_第1张图片

联邦学习和联邦元学习的比较。联邦元学习传输的是meta-learner,联邦学习传输的是一整个模型。联邦元学习可以应用得更加灵活。在元联邦学习框架中,我们可以使用MAML对所有n个类别进行k阶分类器初始化的元训练。

贡献。本文的贡献分为3方面。首先,本文提出meta-learning在联邦条件下使用是一种自然的选择,并且提出了一个新的元联邦学习的框架。框架中实现了基于梯度的元学习方法:MAML和Meta-SGD。第二,作者在LEAF数据集上进行了实验,并与FedAvg比较了准确度、计算开销和通信开销。结果显示FedMeta在达到更高的准确率的同时使用的计算和通信开销都更小。第三,作者将FedMeta运用到工业的推荐任务中,并且每个client都有很高的个性化分数,实验显示FedMeta可以获得更好的分数,相比于联邦方法和独立推荐方法。

Federated Meta-Learning

这一节首先介绍了Meta-Learning方法中的MAML算法和Meta-SGD算法。接着介绍了如何将Meta-Learning和联邦学习结合起来。

The Meta-Learning Approach

The Federated Meta-Learning Framework

MAML的训练过程包括两个层面的优化:内循环是使用维护的初始化来训练task-specific的模型;外循环使用所有task的loss来更新模型的初始化参数。

在联邦设置下,每个client在server下载模型的初始化参数,使用support set训练模型,然后将query set得到的测试loss发送给server。server端保存模型的初始化,并且收集每个mini batch的clients发送回来的test loss。server和client之间传送的消息只有模型初始化参数和test loss。

Federated Meta-Learning with Fast Convergence and Efficient Communication论文阅读笔记_第2张图片

实验部分

作者的实验分为两大部分。第一,作者对LEAF数据集进行了实验。第二,作者在实际的推荐任务中进行了实验,发现FedMeta可以在小模型上保持高可用。

评估方法

在所有的实验中,作者随机选择80%的clients作为训练clients,10%的clients作为验证clients,10%的clients作为测试clients。每个client的本地数据被分为support set和query set。作者用p表示support set占所有local data的比例,之后用“p support”来表示这一设定。

实验的baseline选择了FedAvg和FedAvg(Meta)。FedAvg是一种基于对本地随机梯度下降(SGD)更新进行平均的启发式优化方法。为了公平,作者实现了元学习版本的FegAvg——FegAvg(Meta)。在测试之前,FedAvg(Meta)使用测试的clients的support set对模型进行fine-tune,这体现了元学习的精髓“learning to fine-tune”。在训练时,FedAvg和FedAvg(Meta)都使用client上全部的数据进行训练。

LEAF数据集上的实验

Real Industrial Recommendation Task

实验的目标是根据用户过去的记录,为每个用户推荐top-k的移动服务。

 

总结

这篇笔记大部分是对论文的部分内容进行了翻译(想要写好一篇博客太难了)。读这篇论文的时候如果已经了解meta-learning和MAML的具体流程就能很好理解FedMeta。FedMeta相当于在MAML的框架中增加了通信操作,MAML中的一个task在FedMeta中就是一个client。在读论文的时候我唯一觉得困惑的就是FedAvg(Meta),虽然名字中有一个Meta,但是根据文中的介绍,似乎就是在FedAvg之后多加了一个fine-tune的操作,不知道是不是我理解错了。。

 

 

 

 

 

 

 

你可能感兴趣的:(元学习,联邦学习,深度学习)