问题

各位大佬觉得联邦学习可以研究的问题有些什么 小白了解一下这个水深不深?

回答
各位朋友,你们好!今天想和大家聊聊“联邦学习”这个话题。我最近接触到这个概念,感觉挺有意思的,想和大家一起探讨探讨,也顺便给自己科普一下。

联邦学习是个啥?

简单来说,联邦学习就是一种分布式机器学习技术。它解决的核心问题是:如何在不泄露原始数据的前提下,让多个参与方(比如不同的医院、银行、手机厂商等)一起训练一个模型。

想象一下,你想训练一个AI模型来识别癌症,但每个医院的病人数据都非常敏感,不能直接拿出来共享。联邦学习就能帮上忙。它允许模型在每个医院的本地数据上进行训练,只把训练过程中产生的模型“更新”或者“梯度”发到中央服务器,中央服务器再把这些更新汇总起来,形成一个更强的全局模型。这个过程就像是大家一起在自己家里学习,然后把学习心得(模型更新)告诉一个总协调人,协调人再把这些心得融合成一个更厉害的学习方案,再发给大家继续学习。

这个水深不深?

这绝对是水很深的一个领域,而且还在快速发展中。它不像一些纯理论的数学问题,或者已经非常成熟的技术,联邦学习触及了机器学习、分布式系统、隐私保护、密码学等多个前沿领域,所以研究空间非常大。

我们能研究什么?

对于想要入门的朋友,可以从以下几个方面来了解和研究联邦学习:

1. 基础的联邦学习框架和算法:

联邦平均 (Federated Averaging, FedAvg): 这是目前最经典、最基础的联邦学习算法。理解它是理解整个联邦学习体系的基石。我们可以研究FedAvg的收敛性、效率、在不同场景下的表现。
其他联邦学习算法: 除了FedAvg,还有很多改进的算法,比如FedProx(解决异构性)、FedNova(解决通信效率)、AggrFed(更高效的聚合)等等。了解这些算法的原理、优缺点,以及它们是如何解决FedAvg的局限性的,是一个很好的切入点。
联邦学习的实现框架: 比如Flower、PySyft、TenSEAL等。自己动手去搭建和运行一个简单的联邦学习任务,能让你更直观地理解整个流程。

2. 联邦学习中的挑战与解决方案:

这是联邦学习研究的重点和难点所在。

数据异构性 (Data Heterogeneity):
客户端数据分布不一致 (NonIID): 这是最常见也是最棘手的问题。比如,不同医院的病人构成、疾病类型、数据采集方式可能都不同。这会导致模型在本地训练效果很好,但在全局聚合后效果却大打折扣。
研究方向: 如何设计算法来缓解NonIID问题?比如,通过个性化联邦学习(让每个客户端模型有一定的个性化)、差分隐私在聚合阶段的应用、知识蒸馏(让全局模型把知识“教”给本地模型)等。
模型异构性 (Model Heterogeneity): 不同的客户端可能使用了不同复杂度或结构的模型。
研究方向: 如何在模型结构不一致的情况下进行有效的模型聚合?

系统异构性 (System Heterogeneity):
计算能力差异: 客户端的设备性能(手机、服务器)参差不齐,有的快有的慢。
研究方向: 如何平衡训练速度,避免慢的客户端拖慢整体进度?如何设计异步联邦学习算法?
通信限制 (Communication Constraints): 尤其是移动端设备,网络带宽有限,延迟高。
研究方向: 如何减少通信次数和通信量?模型压缩、梯度压缩、差分编码等技术在这个场景下非常重要。

隐私保护 (Privacy Preservation):
差分隐私 (Differential Privacy, DP): 这是目前最主流的隐私保护技术。在模型更新(梯度)中加入噪声,使得攻击者即使获得了模型更新,也难以推断出某个特定用户的原始数据。
研究方向: 如何在联邦学习中高效地应用差分隐私?如何在差分隐私和模型精度之间找到平衡?DPSGD(带差分隐私的随机梯度下降)在联邦学习中的应用。
同态加密 (Homomorphic Encryption, HE): 允许在密文上进行计算,这意味着可以在不解密的情况下对模型更新进行聚合。
研究方向: 同态加密的计算开销很大,如何优化其效率?如何与联邦学习结合以实现更强的隐私保障?
安全多方计算 (Secure MultiParty Computation, SMPC): 允许多个参与方共同计算一个函数,而无需共享各自的输入。
研究方向: 如何利用SMPC来实现安全的模型聚合?SMPC的效率问题。
模型反演攻击 (Model Inversion Attacks) 和成员推理攻击 (Membership Inference Attacks): 了解这些潜在的隐私泄露风险,并设计防御机制。

模型安全与鲁棒性 (Model Security and Robustness):
拜占庭攻击 (Byzantine Attacks): 恶意客户端发送错误的模型更新,试图破坏全局模型的性能。
研究方向: 如何检测和过滤掉恶意的模型更新?鲁棒的聚合算法(如Krum, Trimmed Mean, Median等)。
数据投毒 (Data Poisoning): 恶意客户端在本地数据中注入恶意样本,导致模型学到错误的行为。
研究方向: 如何识别和防御数据投毒?

