点击蓝字

关注我们

AI TIME欢迎每一位AI爱好者的加入!

联邦学习(federated learning)是指在保护数据隐私的前提下实现分布式多数据源模型训练的学习范式。由于各个数据源的统计异质性在现实场景下广泛存在,同时统计异质性也给联邦学习下合作式的模型学习带来了负面影响,甚至会损害模型性能。

这也带来了一个基本问题:一个机构(client)加入合作网络能否获得增益,即参与合作是否意味着自身模型性能的提升。事实上,一个机构并非总是与所有机构合作才能带来自身性能的最大化。我们建立了联邦学习下的合作均衡理论,其中各个机构只与对其有利的机构合作,最大程度上避免负迁移的影响,从而实现自身模型性能的最大化。

具体来说,我们提出以下两个公理刻画合作均衡:1. 自私原则;没有利益,就没有合作;2. 理性原则;各个机构致力于最大化自身模型性能。我们提出了增益图(benefit graph)的概念,描述了每个机构的最优合作者,并提出了一种基于帕累托优化的方法确定最优合作者。

我们在理论上证明了合作均衡的存在性,并提出了一种基于图论的方法,实现O(V+E)时间复杂度的合作均衡。

本期AI TIME PhD直播间,我们邀请到清华大学信息学院博士生—崔森,为我们带来报告分享《联邦学习中的合作均衡》。

崔森:

清华大学信息学院博士三年级,师从清华大学张长水教授。主要研究方向为可信赖机器学习,包括算法公平性,鲁棒性,可解释性,和隐私保护等。以第一作者身份在SIGKDD,NeurIPS等机器学习会议上发表多篇论文,担任ICML,NeurIPS等机器学习会议审稿人,个人主页https://cuis15.github.io/。

今天分享的内容包括以下几个要点:首先是对联邦学习的一个简单介绍,其次是联邦学习中的统计异质性问题,之后是合作均衡相关的符号,定义,和理论结果。

A Brief Introduction of Federated Learning

我们简单介绍一下联邦学习,首先联邦学习指的是一个学习范式,多个client联合学习一个globel的 或者是personalized模型,同时不直接接触其他client的数据。

联邦学习通常可能应用于一些隐私高敏感场景,例如医院,医院中的数据涉及到病人隐私,银行,银行数据关系到客户的金融隐私,以及我们的手机数据。

联邦学习的目的是(1)保护局部client的数据隐私(2)利用所有client中的数据碎片,提升每一个client的模型的性能

我们在上图中举了一个例子,图中有N个clients, 其中每个client有自己的数据D_i, 包括输入空间X和输出空间Y,学习任务就是给定X预测Y。M_i代表client i上的模型,通过server实现client之间模型的交互,从而利用了其他client的信息。

一个很自然的问题就是为什么不直接用local的数据直接拟合一个模型,而是要用联邦的方式联合学习模型呢?事实上,local client的数据往往严重不足,模型学习可能会面临过拟合,所以它需要来自外部的其他client的数据。

Statistical Heterogeneity and Performance Inconsistency

刚刚我们说到,联邦学习中每个client有自己的学习任务和自己的数据集,比如输入X预测Y,然而,不同的client的数据可能不是独立同分布的,这就是联邦学习中的统计异质性问题,这就给合作式的模型学习带来了额外的困难,其中有一个现象就是,各个client的性能的严重不一致。

在上图中,我们用u_i代表client i的性能,每个client经过与其他client的合作学习得到各自的模型,由于统计异质性的存在,模型最终的性能可能会变好,也可能会变差。

结合我们现实中合作的例子,我们可以有这样的几个发现:

(1)加入联邦网络进行模型学习不一定总会带来增益,也就是模型性能不一定总是会提升,加入合作之后,性能可能会下降

(2)已有的联邦学习假设所有client一起参与合作,但事实上与所有的client合作并不总能保证最优的模型性能;

(3)合作往往是相互的,这个意思是,合作需要得到双方或者多方的认可,对于双方来说,不存在一方拒绝合作的情况下,双方还能合作;

(4)合作本身其实是有代价的,这个我们下来会举一个例子来详细说明这一点。

A Practical Example of Collaboration

