【论文阅读】Communication-Efficient Learning of Deep Networks from Decentralized Data

联邦学习开山之作,感觉之前读得还是不够细致,这次的目标是找如何做效率的实验(实验部分),顺便去仔细研读一下联邦学习的定义及性质(摘要及引入部分)

摘要

现代移动设备为用户体验的提升提供了大量数据,比如语言模型和图像模型。然而这些丰富数据的隐私、量大等特性阻碍了数据向数据中心的上传并训练。因此作者提倡一种数据可以分散分布且在本地进行模型更新的替代方法,联邦学习。作者为深度网络的联邦学习提出了基于迭代模型平均的使用方法,并进行了实证研究。这些实验表明,提出的方法对于不平衡和非独立同分布的数据是鲁棒的,同时它们还能够有效减少通信成本,这个联邦学习中最主要的限制。

主要贡献是定义了联邦学习这种学习范式,并为这种范式提出了迭代模型平均的方法。

引入

感觉这篇文章根本没有开始读到时感觉的那么容易,很多地方读了好久也没懂啊…

数据越来越多,在这些丰富的数据上训练的模型有很强的能量,但对于数据的利用也存在风险,因此提出Federated Learning这个术语,代表的是所有参数设备(指clients)的松散联盟,这种方式的最大好处就是模型和数据是可以解耦的。这篇文章的主要贡献就是,提出了一种联邦学习的任务设定,同时提出了一种设定下的方法,这种方法能够从数量级上减少通讯轮数。

使用联邦学习的理想问题需要有以下三个条件:1)分散地训练比集中上传于数据中心的训练有更明显的优势(问题出发) 2)数据是隐私敏感的而且数量巨大(数据出发)3)监督问题中,数据的标签是很容易获得的;这篇文章是作者选择了图像分类和语言模型做实验

隐私性,就是说传递的信息应该是提升特定模型需要的最小更新就够了(这保证了隐私的最大化)

联邦优化与并行式计算不同的地方在于四方面:非独立同分布、不平衡性、大规模分布地、有限的通信。这篇文章将重点研究非独立同分布、不平衡这两个属性,以及关键的性质:通信限制;同样还会解决客户端可用性、不平衡性和非独立同分布的数据这三个问题。具体来说,提出了一个同步更新的框架:固定 K K K个clients的集合,每个都享有一个本地数据集,每一轮开始时,选在 C C C比例的clients,server将当前的模型参数传递给每个client,每个被选择的客户端都会开始更新模型,并将更新返回给server,server最后将这些更新应用在全局模型上(这里没有明确提出聚合的概念)(下面附上英文本问题设置,今后写文章的时候方便查找)
There is a fixed set of K K K clients, each with a fixed local dataset. At the beginning of each round, a random fraction C C C of clients is selected, and the server sends the current global algorithm state to each of these clients (e.g., the current model parameters). We only select a fraction of clients for efficiency, as our experiments show diminishing returns for adding more clients beyond a certain point. Each selected client then performs local computation based on the global state and its local dataset, and sends an update to the server. The server then applies these updates to its global state, and the process repeats.

你可能感兴趣的:(联邦学习,人工智能,机器学习)