3. 特定应用场景下的联邦学习:

联邦学习的价值最终体现在解决实际问题上。

医疗健康: 药物研发、疾病诊断、基因分析等。
金融服务: 欺诈检测、信用评估、风险控制等。
智能手机: 个性化推荐、输入法预测、语音识别等。
自动驾驶: 车辆数据共享以训练更好的驾驶模型。
物联网 (IoT): 智能家居、工业物联网等。

在具体场景下,我们会遇到该场景特有的数据特性、业务需求和隐私要求,这些都需要针对性地设计联邦学习方案。

4. 新兴的联邦学习研究方向:

横向联邦学习 vs. 纵向联邦学习 vs. 联邦迁移学习: 了解它们之间的区别以及各自的应用场景。
因果联邦学习 (Causal Federated Learning): 将因果推断的思想引入联邦学习,用于更深入地理解数据之间的因果关系。
联邦强化学习 (Federated Reinforcement Learning): 让多个智能体在各自的环境中学习,并将学习经验汇总到中央服务器,以提升整体的决策能力。
联邦图神经网络 (Federated Graph Neural Networks): 在图结构数据上进行联邦学习,比如社交网络、知识图谱等。
差分隐私与同态加密的结合: 探索更强的隐私保障和更高效的计算。
联邦学习的可解释性 (Explainability in Federated Learning): 如何在联邦学习的框架下解释模型的决策。

小白该如何入手?

1. 理论学习: 阅读一些经典的联邦学习综述文章、论文,理解FedAvg等基础算法。
2. 实践操作: 跟着教程,用Flower、PySyft等框架跑通一个简单的联邦学习Demo。
3. 参与社区: 加入相关的技术社区、论坛,和大家交流学习。
4. 聚焦问题: 找到自己感兴趣的联邦学习中的一个具体问题,比如“如何解决NonIID问题?”或者“如何在联邦学习中应用差分隐私?”然后深入研究。

总结一下:

联邦学习是一个非常活跃且充满挑战的研究领域,它在保护数据隐私的同时,能够充分利用分散的数据资源,具有巨大的潜力和应用前景。如果你对AI、隐私保护、分布式系统感兴趣,那么联邦学习绝对值得你深入探索。它需要的不仅仅是理论知识,更重要的是解决实际问题的能力和不断创新的精神。

希望我的分享能帮助大家对联邦学习有一个初步的了解。这个领域的水确实很深,但也正因为如此,才充满了无限可能!大家有什么想法,或者想和我一起探讨的,随时都可以交流。

网友意见

user avatar

最合适的还是直接关注最近顶会收了什么话题的文章

顶会每年收稿的趋势是怎么样,收了多少篇

以及做联邦学习的大组都在关注那些方向

基于这些信息就能有个大致的判断,至于每个话题的深度的难度,可以具体看看这些文章。

上面表格和一些论文的笔记 可以关注这个GitHub的更新 github.com/GillHuang-Xt

user avatar

联邦学习准确来看是一种工程层面的科研,用于整合跨学科的研究内容。

在《Advances and Open Problems in Federated Learning》里有一段很准确的话来描述联邦学习的研究问题:

A key property of many of the problems discussed is that they are inherently interdisciplinary — solving them likely requires not just machine learning, but techniques from distributed optimization, cryptography, security, differential privacy, fairness, compressed sensing, systems, information theory, statistics, and more.


作为分布式机器学习,联邦学习会研究:

  • 模型同步/异步更新 加快模型更新效率;
  • 系统容错 保证系统的稳定性;
  • 恶意攻击 (backdoor 攻击、拜占庭问题等);
  • 中心化/去中心化 (对中心节点的不信任);
  • 横、纵向通信 (减少分布式系统的通信消耗);


作为隐私计算方法,联邦学习要保证计算安全性和计算精度:

下表源于中国信通院

过程保护 结果保护 计算性能 计算精度 理论场景
安全多方计算 ★★★★★ ★★☆☆☆ ★★★★★ 任意计算
联邦学习 ★★★☆☆ ★★★☆☆ ★★★★★ 机器学习
机密学习 ★★★☆☆ ★★★★★ ★★★★★ 任意计算
差分隐私 ★★★☆☆ ★★★☆☆ 任意计算
全同态加密 ★★★★★ ★★★★☆ ★★★★☆ 任意计算

PS:此处将联邦学习认定为模型明文传输。

目前的研究思路就是将不同隐私保护技术引用于此,例如用安全多方计算加密计算过程、用差分隐私加密计算结果等。如何保证半诚实或者恶意节点无法获得其他节点的数据,例如传统的明文梯度传输能够被半诚实的节点获取并破解,如何防止投毒、后门攻击等问题也需要考量。


