NeurIPS 2023 | FedFed:特征蒸馏应对联邦学习中的数据异构

news2024/10/7 12:20:00

在本文中,我们提出了一种新的即插即用的联邦学习模块,FedFed,其能够以特征蒸馏的方式来解决联邦场景下的数据异构问题。FedFed首次探索了对数据中部分特征的提取与分享,大量的实验显示,FedFed能够显著地提升联邦学习在异构数据场景下的性能和收敛速度。

Image

论文名称:

FedFed: Feature Distillation against Data Heterogeneity in Federated Learning

论文链接:

https://arxiv.org/abs/2310.05077

代码链接:

https://github.com/visitworld123/FedFed

一、 引言

联邦学习(Federated Learning, FL)近年来引起学术界和工业界越来越多的关注,它旨在保护用户数据隐私的同时完成模型的训练。

然而,在联邦学习的场景中,由于各个联邦参与方(客户端)本身的差异(如地理位置,气候条件等客观因素的不同),导致不同客户端之间的训练数据分布可能存在较大差异,这会造成在不同客户端下训练的模型有一定的差异。进而,聚合这些有差异的模型会严重影响模型的性能。因此,如何在异构的数据分布下(也被称作non-IID)提升模型性能成为了联邦学习领域的研究重点内容。

性能-隐私困境: 为了解决异构给联邦学习带来的挑战,一项开创性工作FedAvg[1]提出在客户端本地训练模型,将本地模型传输至中心服务器,并且在中心服务器以加权聚合的方式得到全局模型。这种方法虽然解决了联邦学习中计算和通信上的多样性问题,但仍面临着由数据异构性带来的模型性能较差的问题。

现有一系列研究致力于缓解数据异构在联邦学习中带来的挑战。一些研究尝试在客户端之间共享数据信息来解决数据异构性问题,这种方法在提升联邦学习系统性能方面展现出了巨大潜力。虽然信息共享策略能够带来性能提升,但是也引入了一些隐私泄漏的风险,造成了联邦学习中的性能-隐私困境。

面对这个困境,我们提出了一个有趣的问题:能否通过共享数据中的极少部分信息的方式来解决数据异构问题?

二、 研究动机

问题1: 是否可以只共享数据中的部分信息就能很好地解决数据异构问题?

受到特征拆分的启发[2],我们尝试把数据中的特征分成两部分,即性能鲁棒特征(performance-robust features)和性能敏感特征(performance-sensitive features)。我们希望性能鲁棒特征包含数据中几乎所有的信息,同时包含极少量信息的性能敏感特征能使模型泛化良好。这样,我们便能够将数据中几乎所有信息都保存于本地,而只需要分享性能敏感特征。因此,若能将数据特征完美地划分为这两类特征,那么性能-隐私困境就可以被很好地解决。

问题2: 如何将数据划分为性能敏感特征和性能鲁棒特征?

问题1中的需求和信息瓶颈理论(Information Bottleneck, IB)存在一些天然的内在联系。理想情况下,信息瓶颈旨在剔除数据中的冗余信息并保留有助于完成正确预测的重要信息。那么,那些被信息瓶颈所丢掉的冗余信息便成为了我们无需共享的信息。因此,信息瓶颈启发我们尽可能多的“丢弃”冗余信息至本地,而仅发送极少量的信息用于解决数据异构问题。

问题3: 如果性能敏感特征中包含了隐私信息该怎么办?

一般来说,如果想使得共享的信息是有意义的,那其中不可避免的会包含一些信息量。因此,联邦学习中的信息共享策略难免会带来隐私泄露问题。幸运的是,我们可以利用差分隐私技术保护被分享的性能敏感特征,以极大程度上避免隐私的泄漏。

基于对上述三个问题的分析,我们提出了FedFed框架来解决联邦学习中的数据异构问题,首先我们定义了什么是性能敏感特征和性能鲁棒特征;随后从信息瓶颈的思想出发我们提出了蒸馏出数据中的敏感特征的方法,即特征蒸馏;最后我们对蒸馏出的敏感特征加入了强噪声以在理论的保证下完成隐私的保护。

三、 方法

3.1 性能敏感与性能鲁棒特征

3.2 特征蒸馏

图 1 本地特征蒸馏流程图

3.3 性能敏感特征的利用与保护

四、实验结果与分析

FedFed可以作为插件部署在现有联邦学习框架下,为了验证FedFed有效性,我们在四个广泛使用的数据集上进行了实验,并测试了不同客户端数量,不同non-IID程度,不同本地epoch次数以及几种主流的FL算法,包括FedAvg、FedProx、FedNova和SCAFFOLD。实验结果表明FedFed在提升模型性能和收敛速度具有显著效果。

