【FedCoin: A Peer-to-Peer Payment System for Federated Learning】

在这篇论文中,我们提出了FedCoin,一个基于区块链的点对点支付系统,专为联邦学习设计,以实现基于Shapley值的实际利润分配。在FedCoin系统中,区块链共识实体负责计算SV,并且新的区块是基于“Shapley证明”(PoSap)协议创建的。这与流行的比特币网络不同,在比特币网络中,共识实体通过解决无意义的难题来“挖矿”生成新区块。

FedCoin是首次尝试将区块链技术应用于联邦学习激励机制研究中的创新实践。这一举措为那些拥有计算资源但缺乏本地数据的实体提供了参与联邦学习的新机遇,使它们能够通过贡献计算资源获得相应的激励回报,进而推动整个联邦学习生态系统的健康发展。

在本工作中,我们的目标并非减少计算复杂度,而是建立一种机制,使得原本可能被浪费的分布式计算资源得以利用,协助联邦学习系统计算SV。

1.初步说明

每个样本 ( x i , y i ) (x_i,y_i) (xi,yi)
第i轮的模型参数记为: w i w_i wi
第t轮下的损失函数 F i ( w ) = ℓ ( x i , y i ; w t ) F_i(w)=\ell(x_i,y_i;w_t) Fi(w)=(xi,yi;wt)
第k个客户端有一个本地数据集 D k D_k Dk, n k = ∣ D k ∣ n_k=|D_k| nk=Dk表示第k个客户端拥有的数据量。
全局的数据集记为 D = { D 1 , . . . , D k } D=\{D_1,...,D_k\} D={D1,...,Dk} n = ∣ D ∣ = ∑ k = 1 K n k n=|D|=\sum^K_{k=1}n_k n=D=k=1Knk
目标的优化函数为 min ⁡ w ∈ R d F ( w ) = 1 n ∑ k = 1 K ∑ i ∈ D k F i ( w ) ( 1 ) \min_{w\in R^d}F(w)=\frac{1}{n}\sum^K_{k=1}\sum_{i\in D_k}F_i(w)\space(1) minwRdF(w)=n1k=1KiDkFi(w) (1)
这个优化问题通常通过基于随机梯度下降(SGD)的方法来解决。举例来说,基于当前模型wt,联邦平均算法计算客户端k上的平均梯度gt,
公式如下: g t k = 1 n k ∑ i ∈ D k ∇ F i ( w t ) g_t^k = \frac{1}{n_k} \sum_{i \in D_k} \nabla F_i(w_t) gtk=nk1iDkFi(wt)
然后,每个客户端使用该梯度来更新其本地模型,更新规则为:
w t + 1 k = w t − η g t k w_{t+1}^k = w_t - \eta g_t^k wt+1k=wtηgtk
最后,FL服务器将所有客户端的本地模型聚合成全局FL模型。聚合过程由聚合函数A完成,其形式如下:
w t + 1 = A ( { w t + 1 k ∣ k = 1 , … , K } ) w_{t+1} = A(\{ w_{t+1}^k | k = 1, \ldots, K \}) wt+1=A({wt+1kk=1,,K})

2.FedCoin

2.1 网络概述

在这里插入图片描述
在作者的系统中存在两个参与者网络:
1)联邦学习网络
2)点对点区块链网络
联邦学习模型请求者或联邦学习训练任务请求者指的是需要训练联邦学习网络并拥有预算V的实体。
客户端可以通过训练获得报酬和激励(TrainPrice)
聚合会产生一个聚合激励(ComPrice)
向区块链网络转移会产生一笔处理费(SapPrice)
总的花费应该 T r a i n P r i c e + C o m P r i c e + S a p P r i c e ≤ V TrainPrice+ComPrice+SapPrice \leq V TrainPrice+ComPrice+SapPriceV以维持支付平衡,而无需依赖将价值从外部转移至此系统。

服务器在每次全局更新之后,会向区块链发送一个任务,计算每个FL客户端的贡献。然后,区块链网络中的共识节点共同计算SV。获胜者获得奖励:TrainPrice+SapPrice。获胜者根据各自的SVs按比例将ComPrice分配给FL客户端,通过在区块链中创建交易来实现。

联邦学习网络和区块链网络之间靠一种特殊类型的任务产生联系,

一个特殊任务包括接收到的本地更新集合 W = { w k ∣ k = 1 , . . . , K } W = \{w_k|k = 1, . . . , K\} W={wkk=1,...,K},聚合函数 A A A,损失函数 F ( w ) F(w) F(w),以及每个更新轮次的SapPrice和TrainPrice的值。随着训练轮次的增加,SapPrice和TrainPrice会减少,并且用于训练的总付款可以平均分配或不平均分配给每一轮。

2.2 挖矿算法

挖矿算法如下
在这里插入图片描述
如何创建一个区块:
每当矿工接收到S和时间时,矿工计算所有收到的S的平均结果S(第16行)。然后,矿工计算自己的S与S之间的距离P。当距离不大于挖矿难度D时,矿工成为赢家并生成新的区块Blk(第18行)。
存在一些改进的空间,我觉得可以维持一个队列,只保存一段时间的产生的区块,因为刚开始计算出的S的稳定性不高,之后计算的结果会越来越接近于真实值