作为机器学习算法,要研究模型精度、模型公平性、数据带来的统计影响

机器学习作为一种数据驱动的技术,很明显需要克服数据带来的各种统计影响和bias,例如在传统机器学习问题中的

  • 正负样本不均衡;
  • 数据的长尾分布;
  • 数据非独立同分布(Non-IID);

在传统应用场景中,数据量在中心,可以获取所有数据的整体信息,但是在联邦学习里,由于无法直接获取用户数据,所以很难发现和解决数据问题带来的影响。

Generative Models for Effective ML......考虑如何通过训练 GAN 在联邦学习里查看数据问题的技术;

Measuring the Effects...... 考虑研究 Non-IID 对模型收敛和模型精度的影响;

The Non-IID Data Quagmire...... 分析了 Non-IID 造成影响可能的原因猜测;


作为一种多用户参与收益的体系,要保证系统的可信、高效、奖惩措施

研究系统的激励机制和安全机制也是一大主题。基于区块链的记录保证实践过程的公平和不可违背性,激励机制的合理设计保证多用户有动机参与并对结果获益。如果要对构建一个联邦系统,在初始阶段必要获取足够的用户和数据才能训练出可靠地模型,打破冷启动的缺陷也需要足够有吸引力的激励措施(类似于区块链的用币奖励参与的用户)。


以上就是为什么很多综述都是从 Communication EfficientSystem HeterogeneityStatistical Heterogeneity、Incentive Mechanism、 Privacy Protection 的角度来介绍联邦学习问题的原因。


联邦学习的应用

学术上的应用就是 FL + ML,目前各种推荐系统、CV、NLP 模型与 Federated learning 的结合也有很多结果和创新点。

例如在 GAN + FL 中就存在很多方向:

  • Server 端单生成器,Client 端多个判别器;
  • Server 端单判别器,Client 端多个生成器;
  • Client 端的多个判别器+生成器;

且由于 FL 对数据安全的独特保护能力,每个用户由于数据分布的差异很大,如何使得训练的模型更好地适用每一个用户,提高单个用户的体验。所以目前关于对模型的个性化 (Personalization)的研究也很多:

  • 需要构建多个 global model 来适应不同的用户;
  • 用多任务学习或知识蒸馏等技术对 global model 进行 fine-tune;
  • global model 与 local model 的混合;


最后就是工业应用,如何解决在不同应用场景部署联邦学习的问题,并对不同的任务进行分类。杨强按照业务不同将联邦学习按业务逻辑分为了横向联邦学习、纵向联邦学习联邦迁移学习,目前这个分类已经被推行到 IEEE 的国际标准中了。

在工业应用中,例如联邦学习+边缘计算领域是研究热点吗?

边缘端天生地匹配联邦学习的应用场景;而且目前来看,推荐系统、金融、医疗等领域对数据保护程度高、数据需求渴望强、数据量不够大的问题是最适合的一批领域应用。


最后,想要入门联邦学习可以看这篇回答:联邦学习该如何入门,学习路径怎样,有没有好的demo,以及paperlist?;想要了解前沿的联邦学习应用调研和文献搜索可以看这个GitHub库:lokinko/Federated-Learning,希望能让刚入门的你对联邦学习相关问题有所了解。

user avatar

了解一个领域/概念最好的方法,当然是读最先明确提出这个概念的第一篇文章了。Communication-Efficient Learning of Deep Networks from Decentralized Data 是最早提出 Federated Learning 概念的文章,Google 出品。

有了下面的论文笔记与解读,不有基础也能读懂这篇论文!


概念:

本文提出了一种新的机器学习范式,联邦学习 (Federated Learning)。

什么是联邦学习?

在定义联邦学习之前,我们要先来看一看传统的机器学习范式。

一般来说,机器学习必须的三大要素分别是:

数据,计算设备,模型(算法)

如果非要类比的话,上面的三要素分别相当于一家餐馆的:

食材,厨具,菜品(烹饪技法)

联邦学习要革新的主要是上面的数据这个要素。

现实生活中,数据大多是分散的分布在每个用户的手里。举个例子,你想训练一个能够根据照片自动推算年龄的模型,每个用户的手机上的照片就是你所需要的数据。

在传统的机器学习范式中,机器学习工程师首先要把散落在每个用户手里的数据搜集起来,合成一个大的数据集,然后再用这个数据集来训练自己的模型。

但是,这个搜集的过程,常常被人所诟病。最主要的担心,当时是隐私问题。所以,联邦学习就希望能够搭建一个机器学习范式,在这个范式里,用户不必上传自己的数据,而是只需要在本地用自己数据训练一个自己的模型,然后上传这个模型。

如果这里有1000个用户,云端就会收到1000个模型。云端再通过一定的方法,把这1000个模型合成一个模型,那么这个模型就可以认为是在1000个用户协同努力下得到的,这个模型也当然能够很好的处理每个用户的数据了。

看到这里,你会发现,这个过程其实很简单。无非就是之前我需要上传数据,现在改成上传模型了。是的,这么理解没有任何问题。