Image
图 2 FedFed在CIFAR-10数据集下的收敛速度比较和准确率测试

Image

Image

Image

Image

在 CIFAR-10、CIFAR-100、FMNIST 和 SVHN 数据集上的实验结果分别在表 1、表 2、表 3和表 4中展示。可以看出,FedFed在各种实验设置下都能显著提高模型准确率。此外,FedFed 可以加快不同联邦学习算法的收敛速度。

不同异构划分方式:

除此之外,还对FedFed在不同non-IID划分方式下的结果进行了实验,表 5显示,其他两种异构划分方式导致的性能下降比 LDA (α=0.1) 更为严重。即使这种情况下,FedFed依旧显著地提高了模型的性能,表明其对异构划分方式的鲁棒性。

Image

隐私保护验证:

Image
图 3(a)全局分享被保护的性能敏感特征;(b)模型逆向攻击还原(a)中特征的结果

除了理论上的保证,我们还从实验的角度借助隐私攻击验证了FedFed对隐私的保护效果。我们采用了模型逆向攻击方法,该方法被广泛用于重构数据。图3中的结果表明,FedFed 能够保护全局共享的数据。

五、 结论与展望

我们重新思考了联邦学习中的信息共享策略的初衷,提出了分享数据中部分特征的信息共享策略,并将其设计为一个即插即用的模块。大量实验显示引入该模块能够有效地缓解数据异构性问题。我们期望能将特征蒸馏应用在联邦学习中的不同任务和不同场景下,为联邦学习在现实场景中的所遇到的各类复杂问题提供一个新的解决思路。

篇幅原因,我们在本文中忽略了诸多细节,更多细节可以在论文中找到。感谢阅读!

参考文献

[1] McMahan et al. Communication-efficient learning of deep networks from decentralized data. In AISTATS, 2017.

[2] Karimireddy et al. Scaffold: Stochastic controlled averaging for federated learning. In ICML, 2020.

[3] Zhang et al. CausalAdv: Adversarial Robustness Through the Lens of Causality. In ICLR, 2022.Illustration by IconScout Store from IconScout


  关于TechBeat人工智能社区

TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。

我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。

期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!

更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1150353.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java】多线程案例(单例模式,阻塞队列)

> :heart: Author: 老九☕️ 个人博客:老九的CSDN博客 🙏 个人名言:不可控之事 乐观面对 😍 系列专栏: 文章目录 实现安全版本的单例模式饿汉模式类和对象的概念类对象类的静态成员与实例成员 懒汉模…

【高效写作技巧】CSDN的原力等级有什么用?如何增长原力等级?

🎬 鸽芷咕:个人主页 🔥 个人专栏:《写作技巧》 《C嘎嘎干货基地》 ⛺️生活的理想,就是为了理想的生活! 📋 前言 🌈hello! 各位铁铁们大家好啊,这段时间接触了一些刚开始写作的新人…

RPA机器人与传统自动化解决方案的差异性

当前,数字化转型是大势所趋,不少企业在应用传统自动化改造时,由于受到资金、技术、冗杂的流程或者系统集成的限制,投入产出比不甚理想。随着新技术和自动化的升级发展,RPA数字员工为企业数字化转型提供了一套更加简单高…

公众号排版技巧有哪些方面?纯干货

一个精心排版的公众号,能够让读者在阅读过程中感受到舒适与愉悦,同时也能够帮助读者更好地理解文章内容,突出重点,提高阅读效率。 一个专业性的公众号,不仅要有深度的内容,也需要有专业的排版,…

GE IS420UCSBH1A 控制器模块

控制器模块是工业自动化和控制系统中的关键组件,用于监测、控制和管理各种工程过程。这些模块通常具有以下特点: 多通道控制: 控制器模块通常可以控制多个通道,允许同时管理多个设备或过程。 实时控制: 模块支持实时控…

不直播拍视频,一样可以变现,原来是做了这个!

我是电商珠珠 随着直播带货的流行,部分大学也开始紧随其后,相继增设网络营销与直播电商这项课程。 以上这些技能,部分人并不知道怎么搞,一是不想麻烦,没那么多时间精力,二是做不起来,自身没有那…

本地maven批量导入nexus maven仓库中

1、在本地的maven仓库中创建两个脚本 mavenimport.sh里边的内容是: #!/bin/bash # copy and run this script to the root of the repository directory containing files # this script attempts to exclude uploading itself explicitly so the script name is im…