2.3 区块验证的算法

  1. 获胜者的 S t S_t St减去获胜者的 S t ‾ \overline {S_t} St平均的需要满足 ∣ ∣ S t − S t ‾ ∣ ∣ p < = D ||S_t-\overline{S_t}||_p <=D ∣∣StStp<=D
  2. 本机计算出的 S ‾ \overline S S需要满足 ∣ ∣ S ‾ − S t ‾ ∣ ∣ p < = D ||\overline S-\overline{S_t}||_p <=D ∣∣SStp<=D(我认为是防止winner机器作弊,同时防止本地机器偷懒)要求区块的S值应足够接近本地聚合S
  3. 当前区块ID应最大,以确保只有最长的链可接受。
    在这里插入图片描述

2.4 挖矿难度

挖掘新区块的难度水平可以动态调整:
影响难度更新的两个主要因素是:
1)矿工的总挖矿能力
2)生成区块的速度。在相同的挖矿能力下,随着区块生成速度的增加,难度级别应该降低。在相同的区块生成速度下,随着挖矿能力的增加,难度级别应该增加
3)(我编的:)是否应该考虑一下任务的总量

2.5 支付算法

在FedCoin系统中,一个FL模型请求者首先通过向FL服务器存入V个FedCoins来启动。V的价值不应大于请求者的FL模型的价值。为了在FL客户端、区块链矿工和FL服务器之间分配V,所有实体都应注册一个交易账户。

TrainPrice:支付给FL客户端;
ComPrice:支付给FL服务器用于处理模型聚合;
SapPrice:支付给区块链网络矿工用于计算每个客户端的Shapley值。

这种分配可以由预先约定的智能合约确定。例如,分配合约可以指定TrainPrice:ComPrice:SapPrice=7:1:2。那么,TrainPrice=0.7V,ComPrice=0.1V,而SapPrice=0.2V。
在这里插入图片描述

3. 实验结果

在这里插入图片描述
对于给定的数据集,高EMD值表示数据质量低。每个客户端类型的数据质量通过EMD来衡量,如表2所示。我们可以观察到,从T0到T9,数据质量呈线性递减。
在这里插入图片描述
随着质量等级从T1降至T9,Shapley值减小。此外,只有T0到T4类型的值为正,表明只有一半的客户端可以积极贡献于模型准确度的提升。这也表明我们的PoSap可以有效促进高质量数据在协作FL应用场景中的推广。对于T5到T9类型的负Shapley值意味着这些客户端可能会误导模型训练。

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

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

相关文章

如何通过vscode连接到wsl

下载wsl扩展 远程连接模式

天锐绿盾 || 公司文件数据加密系统,资料防泄密软件,国内专业数据安全系统——自动智能无感透明加密、防泄密管理系统

#天锐绿盾# 天锐绿盾是一款专为中国企业设计的数据防泄密系统&#xff0c;旨在为企业提供全方位的数据安全解决方案&#xff0c;特别关注对敏感信息和核心技术资料的保护。 www.drhchina.com PC地址&#xff1a; https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-9…

Oracle存数字精度问题number、binary_double、binary_float类型

--表1 score是number(10,5)类型 create table TEST1 (score number(10,5) ); --表2 score是binary_double类型 create table TEST2 (score binary_double ); --表3 score是binary_float类型 create table TEST3 (score binary_float );实验一&#xff1a;分别往三张表插入 小数…

苹果应用商店上架工具的最新趋势与未来发展展望

摘要 移动应用app上架是开发者关注的重要环节&#xff0c;但常常会面临审核不通过等问题。为帮助开发者顺利完成上架工作&#xff0c;各种辅助工具应运而生。本文探讨移动应用app上架原理、常见辅助工具功能及其作用&#xff0c;最终指出合理使用工具的重要性。 引言 移动应…

衢州常山县行政服务中心 | 55寸1x5弧形显示屏

项目产品&#xff1a;55寸OLED柔性屏 项目时间&#xff1a;2023年3月 项目地点&#xff1a;衢州常山县行政服务中心办公室 近日&#xff0c;衢州常山县行政服务中心成功完成了其办公室内的55寸1x5弧形显示屏的安装与调试工作。此次项目采用了先进的55寸OLED柔性屏&#xff0c;…

C++王牌结构hash:哈希表闭散列的实现与应用

一、哈希概念 顺序结构以及平衡树中&#xff0c;元素关键码与其存储位置之间没有对应的关系&#xff0c;因此在查找一个元素 时&#xff0c;必须要经过关键码的多次比较。顺序查找时间复杂度为O(N)&#xff0c;平衡树中为树的高度&#xff0c;即O(log n)&#xff0c;搜索的效率…

selenium实战之爬取虎牙直播列表页

