文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

GitHub突破1000星!上交、清华开源个性化联邦学习算法库PFLlib

2024-11-30 00:03

关注

51CTO AI.x社区

https://www.51cto.com/aigc/

我们在 GitHub 上开源了一个个性化联邦学习算法仓库(PFLlib),目前已经获得 1K+ 个 Star 和 200+ 个 Fork,在业内收到了广泛的好评。PFLlib 囊括了 34 个联邦学习算法(其中包含 27 个个性化联邦学习算法)、3 大类数据异质场景、20 个数据集。

开源该仓库的主要目的是:1)降低初学者研究个性化联邦学习算法的门槛;2)提供一个统一的实验环境,在多种场景和多个方面对不同个性化联邦学习算法进行评估,为个性化联邦学习算法在具体场景中应用时的选择提供参考;3)为个性化联邦学习算法的研究者们提供一个可以交流的平台,在交流的过程中互相学习,碰撞出新的火花。

▲ GitHub Star 的增长曲线

论文

PFLlib: Personalized Federated Learning Algorithm Library

论文链接:

https://arxiv.org/abs/2312.04992

代码链接:

https://github.com/TsingZ0/PFLlib

01 个性化联邦学习(PFL)

联邦学习(FL)作为一种新型的分布式机器学习范式,它主要用于训练人工智能(AI)模型。除了传统分布式机器学习的跨设备协同训练 AI 模型的特点之外,联邦学习的特殊性主要体现在保护每个设备上数据隐私的能力。

联邦学习实现隐私保护的主要方式是:禁止具有隐私性的数据离开产生该数据的设备。这种限制使得这些设备上的本地数据无法通过传统分布式机器学习中的数据采集、数据清洗、数据分片等操作,来实现每个设备上数据的一致性。

由于不同设备所处环境的不同,使得它们各自产生数据、采集数据、处理数据的方式不尽相同。于是,便产生了各个设备之间的数据异质问题,如图 1。在异质的数据上学习得到的本地模型,通过服务器进行了模型参数聚合后生成的全局模型会有表现不佳等问题。

▲ 图1:联邦学习及数据异质问题。

为了应对联邦学习中的数据异质问题,研究者们开始探索在设备参与到联邦学习系统里进行协同训练、聚合得到全局模型的同时,为自己学习适配本地任务的个性化模型的新型联邦学习算法。这类算法被人们称为“个性化联邦学习算法”。

在个性化联邦学习的范畴中,生成全局模型不再是最终的目的,而以全局模型为知识共享的载体、用全局模型中蕴含的全局信息来提升本地模型效果才是最终的目标,如图 2 所示。

在个性化联邦学习框架之下,每个参与者通过联邦学习过程实现协作,用聚合得到的全局信息弥补了本地数据不足的问题;且每个参与者为自己本地任务训练得到的个性化模型利好参与者自身,无形中激励了各个设备参与联邦学习的热情。

▲ 图2:个性化联邦学习。

02 PFLlib 简介

2021 年伊始,本人在探索个性化联邦学习算法的过程中发现,由于不同论文的实验设置(如数据集、模型结构、数据异质种类、客户机数量、超参数设定等)不同,导致论文中的大部分实验数据不能复用。同时,有相当一部分的论文,其代码并不开源,使得我们无法通过在新场景下运行代码来获得实验数据。

此外,在 PFL 领域逐渐火热起来后,对比实验往往需要比较十几个相关方法,即使每个方法有自己的开源代码,为这些具有不同风格、结构、规范的代码进行新实验设置的适配需要花费大量的精力和时间,使得刚入门 PFL 的研究者无法关注在 PFL 本身的研究上。

当时,我在探索后来发表在 AAAI 2023 的 FedALA [1](PFLlib 包含该算法)过程中,感觉自己写的用来进行对比实验的代码框架相对简单易懂。出于开源精神,我便对其进行了开源。之后,随着我在 PFL 领域逐步深入,越来越多的PFL方法出现,我后续也持续地加入了不少算法,才有了如今的规模。

▲ 图3:PFLlib 中实现 FedAvg 的例子。

总的来说,PFLlib 拥有以下几个特性:

03 34个联邦学习算法

根据联邦学习算法中用到的技术,我们对 34 个 PFL 算法进行了分类,具体分类结果见表 1。

▲ 表1:PFLlib 中联邦学习算法的分类。

04 3个场景和20个数据集

联邦学习的数据异质场景主要分为四大类:不平衡性(unbalance)、标签倾斜(label skew)、特征漂移(feature shift)、真实世界(real-world)

其中不平衡性指的是不同设备上数据量不同;标签倾斜主要指的是不同设备上的数据特征相似但类别(标签)不同;特征漂移则与标签倾斜恰好相反,指的是不同设备上的数据标签相同但特征不同;真实世界指的是不同设备上的数据是真实采集到的,可能同时包含以上三种情况。

由于不平衡性与标签倾斜和特征漂移都不冲突,PFLlib 将不平衡性融入了标签倾斜和特征漂移之中。

PFLlib 为标签倾斜(含不平衡性)、特征漂移(含不平衡性)、真实世界三个场景分别提供了适用于各自场景的数据集。

标签倾斜:该场景是在联邦学习领域探索的最多的场景,也是现实情况下最容易遇到的场景。该场景进一步还分为病态的非独立同分布(pathological non-IID)和真实的非独立同分布(practical non-IID)两个子场景。

总共有 14 个数据集用于标签倾斜场景:MNIST、EMNIST、Fashion-MNIST、Cifar10、Cifar100、AG News、Sogou News、Tiny-ImageNet、Country211、Flowers102、GTSRB、Shakespeare、Stanford Cars。它们都支持以上两个子场景。

特征漂移:在这个场景中,PFLlib 主要采用了 3 个数据集,分别是:Amazon Review、Digit5、DomainNet

真实世界:PFLlib 采用的是 IoT(Internet of Things)数据集,它们分别是:Omniglot(20 个设备, 50 个标签)、HAR(Human Activity Recognition)(30 个设备, 6 个标签)、PAMAP2(9 个设备,12 个标签)。

每个数据集中含有多个子数据集,每个子数据集是从某个具体的设备(例如传感器、陀螺仪等)上采集得到的真实数据。这类数据集有利于 PFL 算法在实际场景落地问题的研究。正如 GPFL [4](PFLlib 包含该算法)中的实验表明,在模拟场景(标签倾斜和特征漂移等)表现较好的算法,在真实世界场景中不一定具有良好表现。

05 部分实验结果

出于验证 PFLlib 中附带实验平台的可用性,根据 GPFL 中的默认实验设置,我们对部分算法在部分常见场景中的表现进行了展示,如下表所示(实验结果仅供参考)。

▲ 表2:PFLlib 中部分联邦学习算法在部分场景中测试集上的分类准确率。

最后,感谢大家对 PFLlib 项目的支持,也欢迎刚了解到 PFLlib 的朋友们一起参与到 PFLlib 项目的建设中来!

想了解更多AIGC的内容,请访问:

51CTO AI.x社区

https://www.51cto.com/aigc/

来源:PaperWeekly内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