考虑假如我们有10家医疗机构,其中有5家大医院,有5家小诊所,比如在下边的图里边,有I_0到I_4代表5家大医院,I_5到I_9代表5家小诊所。

在现实中,首先可以知道的是,大医院往往拥有更多的数据,这些有用的数据可以帮助任何一家其他医院,反过来对于一家小诊所来说,它的医疗数据量非常非常少,可能无法帮助任何一家医院。

这就带来了第一个显而易见的结果就是大医院之间可能会相互抱团合作,小诊所因为无法帮助任何人,其他医院也不会跟他们合作,所以只能各自独立的训练模型。

对于第二个事实是,合作本身是有代价的,这包括数据统一的代价,和各个医院之间协商的代价等等,如果没有任何的利益,那么对于各家医院来说,为了减少成本和代价,能不合作尽量不合作。这就带来了第二个显而易见的结果,就是一个子集合如果不能获得增益,这个子集合会脱离原来的合作集合。

Two Axioms of Collaboration Equilibrium

基于我们刚刚的事实,我们可以提炼出合作的两个原则,这也是我们合作均衡的两条公理。刚刚我们提到,由于负迁移的存在,和所有的client合作不一定是最优的。由于合作是有代价的,例如数据上的代价或者协商的成本。

第一条原则是“自私原则”,即没有利益,就没有合作。这个原则也暗含了一个推论,就是对于合作的双方来说,只有他们互相对对方有帮助,合作才会发生。

第二条原则是“理性原则”,是说每一个client都是理性的,都希望能最大化自身的模型性能。也就对于每一个client来说,它只会和对自己帮助最大的client集合合作,也就是合作具有唯一性。

根据以上两个原则,我们合作均衡的目的,就是基于以上两个公理,对所有的client做一个划分,把大的client集合划分为各个子集,这个划分得到了所有client的认可。

Notations and Definitions

如何实现这个合作均衡,我们首先介绍相关的符号和定义。

我们假设一共有N个client,用大写的I来表示,我们用C来表示client的集合,用U(Ii, C)代表client i在集合C中实现的模型性能。

我们给出一个最大可实现性能的定义MAU,对于处在C集合中的client i,它所可能实现的最佳性能是client i 在C中所有可能的子集中训练得到的模型的性能,模型性能最高的那个就是最大可实现性能。

与之相关的概念最佳协作者集合,最佳协作者集合指的是client i在这个集合中实现了最大的性能,即第一个式子强调的内容,同时,这个集合中的每一个元素都是必要的,我们公式化为第二个式子。

对于最佳协作者集合,我们可以用一个graph,用一个增益图来表达,比如在这个图里边,每一个节点代表一个client,从client j 到client i 的一条边代表client j 是 client i的最佳协作者之一。

例如 I_2的最佳协作者集合时 I_{3}, 而I^{5}的最佳协作者集合是I_4和I_6,因为I_5有分别来自I_4和I_6的两个箭头指向它。

之前我们说到,在合作均衡的两个公理下,我们的目的是寻找对于合作网络的一个划分,一个划分满足两个条件,一个是它们的并是全集,任意两个集合的交是空集。

例如在这个增益图中,我们可以实现的一个划分是,I_1, I_2, I_3是一个联盟, I_5, I_6是一个联盟,I_4是一个联盟,其中I_1, I_2, I_3实现了自己的最佳性能,因为他们的最佳协作者也在联盟内,可以学习到一个最佳模型。

Formalize the two Axioms

对于之前提到的两个公理,我们现在将其形式化为数学语言——公理,没有利益,就没有合作,这其实给出了一个联盟能存在的必要条件,我们叫他内部协定。

它的意思是,对于一个联盟C来说,必须要满足对于它的任何一个子联盟,都会在这个联盟中受益,否则子联盟就会脱离出去导致联盟分裂而不存在。我们下边举一个例子来形象的说明这一点。

假设N个clients它的数据集都是i.i.d的而且满足如下的包含条件,其中client N因为拥有最多的数据,而且其他client的数据它都有,那么client N不需要与任何其他client合作,那么client N便会离开合作网络独立学习模型,同样当client N离开之后,clientN-1也会因为同样的原因离开而单独学习模型,最终,就像下边这个图中所示,每一个client只能各自学习而不会有任何合作。