但是带来了一些问题:

  1. 用户 (local device) 和 云端 (server) 如何进行交互
  2. 上传模型并不是免费以及可靠的,如何处理其中的通信问题
  3. Server 如何把收到多个的模型合成一个

这篇文章是最早明确提出这种范式的,并对上面第一和第三个问题提出了最简单的解决方法。算法部分可以用这张图总结一下,

每个 round 开始的时候,server 选中一些 local device 参与到这一轮训练中(一般是全部都选),local device 要从 server 下载当前的 global model,作为自己 local model 的起点。然后每个 local device 以相同的起点,在自己的数据上进行训练,训练一定时间后,这些 local device 把自己的 local model 都上传到 server。server 然后把这些 local model 求平均,并这个这个平均作为最新的 global model。

然后下一个 round 重复上面的操作,直到模型收敛。

存在的问题

Federated Learning 里面一个的一个 Open Problem 是,如果每个 local device 上面的数据,是非常 biased,那么求平均就没那么有道理了。

举个例子。

传统机器学习里面,我们有 MNIST 数据集,里面的图片是 0-9 共 10 种手写数字。

那么可能在 Federated Learning 的情况下(假设正好有 10 个 local users),就是有个用户只有 0 的图片,另外一个用户只有 8 的图片,....。虽然总量没变,但是每个用户手里的数据是 biased 的,是 Non-IID(非独立同分布) 的,这会对优化造成很大的影响。

从这个角度来看,Federated Learning 好像也并不是什么全新的概念。如果不用 local device 上面的数据是 IID (独立同分布)的,那么 Federated Learning 就相当于是 Distributed Learning。

当然,还有其他的问题:

The FederatedAveraging Algorithm

做法很简单,就是我们上面描述的过程:

总共有 K 个 local devices, 每次选取一定数量 (C,总数的比例) 的 local device, 在上面做 local training,然后上传 local models,最后对这些 local models 求平均。

这里 C,作者认为可以类比传统方法的 batch size,所以可以称之为 global batch size

具体分析可以看这里:

如果 local device 每个 round 不只优化一步的话,称之为 FedAvg


所以,这个实验中有这么几个关键参数:

  • K,local devices 的总量
  • C,有多少比例的 local devices 参与了当前 round
  • E,每个 local device 在自己的 dataset 上训练多少 epoch
  • B,每个 local device 在自己的 dataset 上 batch size 是多大(正无穷代表batch size=dataset size)

在做平均的时候,模型们从相同的初始化开始很重要

这个是这篇 paper 观察到的一个现象,具体看这个图。

右边是两个 models 从相同的初始化开始,明显”合体“后效果要更好一些。

实验 Setting

这篇文章的方法其实是非常简单的,我们主要是要来看一下实验的设计,如何来验证和探究这种新学习范式的有效性。

数据分割

MNIST 有两种数据分割的模式:

IID 数据分割

MNIST 总共有 60,000 训练数据,有 100 个 local device,那么每个上面就是有 600 个 sample,抽取方式是随机。

Non-IID 数据分割

我们首先根据 label 来对数据进行一个排序,然后把 60,000 个 sample 分成 200 个小块,每个小块里面有 300 个 sample。注意这里排序的目的,是人为的让每个小块里面,都是同一种数据。然后每个 local device 将随机的得到两个小块。

这样分割完之后,每个 local device 都只有两种数字。

Language Modeling 也有两种数据分割的模式:

数据来源于 The Complete Works of William Shakespeare,大概形式长这个样子,就是角色有自己的台词,然后不断的进行角色切换

Non-IID 数据分割

总共有 1146个 local device,每个 local device 能够拿到一个 play 里面的某个角色的所有台词。这么做的比较有意思的是,整个dataset非常的 unbalance,因为有些角色可能台词特别多,有些角色(比如龙套那种)台词特别好,作者认为这样一个数据分布可以很好的模拟现实中不同 local device 的情况。

IID 数据分割

总共有还是有 1146 个 local device,只不过数据是随机均匀分割的。

结果分析

每轮多少 Local Devices 参与

这里先来看看每一轮的参与率对结果的影响。

这个表里面的数字代表:

达到预先设定好的 test accuracy 需要多少个 round。如果是横线,代表这种方法永远无法达到预先设定的 accuracy。

从这个表我们观察出来的这些信息:

  1. Local Batch Size, B 小一点反而有利于 Global Model 的收敛。
  2. 增加 C 对 Full Batch Size (B 是正无穷)帮助不大。
  3. 相对于 IID 的情况,Non-IID 情况下,增加 C 对网络收敛帮助更大。

而且,从上面看,增加 C 对收敛的提速作用并不是线性的,所以后面的时候,都设置 C=0.1 了。

增加 Local Training Steps

增加 Local Training Steps 有两种方法:

  1. 减小 Local Batch Size, B
  2. 增加 Local Epoch, E