文章目录 声明实现流程给你主播列表页面分析登录遮罩层处理解析直播列表的数据分页处理 完整的代码 声明 前面有了 selenium的基础&#xff0c;这里就拿虎牙直播页面来做一个实战测试&#xff0c;这是作为学习&#xff0c;测试使用&#xff0c;并不用作为商业用途&#xff0c;不…

【话题】AI大模型学习:理论、技术与应用探索

大家好&#xff0c;我是全栈小5&#xff0c;欢迎阅读小5的系列文章&#xff0c;这是《话题》系列文章 目录 背景1. AI大模型学习的基础理论1.1 机器学习1.2 深度学习 2. AI大模型学习的技术要点2.1 模型结构设计2.2 算法优化2.3 大规模数据处理 3. AI大模型学习的应用场景3.1 自…

为啥学霸反而很少被霸凌?

编辑搜图 请点击输入图片描述&#xff08;最多18字&#xff09; ​为什么学霸很少被霸凌&#xff1f; 在我们的学生时代&#xff0c;总有一些同学因为成绩优秀而被大家称为“学霸”。然而&#xff0c;你是否注意到&#xff0c;这些学霸同学往往很少成为霸凌的受害者&#xff…

广场舞团系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW&#xff0c;文末可获取本项目的所有资料。 推荐阅读100套最新项目持续更新中..... 2024年计算机毕业论文&#xff08;设计&#xff09;学生选题参考合集推荐收藏&#xff08;包含Springboot、jsp、ssmvue等技术项目合集&#xff09; 目录 1. 系…

数据可视化-ECharts Html项目实战(7)

在之前的文章中&#xff0c;我们学习了如何设置漏斗图、仪表盘。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点赞&#xff0c;谢谢 数据可视化-ECharts Html项目实战&#xff08;6…

Ubuntu通过分用户进行多版本jdk配置

前言&#xff1a;本文内容为实操记录&#xff0c;仅供参考&#xff01; linux安装jdk参考&#xff1a;http://t.csdnimg.cn/TeECj 出发点&#xff1a;最新的项目需要用jdk17来编译&#xff0c;就把服务器的jdk版本升级到了17&#xff0c;但是有一些软件例如nexus还需要jdk1.8进…

Vue挂载全局方法

简介&#xff1a;有时候&#xff0c;频繁调用的函数&#xff0c;我们需要把它挂载在全局的vue原型上&#xff0c;方便调用&#xff0c;具体怎么操作&#xff0c;这里来记录一下。 一、这里以本地存储的方法为例 var localStorage window.localStorage; const db {/** * 更新…

Rancher介绍

1.什么是Rancher Rancher是一套容器管理平台&#xff0c;专门用于部署和管理容器化应用。以下是关于Rancher的详细介绍&#xff1a; 容器编排与管理&#xff1a;Rancher是一个开源的企业级容器管理平台&#xff0c;它支持Kubernetes作为其容器编排引擎。Rancher可以帮助用户在…

【ARM】DS-5的使用单独编译器的激活方法

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 用于解决客户在使用DS5的license去激活单独的编译器的步骤。 2、 问题场景 客户在购买了DS-5的license之后&#xff0c;不采用IDE的开发方式&#xff0c;采用使用单独编译器的方式对于工程进行构建。激活出现问题&a…

swagger/knife4j 接口文档增加图标 springboot

1.在资源目录下增加图标文件 2.配置/favicon.ico 资源 Configuration public class WebConfig implements WebMvcConfigurer {Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/favicon.ico").addResour…

工业智能物联网关如何助力工业防震减灾

地震灾害难以预料&#xff0c;一旦发生往往就损失重大。对于工业领域而言&#xff0c;地震灾害的影响不仅仅是对人员安全的威胁&#xff0c;还包括对生产设施的破坏、生产进程的中断以及伴生的持续性经济损失。 随着5G、大数据、物联网技术的发展&#xff0c;面向工业领域构建一…

ventoy_grub2_boot_win7_win10.md

ventoy (grub2) 的 extMenu启动 win7 efi 、win10 efi ventoy界面按F6&#xff08;extMenu菜单&#xff09; 弹出 ventoy/ventoy_grub.cfg中的菜单内容 ventoy (grub2) 的 extMenu启动 win7 efi 1. 生成 老式 分区启动记录 EFI\Microsoft\Boot\bootmgfw.efi: 命令: bcdboot…

PowerBI加权计算权重

1.打开主页&#xff0c;点击快速度量值 2.计算里面 选择计算&#xff1a;每个类别的加权平均值 3.就是添加数据&#xff0c;基值&#xff08;就是你要计算的值&#xff09;粗细&#xff08;就是你要用那个值计算权重&#xff09;类别&#xff08;就是你是要乘以那个类别&#x…

苹果应用商店上架利器:推荐几款常用的应用发布工具

摘要 移动应用app上架是开发者关注的重要环节&#xff0c;但常常会面临审核不通过等问题。为帮助开发者顺利完成上架工作&#xff0c;各种辅助工具应运而生。本文探讨移动应用app上架原理、常见辅助工具功能及其作用&#xff0c;最终指出合理使用工具的重要性。 引言 移动应…