对于第二个公理的公式化,实际上它表现为一个划分之外的外部协定。它是说,对于一个划分S来说,如果不存在一个新联盟,这个新联盟能够让每个client都获得比S实现的性能都更大,那么这个划分S就是合理的。

反过来讲,假如存在一个新联盟让每个client都获得了更高的增益,那这些client一定会义无反顾的追寻最高性能而脱离原来的联盟,第二条公理则是保证了不会有这样的现象发生。

例如我们举下边这个例子,假设我们有这样一个划分S,其中C_0指的是I_1, I_2, I_3, C_1指的是I_4, C_2指的是I_5和I_6. 容易验证,这三个联盟都满足公理1。其中C_0和C_2内部每个client都实现了自己的最佳性能,对于I_4来说,它需要I_2和I_5才能实现最佳性能,然而没有哪个联盟能够吸引I_2和I_5与I_4构建联盟,因此这个划分也满足公理二,这个划分就是一个合作均衡。

Stable Coalition and Graph Theory

根据我们前边的介绍,合作均衡即满足我们所提出的两个公理的一个划分。合作均衡保证了每个client所可能实现的最大性能,对此,我们如何来实现一个合作均衡呢?

一个很直接的想法是穷举法,对于N个clients,我们尝试他们所有的划分,然后寻找其中满足这两个公理的划分,那就是一个合作均衡,然而这样的划分一共有B_N个,B_N指的是贝尔数,有着指数级的复杂度。

那我们能不能有一个更高效的方法来得到合作均衡呢?

事实上有这样一个性质,就是如果有一个联盟,它里边所有的client都实现了自己的最佳性能,那么它就会脱离合作网络,这样的联盟我们叫稳定联盟。它的定义我们公式化为以下两个条件

(1)稳定联盟内都实现了自己的最佳性能;

(2)稳定联盟是一个联盟,即任何一个子集都无法让子集内每个client都实现自己的最佳性能。

由于稳定联盟的性质,这启发我们能否用一种迭代的方式来寻找合作均衡呢?

Stable coalitions in a benefit graph (BG)

这个问题是肯定的。

由稳定联盟的定义来看,每一个client都实现了自己的最佳性能,说明稳定联盟已经不需要外界的协助,这在增益图上表现为没有外部指向联盟内部的边。

其次,稳定联盟满足公理1, 这在增益图上表现为稳定联盟是增益图的一个强连通分量,值得说明的是,一个强连通分量不一定是一个稳定联盟,因为它不一定不满足每个client实现最优性能。

这也是我们第一条定理所说的内容,关于它的详细证明,我们放在了我们原文中的附录里边。

Reach a Collaboration Equilibrium by Given Benefit Graphs

假如对于任何client的集合的增益图都是已知的话,根据我们上边的分析,我们可以以一种迭代的方式实现一个合作均衡。

具体来说,给定N个clients, 首先寻找N个clients对应的增益图的所有强连通分量,而后在所有的强连通分中筛选并剔除掉其中的稳定联盟,而后重构剩下的client的增益图并重复以上两步操作。

这可能会有一个问题是,如果所有的强连通分量都不是稳定联盟,算法会不会因此卡住。在这里,我们介绍我们的第二个定理,即对于任何一次迭代,总存在至少一个强连通分量是一个稳定联盟,因此这个定理保证了我们的算法最终一定会在有限步内寻找到一个合作均衡。

Specific Pareto Optimization for Benefit Graph

前边我们介绍了在增益图已知的情况下如何实现一个合作均衡,在此我们介绍我们如何构建增益图。

同样,首先一个trivial的方法就是穷举法,对于每个client来说,让它与每一个子集合作训练模型而后找到性能最高的那个集合就是最优协作者集合。这个方法同样是指数复杂度,因为子集的数量是2的N次方个。

我们提出了一个线性复杂度的方法来构建增益图,具体来说,我们的算法分为以下三步

第一步,利用一个超网络学习N个client对应的N个学习任务的Pareto 边界;

第二步,对于每个client,在Pareto边界上寻找它的最优的Pareto模型;

第三步,得到最优的Pareto模型之后,确定这个模型所必须的协作者;