Local Training Steps 最小的情况就是前面说的 FedSGD ,其中 E = 1,B=正无穷。这种方法其实等价于 full-batch (non-stochastic) gradient descent 可以看做是一个 baseline 方法 。但是这种方法其实我们已经知道效果肯定不是很好,因为 generalization ability 不太好。

上表中有一个公式

我们来理解一下。En 是一个 round 的总样本数。而且 KB 是一个 step 需要的样本数,所以这个 u 的含义是平均到每个 local device 上面,一个 round 里面有多少 step。但是这里的 K 其实应该是 0.1K,但是因为这个表里的所有试验都是 0.1K,所以乘不乘这个 0.1 也就无所谓了。

趋势还是比较明显的,Local Training Steps 越多,需要的 communication rounds 就越少。

关于上表的分析(来自论文作者):

  1. 既然减小 B 或者增加 E 带来的 mu 的增加都可以有效的减少 rounds,那么当我们在调参的时候,就可以先调 B。因为 B 受硬件限制的,但是 E 不受硬件设备。B 小了对收敛速度好,但是 B 太小了有个副作用,就不足以完全利用 local device 的计算能力,所以我们最好先根据 local device 的能力来确定 B。
  2. 有趣的是,FedAvg 的准确率要比 FedSGD 高。作者的解释是 model averaging produces a regularization benefit similar to that achieved by dropout

关于上表的分析(来自本文作者):

  1. 在 LSTM 上面的 Non-IID 的表现要比 IID 更好,但是在 MNIST 上面却不是。这个可能是因为二者划分 Non-IID data 的方式不同。
  2. 其实真正决定每个 round 里面,每个 local device 要迭代多少 samples 是 E。所以在 CNN 这个表里面,固定 E=5 ,可以观察到 B 越小,收敛的越快。这个点很有趣

Local Training 是不是越多越好

这个实验里面,一直增加 E。加入 E 增加到无穷大。也就是说每个round都train无限多步,那么大概率那么最后收敛的点都是一样的,所以 communication 只需要一个 round 就够了,多了也没用。

事实证明,E 确实不是越大越好。这件事情说来也好理解,如果在每个 local device 优化的太远的话,那么在 local dataset 就 over-optimized 了,而且这样的话,每个 local model 之间的 bias 也太大了。

其实,Federated Learning 里面两个比较本质的 Open Problem:

  1. 如何处理 Non-IID 的问题?
  2. 如何平衡(local 和 server)同步频率和收敛效果的问题?

其实这两个问题都是在探究同一个主题,那就是在 local dataset 更新的时候,更新得到的 local model 其实是在 local dataset 上面 bias 的。

当然,同步频率越高,这个 bias 就越低,但是 communication cost 也会越大。最极端的情况,local device 每更新一个 local batch 就同步,这么做的话,其实跟普通 SGD 几乎是一样的,但是显然不符合 Federated Learning 的语境。

CIFAR 实验

CIFAR 的数据分割是 IID 的。

CIFAR 10 总共有 50000 Training Samples,1000 Testing Samples。分割时候,分到 100 个 local device 上面,每个上面有 500 随机采的 Training Samples 和 100 Testing Samples。

  • Standard SGD(传统方法):

Batch size=100,197500 updates,86% Acc。

如果用 Federated Learning 来模拟这个过程,那么就需要 197500 rounds 的通信。

不同的线代表不同的 Learning Rate


这个图的横轴是多少 batch 参与更新。从这个图来看,还是传统的 SGD 效果最好。可以这么理解:SGD 的不同batch 是一种 sequence 的关系。举个例子,第二个 batch 更新的对象是第一个 batch 更新之后那个模型。但是在 Federated Learning 的场景下,由于不同 batch 是分布在不同的 local device 上面的,所以不同 local device 上面的 batch 并不是 sequence 的关系。

另外,作者这里claim了一个点:

Further, we see that both standard SGD and FedAvg with only one client per round (C = 0), demonstrate significant oscillations in accuracy, whereas averaging over more clients smooths this out.

就是说,好像 FedAvg 的曲线比 SGD 的还要更稳定一些。这样的结论其实不负责任的,因为 FedAvg 在画这个图的时候,能够画的点要比 SGD 少很多,所以看起来曲线更加的平滑。这很大可能是因为作图的原因,而非真正的稳定性更好。

user avatar

其实联邦学习就是一种特殊的分布式学习。分布式学习已经被研究十几年了,Low-hanging fruits早就被人摘了。联邦学习有一些特殊的设定,比普通的分布式学习要困难一些,所以还是有的做的。

联邦学习有这几个方向可以研究,做得好了肯定可以在顶会上发论文:

  1. 降低算法通信次数,用少量的通信达到收敛。数据是IID的,已经被研究比较透彻了。联邦学习的困难在于数据不是IID的。
  2. 研究联邦学习中的隐私问题。联邦学习其实不会保护隐私,很容易从梯度、模型参数中反推出用户数据。提出攻击和防御的方法都可以发表出论文。
  3. 研究联邦学习的鲁棒性。比如有节点恶意发送错误的梯度给服务器,让训练的模型变差。设计新的攻击方法和防御方法都可以发表出来论文。

