【论文阅读——Profit Allocation for Federated Learning】

1.摘要

由于更为严格的数据管理法规,如《通用数据保护条例》(GDPR),传统的机器学习服务生产模式正在转向联邦学习这一范式。联邦学习允许多个数据提供者在其本地保留数据的同时,协作训练一个共享模型。推动联邦学习实际应用的关键在于如何将联合模型产生的利润公平地分配给每个数据提供者。为了实现公平的利润分配,衡量每个数据提供者对联合模型贡献的度量标准至关重要。Shapley值是合作博弈论中的一项经典概念,用于分配所有玩家联盟所创造的整体盈余,并已被应用于机器学习服务中的数据估值。然而,先前基于Shapley值的数据估值方案要么不适用于联邦学习,要么涉及额外的模型训练,导致高昂的成本。

我们提出了一种新的基于Shapley值的指标——贡献指数,用于评估各个数据提供者对于通过联邦学习训练出的联合模型的贡献程度。贡献指数具备与Shapley值相同的属性。但是,直接计算贡献指数耗时较长,因为需要训练和评估大量包含不同数据集组合的联合模型。为解决这一问题,我们提出了两种基于梯度的方法。
这两种方法的核心思想是利用联邦学习训练过程中的中间结果来近似重建不同数据集组合上的模型,从而避免额外的训练。

第一种方法通过在联邦学习的不同轮次中更新初始全局模型的梯度来重构模型,随后根据这些重构模型的性能来计算贡献指数。

第二种方法则在每一轮中通过用当前轮次的梯度来更新前一轮的全局模型来计算贡献指数,然后将多轮的贡献指数按精心设计的权重累加起来得出最终结果。

2.贡献

  1. 基于Shapley值,我们正式定义了贡献指数(CI)这一概念,用于量化水平型联邦学习任务中数据提供者的贡献程度。
  2. 我们设计了两种高效的近似算法来计算CI,这些方法仅利用联邦学习过程中的中间结果,无需额外的模型训练步骤。
  3. 我们在不同设置下对MNIST数据集进行了广泛实验,以验证所提方法的有效性和效率。实验结果表明,我们的方法能够很好地逼近精确的CI值,并实现高达2倍至100倍的时间加速。

3.目标场景

在本文中,假设存在n个拥有数据集D1, D2, …, Dn的数据提供者,一个联邦学习算法A以及一个标准测试集T。

4.方法

4.1 Contribution Index(CI贡献指数)

  • 有n个数据提供者 D 1 , D 2 , . . . , D n D_1,D_2,...,D_n D1,D2,...,Dn,一个机器学习算法 A A A和一个标准的测试集 T T T
  • 我们用 D S D_S DS代表由联盟S组成的符合数据集。
  • 在数据集 D S D_S DS上训练得到的模型记为 M S ( A ) M_S(A) MS(A),在没有歧义的情况下可以记为 M S M_S MS
  • 模型 M M M在标准测试集 T T T上的表现记为 U ( M , T ) U(M,T) U(M,T),在没有歧义的情况下可以记为 U M U_M UM
  • 我们使用 ϕ ( A , D N , T , D i ) \phi(A,D_N,T,D_i) ϕ(A,DN,T,Di)来代表 D i D_i Di数据集的贡献指数

有如下计算公式(引理1)
ϕ i = C ∑ S ⊆ N ∖ { i } U ( M S ∪ { i } ) − U ( M S ) ( n − 1 ∣ S ∣ ) \phi_i=C\sum_{S\subseteq N \setminus \{i\}}\frac{U(M_{S\cup \{i\}})-U(M_S)}{\tbinom{n-1}{|S|}} ϕi=CSN{i}(Sn1)U(MS{i})U(MS)

4.2 一轮重构算法(OR)

在这里插入图片描述