对于第一步,为所有的client学习一个Pareto平面,因为每个client有自己的学习任务,而一个超网络能够学习到所有任务对应的Pareto平面,给定任何一个任务,一个超网络能够输出这个任务对应的Parrot模型,例如在上图中,我们给出了三个client对应的patro平面,虚线表示,这个面上的每个点代表一个Pareto模型。

对于第二步,如何在Pareto平面上寻找到最佳模型,事实上Pareto平面上的任何一个模型,都与从原点出发的一条向量一一对应,因此,我们可以通过优化方向向量来改变模型,从而找到性能最佳的那个。

例如上图,随着我们对方向向量的改变,模型逐渐从H10逐渐优化到h1*。

对于第三步,如何确定最优模型所必须的协作者?因为一个协作者集合可能是任何一个子集,如果穷举去试的话会有指数的复杂度,那么如何更高效的确定最优协作者集合呢?

我们首先给出我们的第三个定理 Pareto平面嵌入定理,这个指的是Pareto平面的几何性质。它说的是对于一个有着N个学习任务的集合来说,它的任何一个子集的Pareto平面都嵌入在这个原始的大的学习任务集合的Pareto平面里边。

如何确定一个最优模型所必须的client集合呢?根据我们第三个定理,我们的最优模型是在整个大的Pareto平面上找到的,如果我们发现这个最优模型同时也处在一个子集的Pareto平面上,那么这就说明这个子集之外的client,可能不是必须的。

例如在上图中,h1*是在整个 三个client的Pareto平面上找到的,同时,h1*又处于 client 1和 client2的Pareto平面上,这就说明client 3可能不是必须的,client 1的最优协作者集合是 client 1和 client2。

Experiments and Analysis

我们将我们的算法框架在一个现实的数据集上做了验证,eICU是一个医学的数据集,我们从中选取了10家医院,其中I_0到I_4是5家大医院,它们有更多的数据,剩下的是5家小的医院。

上图是我们的算法得到的增益图,其中可以看到大的client往往能帮助更多的其他的client,而小的client由于自身数据量很少,它们无法帮助其他的client,因此最终的合作均衡表现为第二张图。

其中可以发现,大的医院最终倾向于抱团去学习模型,例如I_0 I_3,而小的医院则因为无法帮助其他client,其他client不乐意与之合作,因此只能独自学习模型,例如 I_9。

More Discussions

在我们的研究之外,还有一些很有趣而且很有意义的研究方向有待进一步拓展。

第一个是更高效的最优协作者的发现,在我们的算法中,我们是用一个超网络来学习所有client的Pareto 平面,这个过程往往要消耗大量的时间,因此更高效的算法来判断最优协作者集合可能有待进一步探索。

第二个是更广泛的场景,在有些场景下client的数量可能非常多,这种问题应该如何处理,如何得到的它们的合作均衡也值得进一步思考。

第三个是我们的研究更多的在于理论层面的发现,我们的算法可以用于去quantify两个client之间的增益是多少,这个信息在现实中可以用于提供incentives或者为确定charges提供依据,这些都有待未来进一步的探索。

论文题目:

Collaboration Equilibrium in Federated Learning

论文链接:

https://arxiv.org/abs/2108.07926

点击“阅读原文”,即可观看本场回放

整理:林  则

作者:崔  森

往期精彩文章推荐

记得关注我们呀!每天都有新知识!

关于AI TIME

AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题进行探索,加强思想碰撞,链接全球AI学者、行业专家和爱好者,希望以辩论的形式,探讨人工智能和人类未来之间的矛盾,探索人工智能领域的未来。

迄今为止,AI TIME已经邀请了700多位海内外讲者,举办了逾300场活动,超260万人次观看。

我知道你

在看

~

点击 阅读原文 查看回放!

