联邦学习开坑!
Posted R.M.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了联邦学习开坑!相关的知识,希望对你有一定的参考价值。
入门联邦学习(FL),在导师的建议下,我决定从客户端数据异构这一方向出发开展学习。这里就先开个坑,开始记录自己的学习心得,欢迎各位批评指正,共同学习。
为什么需要联邦学习
许多数据集本质上是分散的,分布在不同用户拥有的多个设备上。传统的机器学习将这些用户的数据样本聚集到一个中央存储器中,并在其上训练机器学习模型。将数据从本地设备移动到中央存储器带来了两个关键挑战。
首先,它损害了数据的隐私和安全。《General Data Protection Regulation》(GDPR)和 Health Insurance Portability and Accountability Act (HIPAA)等政策规定了相关条款,使得实现这类数据迁移并非易事。
其次,它增加了通信开销,大量数据的迁移可能带来非常昂贵的通信开销。
联邦学习是什么
联邦学习(FL)是一个框架,它允许多个用户(即客户端)协作训练一个共享全局模型,并且不需要从他们的本地设备移动数据。中央服务器协调由多个轮次组成的FL过程。在每一轮开始时,服务器将当前的全局模型发送给参与的客户端。每个客户都用本地数据对该模型进行训练,并且只将模型得参数更新发送回服务器。服务器从所有客户端收集这些更新,并对全局模型进行一次更新,从而完成一轮更新。
通过消除在单个设备上聚合所有数据的需要,联邦学习克服了上述隐私和通信方面的挑战,并允许机器学习模型在去中心化数据上进行训练。
联邦学习中的异构性问题
在现有的 FL 系统中,参与每一轮更新的客户端数量通常是固定的。最初的 FL 系统假设全部客户端都完全参与,即所有客户端都参与了每一轮的训练。而在实际应用中,受限于客户端状态、网络条件等,FL 的实施方案在每轮训练中只是随机选择一小部分客户端参与(如FedAVG)。但是,由于在 FL 环境中存在大量的异构客户端(Heterogeneous client),这种随机选择客户端的方式会加剧数据异质性带来的不利影响 。
FL 中的异构性主要包括:
(1)各个客户端设备在存储、计算和通信能力方面存在异构性;
(2) 各个客户端设备中本地数据的非独立同分布(Non-Idependently and Identically Distributed,Non-IID)所导致的数据异构性问题;
(3)各个客户端设备根据其应用场景所需要的模型异构性问题。
设备异构性
针对设备异构性的问题,一般可以通过设计新的分布式架构(如《Client-Edge-Cloud Hierarchical Federated Learning》)或新的联邦学习算法( 如《Asynchronous Federated Optimization》)来解决。这种异构性问题我想暂时放着,先搞搞Non-IID和模型异构性问题
数据异构性
首先FL中的Non-IID是指“参与训练的客户端的数据独立分布但不服从同一采样方法”,具体分为几种情况。
以下是《Advances and Open Problems in Federated Learning》对Non-IID的分类
Feature distribution skew (covariate shift): 同一类别,有不同的表现形式,如同样的数字,不同人的写法不一样。
Label distribution skew (prior probability shift): 同样的标签,有不同的表现形式,当客户被绑定到特定的地理区域时,标签的分布因客户而异,如标签同样是动物,但袋鼠大多只在澳大利亚或动物园。
Same label, different features (concept shift): 对于不同的客户,相同的标签 y 可以有不同的特征 ,如不同地区的建筑物存在很大差别。
Same features, different label (concept shift): 由于个人喜好,训练数据中相同的特征向量可以有不同的标签。例如,反映情绪或next word predictors的标签具有个人和区域差异。
Quantity skew or unbalancedness: 不同的客户的数据量不同。
不管是哪种情况的Non-IID,每个设备中的数据分布不能代表全局数据分布,即每个设备中的数据类别都是不完备的。此外,每个类别的样本数量也会影响Non-IID程度,但数量上的不同一般描述为unbalanced。
模型异构性
联邦学习最初的标准是所有客户端共享一个全局模型,但对于许多应用程序来说,数据在客户端之间的分布是Non-IID的。这种数据上的异质性使得很难训练出一个适合所有客户的全局模型。
客户端所带有数据异构性问题往往会影响全局模型的训练效率和预测精度。客户参与联邦学习主要是希望获得更好的模型,没有足够的私有数据来开发精确的本地模型的客户将从协作学习中获得性能更佳的模型。然而,对于那些拥有足够私有数据来训练精确的本地模型的客户来说,在许多任务中全局共享模型不如他们自己训练的局部模型准确,这种情况下要他们参与训练全局模型他们自然就不干了。
《Survey of Personalization Techniques for Federated Learning》调查了关于在联邦学习中为客户构建个性化模型的最新研究,这些模型预期比全局共享模型或局部个体模型工作得更好。
《Personalized federated learning for intelligent iot applications》这篇文章总结了目前已有的几种实现全局模型个性化的方法,专栏里有这篇文章的学习记录,有兴趣的旁友可以康康这里!
如何缓解异构性给FL带来的影响
这便是我接下来一段时间所要学习和研究的具体方向,后面我将从数据异构性和模型异构性入手,欢迎类似方向的旁友多多交流!
引用
[1] McMahan B, Moore E, Ramage D, et al. Communication-efficient learning of deep networks from decentralized data[C]//Artificial Intelligence and Statistics. PMLR, 2017: 1273-1282.
[2] Zhao Y, Li M, Lai L, et al. Federated learning with non-iid data[J]. arXiv preprint arXiv:1806.00582, 2018.
[3] Kairouz P, McMahan H B, Avent B, et al. Advances and open problems in federated learning[J]. arXiv preprint arXiv:1912.04977, 2019.
[4] Yang, Q. , et al. “Federated Machine Learning: Concept and Applications.” ACM Transactions on Intelligent Systems and Technology 10.2(2019):1-19.
[5] Kulkarni V , Kulkarni M , Pant A . Survey of Personalization Techniques for Federated Learning[J]. 2020.
以上是关于联邦学习开坑!的主要内容,如果未能解决你的问题,请参考以下文章