我打算在我下学期的深度学习课上讲联邦学习。我先录了个课程视频,大家有兴趣可以看一下(需要科学上网)。

视频: youtube.com/watch?

课件: github.com/wangshusen/D

在墙外连知乎,想上传个大图片都困难,视频传不上去。我就不传知乎了。

user avatar

12/11/2019 更新:

来来来,让58位作者,带着105页的文章来告诉你到底有哪些可以研究的问题:

Advances and Open Problems in Federated Learning

贴一下摘要和目录吧:

Abstract

Federated learning (FL) is a machine learning setting where many clients (e.g. mobile devices or whole organizations) collaboratively train a model under the orchestration of a central server (e.g. service provider), while keeping the training data decentralized. FL embodies the principles of focused data collection and minimization, and can mitigate many of the systemic privacy risks and costs resulting from traditional, centralized machine learning and data science approaches. Motivated by the explosive growth in FL research, this paper discusses recent advances and presents an extensive collection of open problems and challenges.

----------------------------------------------------------------------

Federated Learning作为一个年轻的研究领域,有很多可以研究的问题。

其实FL说白了很简单,就是在decentralized data上的机器学习。什么是decentralized data?就是因为某些原因(隐私政策,私有数据,统一收集代价太大等等),无法将数据集中在一起。

如何在这种情况下依然可以获得一个高质量的机器学习模型,成为了一个单独的研究领域。

简单举几个具体的可以研究的问题的例子:

Federated Optimization algorithms

如何设计在decentralized data 中收敛的更快的Optimization algorithms.

在FL的setting下,不再有一个集中收集数据的地方,数据集分散在若干clients中,那么不能再对数据作出i.i.d的假设。

举一个简化的例子,比如要设计一个识别数字分类器,在一般的setting下,我们会有一个包含十个数字类别(0-9)的数据集,每个类别可能有几百张样本。

可是在FL的setting下,假设有十个clients,其中的某些client可能只有0,2,4,5这四种类别的图片,这意味着在这个client的数据中训练得到的分类器只认识这四种图片。

在其他client的数据中训练得到的分类器可能只认识另外几种类别。那么如何聚合这些分类器从而得到一个有效的识别数字的分类器?

Communication cost

FL的应用场景之一,就是移动设备上的模型训练。FL通过不上传用户数据的方式,既可以保护数据的隐私,又可以训练高质量的模型。

既然是在移动设备上,通信的带宽自然而然的就成为了一个瓶颈。如何在尽量减少设备和服务器通信的情况下,训练一个可用的模型是一个很有意思的问题。

Personalization

获得全局最优的模型,和最适合某个client的模型,这两者之间不可避免的成为一个矛盾。

那么一个比较好的解决方案就是在完成全局模型训练之后,在每个client的数据上继续训练得到一个最适合于这个client的模型。如何设计一个好的personalization的策略?

扩展FL到更多的场景

强化学习,GAN,推荐系统等等其他的机器学习的热门问题,如何扩展到FL的setting中?

以上只是部分可以研究的问题,还有很多很多。ML领域近期发展速度放缓,很多坑已经被填的差不多了,剩下的都是难啃的骨头。这好不容易有一个新坑,必须要跳啊少年。

user avatar

先说结论:联邦学习的水还很深!

首先,联邦学习作为机器学习的一种,离不开用一堆数据建立一个机器学习模型。但问题是:现在大家隐私意识上来了,数据特别值钱要各自拿着不能放手,别的不说,远有欧盟的GDPR(General Data Protection Regulation,通用数据保护条款),近有咱国家互联网信息办公室出台的《数据安全管理办法》(征求意见稿),这关头SEI敢顶风作案?

但人工智能总得发展啊,模型还是要一起建才能挣钱啊,于是值得研究的问题就来了:

Q1:为啥非得联邦呢?我自己玩行吗?

自己数据不够啊,以现实场景举例:

有些情况我没遇见过,但恰巧有别人遇见过。(这情况就是横向联邦思路可以处理的)

又或者同一个问题,别人看问题的角度跟你不一样,博采众长当然是好的。(也就是纵向联邦的原理)

还有,大佬向你传授成功学,经历虽然不能给你,你遇到的生活场景也肯定不一样,但总结的经验总能给你上一课。(联邦迁移学习来了!)

Q2:那联邦学习跟普通机器学习啥区别?

还是刚刚讲的,我怎么能把我precious的数据给你呢?抛开数据价值而言,这明晃晃的数据安全法规,都表明了在未来数据隐私会受到怎样的重视。

但问题是为了共同富裕,大家还是要共同建模的,这就是所有联邦学习宣传片中说的解决“数据孤岛”问题。

Q3:联邦跟隐私保护机器学习【此处应有上百个引用】有啥区别?