干货!联邦学习中的合作均衡相关推荐

  1. 创新工场南京人工智能研究院执行院长冯霁:联邦学习中的安全问题

    近期,创新工场南京人工智能研究院执行院长冯霁做客雷锋网AI金融评论公开课,以"浅析联邦学习中的安全性问题"为题,详尽地讲解了联邦学习的特点.联邦学习的应用和安全防御对策等内容. 以 ...

  2. 联邦学习中的安全聚合SMPC

    目录 一.背景 1.1 联邦聚合与FedAVG 1.2 FATE 1.3 密钥协商(Key Agreement) 1.4 秘密共享(Secret Sharing) 二.安全聚合SMPC 2.1 原理 ...

  3. 平安科技王健宗:所有AI前沿技术,都能在联邦学习中大展身手

    「AI 技术生态论」 人物访谈栏目是 CSDN 发起的百万人学 AI 倡议下的重要组成部分.通过对 AI 生态顶级大咖.创业者.行业 KOL 的访谈,反映其对于行业的思考.未来趋势判断.技术实践,以及 ...

  4. 数据分析综述:联邦学习中的数据安全和隐私保护问题

    ©作者 | Doreen 01 联邦学习的背景知识 近年来,随着大量数据.更强的算力以及深度学习模型的出现,机器学习在各领域的应用中取得了较大的成功. 然而在实际操作中,为了使机器学习有更好的效果,人 ...

  5. 在深度学习中处理不均衡数据集

    在深度学习中处理不均衡数据集 hard negative mining online hard sample mining https://blog.csdn.net/jacke121/article ...

  6. 联邦学习中的non-iid总结

    最近研究联邦学习(federated learning,FL)中的non-iid的解决办法时遇到瓶颈,写成博客将最近的工作总结一下,希望有大佬看到这篇博客不吝赐教. 什么是non-iid 先从维基百科 ...

  7. 联邦学习中常见的Clients数据Non-IID非独立同分布总结

    联邦学习 写在前面 联合概率分布 联邦学习中客户端数据Non-IID分布的五种类型: 类型1:Feature distribution skew (convariate shift) 类型2:Labe ...

  8. 联邦学习中的数据异构性问题综述

    摘要 联邦学习中的数据异构性问题主要是由参与训练的各客户端的数据虽独立分布但不服从同一采样方法(Non-IID)所导致的,这一问题也导致模型精度的严重下降.如何缓解Non-IID带来的不利影响目前仍是 ...

  9. 013 Dealing with Label Quality Disparity in Federated Learning(联邦学习中标签质量差异的处理)

    方法:FOC 目的:解决联邦学习中标签质量差异的问题 结论:优于FedAvg 能有效识别带有噪声标签的参与者,降低噪声标签对联邦学习性能的影响 谷仓效应,亦称筒仓效应,指企业内部因缺少沟通,部门间各自 ...

最新文章

  1. Linq let Concat
  2. rhel7安装oracle11g 的配置和安装过程
  3. Apache开启Gzip压缩,LAMP网页压缩
  4. 将EditText的光标定位到字符的最后面
  5. “staticMetaObject”: 不是“****”的成员
  6. 搭建一个自己的SVN服务器
  7. 2021 音视频技术趋势不完全预测
  8. 《剑指offer》把数组排成最小的数
  9. redis集群添加master节点
  10. 火星浏览器_Facebook Libra 测试网区块浏览器上线,测试网已被重置2次
  11. mysql 分库分表 ~ ShardingSphere生态圈
  12. fastDFS 无法获取服务端连接资源:找不到可用的tracker
  13. 二项分布与伯努利试验的关系,看图说话
  14. unity怎么显示骨骼_Unity3D 骨骼动画原理学习笔记
  15. JavaScript形而上的单例模式
  16. 插件用法--视频播放video.js
  17. 防止amazon账号关联,你真需要注意的这些点
  18. 习题课3-1(动态规划)
  19. mac python2.7升级到3.7_Mac下python2.7 升级到3.7
  20. Java SE核心API(2) —— 正则表达式、Object、包装类

热门文章

  1. ADC 动态参数分析matlab code的几个问题(span,spanh取值问题,幅度比例因子的添加等)
  2. python3常用模块(chardet)
  3. BAT(百度、阿里、腾讯)语音合成、语音播报方案调研
  4. xmlspy wsdl方法
  5. java获取jsessionid后_jsessionid怎么产生
  6. 关于最优化工具箱cvx和优化工具箱optimization App/Toolbox的区别(MATLAB的使用技巧系列)
  7. 通信系统中的预编码方向技术综述
  8. VM_Ware虚拟机+CentOS 7 系统安装教程
  9. JavaScript 之封装方法(10种)
  10. Tulsimer®A-722MP降低COD值性能测试