frp内网穿透教程搭建0.52.3版本

网上很多关于frp的教程都是04 03版本的了,都是配置的ini文件,现在都改成toml文件了,下面基本上都是官方文档的简单copy,细节推荐打开去看中文版的文档介绍(地址放在最后了)。下面简单介绍几个 为什么使用 …

中文互联网正在死去,未来在哪

每次浏览网页的时候,发现优质内容越来越少,大部分的优质内容都是5年之前的。笔者认为2008-2015年是中文互联网最优质的阶段。 尤其是搞IT的,总去网上搜索一些技术难题或者技术文章,现如今发现越来越难,无论是csdn、cnb…

GE IS215VCMIH2CA IS200VCMIH2CAA涡轮燃机模块

涡轮焚机模块是一种用于航空、动力和产业运用的症结装备,具备独特的特征,以餍足高效力、低温、低压的歇息情况。以下是涡轮焚机模块的一些主要特征: 高效力: 涡轮焚机模块通常具备高效的能量变换才能,将焚料焚烧打消的…

上网行为管理软件有哪些丨功能图文超详细介绍

很多人都在后台问,上网行为管理软件到底是什么,有什么作用,今天就重点给大家讲解一下: 是什么 上网行为管理软件可以帮助企业规范员工的上网行为,提高办公效率,减少潜在威胁。 有哪些 在市面上&#xff…

双十一数码好物推荐,这几件入手绝对不吃灰

又到了一年一度的“双十一”购物狂欢季,大家是否已经找到心仪的物品呢?平时我们看中的某个商品,总是希望在最低价时购买,而毫无疑问,双十一是最佳的时机,毕竟各大电商平台都会推出丰富的优惠活动。为此&…

什么是接口测试?如何进行接口测试?

接口测试是一种常见的软件测试方法,用于测试软件系统中不同模块之间的接口。 接口是指两个或多个独立软件模块之间进行数据交换的地方。在软件系统中,不同的模块之间相互依赖和交互,这些模块通过接口来实现数据的传递和共享。因此&#xff0…

实用篇-Gateway网关

前面学的Nacos是对内负载均衡,现在学的Gateway网关是对外负载均衡和校验,不冲突 一、网关的作用 网关功能: 1、身份认证和权限校验 2、服务路由、负载均衡 3、请求限流 在SpringCloud中有两个组件可以实现网关,分别是gateway、zuul Zu…

SpringBoot相比于Spring的优点(自动配置和依赖管理)

自动配置 例子见真章 我们先看一下我们Spring整合Druid的过程,以及我们使用SpringBoot整合Druid的过程我们就知道我们SpringBoot的好处了。 Spring方式 Spring方式分为两种,第一种就是我们使用xml进行整合,第二种就是使用我们注解进行简化…

ansble

ansble概述 Ansible是一款自动化运维工具,基于Python开发,具有批量系统配置,批量程序部署, 批量运行命令等功能。 Ansible的很多模块在执行时都会先判断目标节点是否要执行任务,所以,可以放心大胆地让Ansible去执行任务&#xf…

汇编的各种指令(数据搬移、移位、位运算、算数、比较、跳转、特殊功能寄存器、单寄存器、多寄存器、栈指针指令)

1.汇编指令的格式 2.数据搬移指令---mov mvn 3.移位操作指令 4.位运算操作指令 5.算数运算操作指令 6.比较指令---cmp 7.跳转指令 例子: 8.特殊功能寄存器指令 内存操作指令 9.单寄存操作指令 10.多寄存操作指令 11.栈指针操作指令 例子: 保存现场&…

线程池是如何实现线程复用的?

线程池里面采用了生产者消费者的模式,来实现线程复用。生产者消费者模型,其实就是通过一个中间容器来解耦生产者和消费者的任务处理过程。 生产者不断生产任务保存到容器,消费者不断从容器中消费任务。在线程池里面,因为需要保证工…

gRPC初体验

一、gRPC简介 1、RPC是远程过程调用的简称,在分布式系统中,客户端可以像调用本地对象一样调用远程机器上服务端对象,用于系统的垂直拆分,常见的JAVA RPC框架有JAVA自带的RMI、基于Http的Hessian、阿里基于TCP的Dubbo、淘宝基于TC…

二叉树题目:路径总和 III

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题:路径总和 III 出处:437. 路径总和 III 难度 5 级 题目描述 要求 给你二叉树的根结点 root \textt…