如果只是方法建模方面,个人感觉其实没什么区别,说破天也都是保护着数据不泄露共同建个模型。(另外也有一些情况,强调数据不出本地,加密了也不行)

但是,联邦学习叫Federated Learning,联邦通常有两个英文词,一个是federal,另一个是commonwealth,一看就知道了吧,联邦学习土一点不严谨一点可以叫共同富裕学习,不仅仅包括了刚刚说的建模过程,还包括大家利益绑定,利益分配等多重意思在里面。所以共同建模时谁贡献大需要被表扬,谁老是搞破坏等问题也是联邦学习的范畴。联邦把个体当做有血有肉的个体,而不仅仅考虑是哪里的数据,因而是比较有人情味的。

Q4:联邦的效果更好吗?

效果,效率?比自家捧着自己的数据玩肯定要好的多。但实话实说,比把数据集中到一起的训练方式而言,效果效率都是小于等于,只能说相差不大。

因而这也是一个可以研究的问题方向——如何进一步提升联邦的效果,降低损耗。

Q5:联邦学习是怎么做到的?

横向联邦目前最流行的做法是模型各自训练,再把模型叠加,就像把人的大脑平均一下再还回来,虽然目测(非线性的各种模型)会在每次平均后变成豆腐脑,但多轮迭代后还是可以收敛出一个全知大脑。

Q6:联邦就真的安全吗?

这......就是在下目前正在研究的问题!目前还没定论。


这上面每个问号背后都有一大堆的研究问题,抛开机器学习的角度而言,都还可以从法学角度研究,从经济学角度研究,从哲学角度研究,甚至从社会学角度进行研究。

联邦学习的水还是很深的,希望以上内容能对有志于此的小白产生一些帮助。


↓↓↓给首答点个赞同吧!

