去中心化联邦学习思想

news/2025/1/8 7:45:57/

去中心化联邦学习是一种保护用户隐私的分散式机器学习方法。与集中式联邦学习相比,去中心化联邦学习更加注重保护用户数据隐私,同时也更具有扩展性和健壮性。

在去中心化联邦学习中,每个设备都使用本地数据进行模型训练,并将模型更新发送给周围的邻居设备。这些邻居设备可以接受更新并根据其自身的本地数据进行模型训练。该过程反复执行多次,直到所有设备的模型达到收敛状态。

相较于其他的联邦学习方式,去中心化联邦学习不需要集中式服务器来协调设备之间的通信,因此极大地减少了通信开销和单点故障风险。

算法公式
假设有nnn个设备D1,D2,...,DnD_1, D_2, ..., D_nD1,D2,...,Dn共同参与联邦学习任务。我们的目标是学习一个全局模型θ\thetaθ,使得每个设备iii都能够使用本地数据进行模型推理。

在去中心化联邦学习中,首先每个设备都初始化一个本地模型θi\theta_iθi。每一轮迭代由以下步骤组成:

选择一个随机子集St⊆1,2,...,nS_t \subseteq {1,2,...,n}St1,2,...,n作为通信的设备组。
每个设备i∈Sti \in S_tiSt使用本地数据计算梯度∇θiJ(θi)\nabla_{\theta_i} J(\theta_i)θiJ(θi),其中J(θi)J(\theta_i)J(θi)是本地模型θi\theta_iθi的损失函数。
对于每个设备i∈Sti \in S_tiSt,将梯度∇θiJ(θi)\nabla_{\theta_i} J(\theta_i)θiJ(θi)发送给所有邻居设备j∈Nij \in N_ijNi,其中NiN_iNi表示设备iii的邻居设备集合。
对于每个设备iii,更新本地模型θi\theta_iθi,得到新模型θit+1=θit−η⋅1∣St∣∑j∈St∇θjJ(θj)\theta_i^{t+1} = \theta_i^t - \eta \cdot \frac{1}{|S_t|}\sum_{j \in S_t} \nabla_{\theta_j} J(\theta_j)θit+1=θitηSt1jStθjJ(θj),其中η\etaη是学习率。
直到所有设备的模型θ1t+1,θ2t+1,...,θnt+1{\theta_1^{t+1},\theta_2^{t+1},...,\theta_n^{t+1}}θ1t+1,θ2t+1,...,θnt+1均更新完毕,进入下一轮迭代。
在去中心化联邦学习中,每个设备只与其邻居设备通信,因此通信开销较小。此外,通过在每轮迭代中随机选择设备组进行通信,可以增加学习过程的随机性和稳定性。但是,由于每个设备的模型更新仅基于其邻居设备的信息,因此可能存在模型发散或不能收敛的问题。

去中心化联邦学习算法的主要优点是对用户隐私具有更好的保护,而且通常比集中式的联邦学习更具有可扩展性和健壮性。

这里提供一些关于去中心化联邦学习的参考资料:

《Communication-Efficient Learning of Deep Networks from Decentralized Data》

《Federated Learning: Strategies for Improving Communication Efficiency》

《Towards Federated Learning at Scale: System Design》

《Decentralized Federated Learning: A Segmented Gossip Approach》

《A Comprehensive Survey on Federated Learning》

《Federated Learning with Non-IID Data》

以上论文均对去中心化联邦学习进行了较为详细的研究和介绍,可以作为进一步了解该领域的参考。


http://www.ppmy.cn/news/34409.html

相关文章

算法训练营第五十九天|LeetCode647、516

题目连接:647. 回文子串 - 力扣(LeetCode)个人思路:dp数组的含义是:dp[i][j]:s字符串下标i到下标j的字串是否是一个回文串这里我出现了错误为什么出错呢?代码如下:class Solution {p…

Leetcode27. 移除元素

目录一、题目描述:二、解决思路和代码1. 解决思路2. 代码一、题目描述: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用…

ruoyi-cloud版本最新环境部署 - 详细步骤

项目地址: RuoYi-Cloud: 🎉 基于Spring Boot、Spring Cloud & Alibaba的分布式微服务架构权限管理系统,同时提供了 Vue3 的版本 1. 后端cloud版本环境搭建 jdk、mysql、maven、redis、nginx、nacos安装 安装redis(redis下…

Vue:路由管理模式

三种模式 Vue.js 的路由管理有三种模式: Hash 模式(默认):在 URL 中使用 # 符号来管理路由。例如,http://example.com/#/about。这个模式的好处是可以避免浏览器向服务器发送不必要的请求,并且不需要特殊…

深度学习:GPT1、GPT2、GPT-3

深度学习:GPT1、GPT2、GPT3的原理与模型代码解读GPT-1IntroductionFramework自监督学习微调ExperimentGPT-2IntroductionApproachConclusionGPT-3GPT-1 Introduction GPT-1(Generative Pre-training Transformer-1)是由OpenAI于2018年发布的…

Linux上用Samba建立共享文件夹并通过Linux测试

本文基于redhat 9 版本进行配置演示 一.Samba简介 二.samba挂载配置 1.服务端下载samba,samba-client,客户端下载cifs-utils 2.服务端 3.客户端 三.samba自动挂载配置 1.服务端配置不变,客户端下载autofs并开启 2.编辑配置文件 3.重…

全网最完整,接口测试总结彻底打通接口自动化大门,看这篇就够了......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 所谓接口&#xff0…

3月最新!AIGC公司生态地图;开发者实用ChatGPT工具清单;上手必会的SD绘图教程;字幕组全自动化流程大公开 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 『光年之外诚邀产品经理加入』古典产品经理的复兴! 光年之外创始人王慧文在社交平台发帖,公布联合创始人团队基…