在这里插入图片描述
具体来说,

  • 在2-3行中,我们使用N来表示{1, 2, ··· ,n}的集合,并使用相同的随机模型初始化全局模型 M ( 0 ) M^{(0)} M(0)和基于不同非空子集S⊆N的重构模型,表示为 { M ~ S ( 0 ) ∣ S ⊆ N } \{ \tilde{M}_S^{(0)} |S ⊆ N \} {M~S(0)SN}
  • 在4-12行中,在每一轮训练中
    • 服务器首先在第5行将初始模型 M ( t ) M^{(t)} M(t)传播给每个客户端,
    • 然后在第6行接收来自客户端的更新的子模型 M i ( t ) i = 1 , 2 , ⋅ ⋅ ⋅ , n {M^{(t)}_i}_{i=1,2,··· ,n} Mi(t)i=1,2,⋅⋅⋅,n
    • 在第7行,计算客户端的梯度 { Δ i ( t ) } i = 1 , 2 , ⋅ ⋅ ⋅ , n \{Δ^{(t)}_i\}_{i=1,2,··· ,n} {Δi(t)}i=1,2,⋅⋅⋅,n用于模型聚合。
    • 在第8行,我们更新由联邦学习维护的全局模型。
    • 在9-11行中,我们不重新训练所有N的非空子集的模型,而是根据客户端的梯度大致重构这些模型。对于每个S⊆N,
    • 在第10行,我们根据数据大小计算相应的梯度,
    • 并在第11行使用聚合梯度来更新相应的模型。
  • 在14-17行,计算不同客户端(数据提供者)的CI。
    • 具体来说,对于每个客户端i,在第10行重构的模型基础上使用引理1计算其CI。
    • 在第18行,返回训练好的联邦模型和CI。
  • 客户端的第二部分显示在19-25行,其中客户端根据从服务器接收的模型使用其自己的数据训练本地模型,遵循经典的梯度下降算法,并将其本地模型 M i ( t ) i = 1 , 2 , ⋅ ⋅ ⋅ , n {M^{(t)}_i}_{i=1,2,··· ,n} Mi(t)i=1,2,⋅⋅⋅,n。报告给服务器。

4.3 多轮重构算法(OR)

在这里插入图片描述
在这里插入图片描述
在MR中,我们不是一次性估计所有CI,而是在联邦学习的每个训练轮次中估计一组CI,并将它们聚合以获得最终结果。

在每一轮中,我们收集客户端向服务器更新的梯度。通过这些梯度,我们通过将梯度应用于当前轮次的全局模型来重构与数据集不同组合相关的模型。然后,根据引理1和每个重构模型的性能评估,计算不同数据提供者的CI。最后,利用来自不同训练轮次的这些CI集合,进行加权平均以获得最终结果。

我们使用参数λ∈(0,1)来表示衰减因子,控制最终结果中轮次CI的权重。其背后的思想是随着迭代轮次的增加,全局模型越来越多地受到所有数据集的共同影响。因此,我们给予前几轮更高的权重。

5.实验

5.1 数据集的设置

  1. 具有相同数据大小和相同分布。
  2. 具有相同数据大小但不同分布。
  3. 具有不同数据大小但相同分布。
  4. 具有相同数据大小但标签有噪声
  5. 具有相同数据大小但特征有噪声

5.2 方法的比较

  • Exact(准确算法)
  • 扩展TMC-Shapley算法
  • Extended-GTB
  • OR
  • MR

5.3 衡量的指标

  • 时间
  • 余弦距离
  • 欧几里得距离
  • 最大差异

5.4 实验结果

5.4.1 具有相同数据大小和相同分布

在这里插入图片描述

5.4.2 具有相同数据大小但不同分布

在这里插入图片描述

5.4.3 具有不同数据大小但相同分布

在这里插入图片描述

5.4.4 具有相同数据大小但标签有噪声

在这里插入图片描述

5.4.5 具有相同数据大小但特征有噪声

在这里插入图片描述

5.5 实验总结

根据上述实验,可以总结如下:
时间。Extended-TMC-Shapley 和 Extended-GTB 是耗时最长的。这两个基准算法在效率上相似。OR 和 MR 的耗时对不同设置具有鲁棒性,它们是最高效的。OR 要优于 MR。
性能。MR 的性能在所有设置中都是稳定且令人满意的。在大多数设置中,OR 在逼近精确 CI 方面表现最佳。然而,它对标签噪声敏感。Extended-TMC-Shapley 和 Extended-GTB 的性能最差。关于 Extended-GTB 的性能,我们做了一些简要的讨论。在解决 Extended-GTB 中的可行性问题时,我们发现一些不准确的约束可能会使问题无法解决。为了找到解决方案的实例,我们不得不重复放松所有不等式的约束,这会导致 CI 不准确。因此,需要专门设计的方法来解决 Extended-GTB 中的可行性问题。