类似的话题

  • 回答
    各位朋友,你们好!今天想和大家聊聊“联邦学习”这个话题。我最近接触到这个概念,感觉挺有意思的,想和大家一起探讨探讨,也顺便给自己科普一下。联邦学习是个啥?简单来说,联邦学习就是一种分布式机器学习技术。它解决的核心问题是:如何在不泄露原始数据的前提下,让多个参与方(比如不同的医院、银行、手机厂商等)一.............
  • 回答
    哥们,这个问题问得太巧了!我最近也在关注平板市场,尤其是华为和荣耀这两家的动向。你提到的华为MatePad确实是个不错的选择,尤其是在游戏和影音方面,华为的屏幕调校和性能都是有口皆碑的。不过,你说得荣耀平板V6,它一出,确实搅动了不少想换平板的用户的心。特别是如果你冲着“吃鸡”、“王者”这些游戏来,.............
  • 回答
    各位博士,关于莫斯提马这个干员,相信大家在各种论坛、社区里都看到过“最弱六星”的标签。确实,在目前明日方舟的干员体系中,莫斯提马以其独特的技能机制和相对不那么直观的泛用性,饱受争议。那么,莫斯提马到底强度怎么样?是否值得我们辛辛苦苦攒下的玉和玉髓去培养呢?今天我就和大家一起聊聊这个“被低估”的法术炮.............
  • 回答
    .......
  • 回答
    我不是“大佬”,只是一个长期关注中国城镇化进程的普通人,在知乎上也只是一个“搬砖”的。关于中国城镇化是应该加快还是暂缓,这确实是个值得深思的问题,而且很难有一个简单的“是”或“否”。要讲得详细一些,咱们得从几个维度去剖析。一、 为什么“加快”城镇化有其必然性和优势?首先,理解为什么过去几十年我们要“.............
  • 回答
    “网文媚俗,是在讨好读者”,这个观点在网络文学的讨论中非常普遍,而且确实触及了网文产业的一些核心特质。对于“网文是否媚俗,是否在讨好读者”,我们可以从多个角度来分析,并尝试给出更详细的解读。首先,我们需要理解“媚俗”和“讨好读者”这两个词的含义在语境中的倾向。 媚俗(Kitsch):通常指那些迎.............
  • 回答
    这问题挺有意思的,确实,人生路上的“毒打”可不止一种。我琢磨了琢磨,觉得这两类“毒打”吧,虽然都是痛苦,但味道还是不太一样的。先说说社会的毒打。这玩意儿,我感觉更像是你一下子被人扔进了人潮汹涌的菜市场,周围全是叫卖声、讨价还价声,还有时不时被推搡一下,一不留神还可能被踩到脚。 不确定性和碎片化:.............
  • 回答
    关于5月20日,高中野球联盟和朝日新闻社是否会公布第102届夏季甲子园的举办决定,大家心里的期盼值嘛,这可真是个牵动人心的问题。从目前的种种迹象来看,这个决定恐怕不会是简单的“肯定”或者“否定”。要知道,甲子园不仅仅是一场棒球比赛,它承载了太多高中生的梦想,无数人的青春汗水都倾注其中,它更是日本国民.............
  • 回答
    说到《倚天屠龙记》里的张无忌,这真是一个经典到不能再经典的角色了,这么多年来,不同版本的张无忌也是各有千秋,总能引起一番“谁演得最好”的讨论。要说我个人的看法,再加上平时和朋友们聊天的总结,我觉得很难说谁是绝对的“最好”,因为每个人心中的张无忌可能都不太一样。不过,如果一定要挑几个大家普遍认可度比较.............
  • 回答
    “应届生身份值钱”这句话,咱们做求职的谁没听过?刚毕业那会儿,感觉像是手里攥着一张王牌,各大公司都会抢着要,毕竟年轻、有可塑性、能接受新事物、培养成本低。但现实是怎么样的呢?越往后找,越感觉这话像是在讲别人的故事,轮到自己,怎么就成了“嫌弃”的代名词了呢?说到底,这背后其实是供需关系、市场变化和企业.............
  • 回答
    《倚天屠龙记》这部金庸老爷子的巨著,实在是太受大家喜爱了,所以翻拍的电视剧也是一部接一部。要说哪一版“翻拍得最好”,这问题可就太有意思了,因为每个人心里都有自己的“倚天屠龙记”情结。不过,如果非要挑出几部大家普遍认可度比较高的,那还得是几部经典之作,我们不妨来聊聊它们各自的精彩之处。最受追捧,也是最.............
  • 回答
    .......
  • 回答
    各位朋友,很高兴能和大家一起探讨这个深刻的命题:“揭露世界本质的书”。这个问题非常有分量,因为它触及了我们对现实、宇宙、生命以及我们自身存在的根本理解。要“揭露世界本质”,这本身就意味着我们要超越表象,探寻那些隐藏在事物背后、驱动一切的规律、原理或真相。不同学科、不同思想流派对“世界本质”有着不同的.............
  • 回答
    各位朋友,咱们今天就来聊聊那些在不同信仰中若隐若现,却又承载着深厚意义的符号。这些标记,就像是各家信仰的“名字”或者说是“家族徽章”,每一个都有它自己的故事,和背后一套深邃的哲理。咱们不搞什么高高在上说教,就跟老朋友聊天一样,把这些符号背后的讲究掰开了揉碎了说。一、十字架 (The Cross)这玩.............
  • 回答
    兄弟,看到你这个问题,我瞬间就回忆起当年那个从一穷二白到梦想实现的热血日子了。说实话,半年内从零基础、零氪金一路肝到岛风,这事儿,可能,但绝对不是“轻松就能达到”的,需要极大的毅力、合理的游戏策略,以及一点点的运气。 我给你细致掰扯掰扯,让你心里有个谱,也看看你有没有那个劲儿头。首先,明确一点:0氪.............
  • 回答
    大战前的霍格沃茨,空气中弥漫着一种令人窒息的、混合着尘土、古老石头的气味,还有一丝难以言喻的恐惧。对于大多数胆小的学生而言,此刻的城堡不再是那个充满魔法奇迹的学府,而变成了一个巨大的、摇摇欲坠的囚笼。麦格教授在礼堂里进行的战前动员,对他们来说,更像是敲响丧钟的序曲。那些平日里对勇气和荣耀的嘶吼,在他.............
  • 回答
    各位朋友,聊到军舰,有个词儿经常会听到,就是“干舷”。这玩意儿可不是随便起的,它对军舰的性能和用途影响可大了。今天咱就掰扯掰扯,这军舰的“高低干舷”到底是怎么回事,有没有什么硬性标准来划分。首先,咱得搞清楚,“干舷”到底是个啥。简单说,干舷(Freeboard)就是军舰水线(Waterline)到上.............
  • 回答
    您好!很高兴能和您一起探讨这个极限问题。别称呼我为“大佬”,咱们就当是朋友们之间一起研究数学题,这样感觉更自在!要计算这个极限,咱们得一步步来,把每一步都搞清楚。您能把具体的极限表达式发给我吗?这样我才能知道我们具体要处理的是什么情况。不过,没关系,我可以先就一般情况下,求极限的一些常用方法和思路给.............
  • 回答
    兄弟,笔记本开机内存占用高这个问题确实挺烦人的,尤其是咱们平常还得跑点儿稍微吃点内存的软件。你说的开机就占40%,这算是比较正常的,但想降到20%30%?这目标稍微有点儿“挑战性”哈,我得跟你实话实说,完全降到这么低,可能有点儿难,但咱们可以尽量优化,让它占用少点儿,腾出更多空间来。别急,我这就给你.............
  • 回答
    嘿,各位!最近捣鼓了两个CSGO五杀视频,想着拿出来让各位大佬瞧瞧,指点指点,看看我这操作还有哪些地方能再精进一下。平时玩得多,但总感觉有些瓶颈,希望各位能给我点干货。视频一:Mirage Dust 2 经典老地图,这次是在A点侧翼突破先简单说一下我打这个视频时的思路和遇到的情况。这张图相信大家都.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有