6.思考

  • 在企业级联邦学习场景中,由于数据量通常非常大,额外的模型训练轮次成本非常高昂
  • OR没有指出数据提供方在中途加入/退出的问题,从指标上来看难以有吸引力。MR虽然可以支持各个参与方中途退出和加入,但对于贡献分配的公平性没有一个相对的概念评析。(举个例子来说:模型正确率从90上升到95,和95上升到98的贡献上来说,无法说明应该如何分配奖励)
  • 该论文中并没有对模型的梯度数据进行保护,可能会存在一定的隐私泄露风险

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

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

相关文章

山洪灾害防治监测报警系统方案

一、概述 我国是全球地区复杂程度最高的国家之一,多种气候和地形特征,特定的地质环境条件决定了我国地质灾害呈现增长和频发的态势。加之全球气候的变化使得我国极端、恶劣的天气在各地区发生的频率逐渐增高。据统计,在中国有1300多个乡镇&am…

交换机与路由器缓冲区:寻找完美大小

*本文系SDNLAB编译自瞻博网络技术专家兼高级工程总监Sharada Yeluri领英 在路由器和交换机中,缓冲区至关重要,可以防止网络拥塞期间的数据丢失。缓冲区到底要多大?这个问题在学术界和工业界一直备受争议。本文探讨了高端路由器中数据包缓冲的…

PSPICE、Multisim和Saber哪个更适合电路仿真?没想到是它

PSPICE、Multisim和Saber这三个软件都是非常流行的模拟电路仿真工具,它们各自有各自的优缺点,我简单讲一下: PSPICE: 优点: 精度高:PSPICE是专业的电路仿真软件,可以进行高精度的模拟电路仿真…

关于DNS解析那些事儿,了解DNS解析的基础知识

DNS,全称Domain Name System域名系统,是一个将域名和IP地址相互映射的一个分布于世界各地的分布式数据库,而DNS解析就是将域名转换为IP地址的过程,使人们可以轻松实现通过域名访问网站。DNS解析是网站建设非常关键的一步&#xff…

深度学习在三维点云处理与三维重建中的应用探索

目录 点云数据处理 数据清洗 数据降噪和简化 数据配准 特征提取 数据增强 数据组织 性能考量 PointNet PointNet ​编辑 算法问题 改进方法 三维重建 重建算法 架构模块 流程步骤 标记说明 优点和挑战 点云数据处理 数据清洗 去噪:点云数据通常…

数据结构—顺序表(如果想知道顺序表的全部基础知识点,那么只看这一篇就足够了!)

前言:学习完了C语言的基础知识点之后,我们就需要使用我们所学的知识来进一步对存储在内存中的数据进行操作,这时候我们就需要学习数据结构。而这篇文章为数据结构中顺序表的讲解。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以…

一、OpenCvSharp环境搭建

一、Visual Studio 创建新项目 二、选择Windows窗体应用(.NET Framework) 直接搜索模板:Windows窗体应用(.NET Framework) 记得是C#哈,别整成VB(Visual Basic)了 PS:若搜索搜不到,直接点击安装多个工具和…

MemoryAnalyzer分析OpenJ9上的phd格式文件

在做excel大数据写入时,发生内存泄漏 core.20240412.093703.1.0001.dmp heapdump.20240412.093703.1.0002.phd需要分析heap dump文件 mat本身不支持,需要我们下载插件 https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/runtimes/tools…

同等学力申硕-计算机专业-历年真题及其他资料分享

同等学力申请硕士学位考试是比较适合在职人员的提升学位方式,了解过的人应该都知道,现在社会的竞争压力越来越大,为了提高职业生存能力,提升学位在所难免。 我将与大家分享一份珍贵的复习资料:这不仅是我个人备考的心…

Docker Desktop修改镜像存储路径 Docker Desktop Start ... 卡死

1、CMD执行wsl -l -v --all 2、Clean / Purge data 3、导出wsl子系统镜像: wsl --export docker-desktop D:\docker\wsl\distro\docker-desktop.tar wsl --export docker-desktop-data D:\docker\wsl\data\docker-desktop-data.tar4、删除现有的wsl子系统: wsl -…

Springboot集成RabbitMq+延时队列

1. 引入jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> 2.配置yml 2.1 配置生产者yml spring:rabbitmq:host: localhostport: 5672virtual-host: …

主题换肤操作

有许多项目会遇见有light和dark多种颜色方案展示&#xff0c;如下&#xff1a; 这种是怎么实现的呢&#xff1f; 方案1&#xff1a;采用css变量来实现 /* 默认粉色主题 */ :root {--underline-dark: #000d8a;--gray-light: 229, 233, 240;--gray-dark: 34, 41, 57;--black: 1…

华为远程登陆管理配置:轻松掌握核心要点

实验拓扑及需求 实验步骤 A、配置相关地址及连通性测试 R1&#xff1a; [R1]int GigabitEthernet 0/0/0 [R1-GigabitEthernet0/0/0]ip address 192.168.12.1 24 R2&#xff1a; [R2]int gi 0/0/0 [R2-GigabitEthernet0/0/0]ip add 192.168.12.2 24 [R2]int gi 0/0/1 […

如何将对象转换成json字符串,以json格式输出,并获取到其中的特定字段

小王学习录 Json格式示例 1&#xff1a;简单的 JSON 对象示例 2&#xff1a;JSON 对象嵌套示例 3&#xff1a;JSON 数组示例 4&#xff1a;混合使用对象和数组 使用Gson将java对象转换成json字符串哪些数据类型的对象可以使用Gson转换为json字符串如何使用Gson将java对象转换成…

go语言学习--3.常用语句

目录 1.条件语句 1.1 if语句 1.2 if-else语句 1.3 switch语句 1.4 select语句 2.循环语句 2.1循环处理语句 2.2循环控制语句 3.go语言关键字 1.条件语句 和c语言类似&#xff0c;相关的条件语句如下表所示&#xff1a; 1.1 if语句 if 布尔表达式 {/* 在布尔表达式为 t…

小红的白色字符串

题目描述 小红拿到了一个字符串&#xff0c;她准备将一些字母变成白色&#xff0c;变成白色的字母看上去就和空格一样&#xff0c;这样字符串就变成了一些单词。 现在小红希望&#xff0c;每个单词都满足以下两种情况中的一种&#xff1a; 1.开头第一个大写&#xff0c;其余为…

echarts折线图自定义打点标记小工具

由于没研究明白echarts怎么用label和lableLine实现自定义打点标记&#xff0c;索性用markPoint把长方形压扁成线模拟了一番自定义打点标记&#xff0c;记录下来备用。&#xff08;markLine同理也能实现&#xff09; 实现代码如下&#xff1a; <!DOCTYPE html> <html…

C#基础--之数据类型

C#基础–之数据类型 在第一章我们了解了C#的输入、输出语句后&#xff0c;我这一节主要是介绍C#的基础知识&#xff0c;本节的内容也是后续章节的基础&#xff0c;好的开端等于成功的一半。在你阅读完本章后&#xff0c;你就有足够的C#知识编写简单的程序了。但还不能使用封装、…

电视盒子哪个好?2024口碑网络电视盒子排行榜

多年来电视盒子始终占据重要地位&#xff0c;功能上并没有受到影响。在这么多品牌中哪些电视盒子的评价是最好的呢&#xff1f;小编根据各大电商平台的用户评价情况整理了口碑最好的网络电视盒子排行榜&#xff0c;跟着小编一起看看市面上的电视盒子哪个好吧。 TOP 1&#xff1…

OpenHarmony 资源调度之内存管理源码分析

作者&#xff1a;张守忠 1 内存管理简介 内存管理部件位于全局资源调度管控子系统中&#xff0c;基于应用的生命周期状态&#xff0c;更新进程回收优先级列表&#xff0c;通过内存回收、查杀等手段管理系统内存&#xff0c;保障内存供给。 1.1 内存管理框架 内存管理部件主要…