联邦学习(Federated Learning):技术角度的理解

news/2024/5/20 22:48:11/文章来源:https://blog.csdn.net/weixin_45745854/article/details/127436888

联邦学习(Federated Learning):技术角度的理解 学习笔记

B站学习链接:https://www.bilibili.com/video/BV1YK4y1G7jw/?p=7&vd_source=7def3d3fc89c6921c7aeadf5e4023d35

1.背景与动机

例子 Example >>

问题:谷歌希望利用用户移动数据训练模型

可能的解决方案:集中化学习 Centralized Learning

  • 搜集用户数据
  • 在集群上训练用户模型

挑战:用户拒绝传递他们的数据,尤其是敏感数据,传递到谷歌的服务器上。

即:目前机器学习面临数据孤岛的问题。联邦学习针对这样的问题进行解决。

2.分布式机器学习与联邦学习

参数服务器

过程概述

​ 分布式机器学习中有一个编程模型叫做参数服务器(Parameter Server)。在该编程模型中,有一个Server和若干个Worker。Server和Worker之间可以通过message passing的方式进行通信,如下图:

image-20221020120028781

​ 使用该编程模型进行神经网络或者其他的训练时,worker的工作为计算的工作,Server端存储模型参数并且更新模型参数。训练最小二乘需要做梯度下降或者随机梯度下降,想要让算法收敛需要做很多轮梯度下降,每一轮需要做下面的几个工作:

  • Worker向Server端索要模型参数 -> Server将模型参数发送给Worker

    需要通信,通信复杂度是模型的参数数量

  • Worker根据获得的模型参数,在本地计算出模型的梯度或者随机梯度

    不需要通信,Worker只需要在本地进行计算即可

  • Worker将计算完的梯度发送给Server

    需要通信,通信的复杂度是模型的参数数量(梯度的维度和参数的维度是一样的)

  • Server利用收到的梯度对模型的参数进行更新

    如进行一次梯度下降或者随机梯度下降

​ 经过上述过程,一次迭代完成。

总结

在上述过程中,涉及到两次通信:

  • Server将模型参数发给Worker
  • Worker将计算完的梯度发送给Server

从计算量来看:

  • Worker端对梯度进行计算,计算量较大
  • Server端对参数进行更新,计算量较小

image-20221020165008587

假如使用这样的分布式机器学习的方式,将每个结点的数据在本机上训练,而不是发送到数据中心。这样用户的数据隐私问题能够得到解决。

联邦学习与分布式机器学习的比较

联邦学习是机器学习的一种。二者主要的区别有下面的几点:

  • 用户对自己的数据有绝对的控制权

    ​ 用户可以随时让自己的设备停止计算和通信。这就类似联邦的概念,每个联邦有很大的自治权。传统分布式机器学习Server对用户设备有绝对的控制权。

  • 设备不稳定

    进行联邦学习的worker往往是手机、ipad、智能家居等设备。

    • 设备的稳定性

      联邦学习的设备有可能有断联等问题:设备信号不稳定,断联,或者设备电量耗尽断联等。传统的分布式机器学习的设备往往是机房中的设备,通过高速的带宽相联,专人维护,非常稳定。

    • 设备的版本

      进行联邦学习的设备可能计算能力不同,譬如不同的手机机型等;但是进行分布式机器学习的设备一般算力相同。不同的计算能力可能造成一系列的问题。

    总之,联邦学习的设备不稳定,对分布式计算造成了困难。

  • 联邦学习的通信代价较大

    ​ 传统的分布式机器学习通过网线或者高速带宽连接,通信较快。进行联邦学习的设备与服务器的连接往往都是远程连接,甚至设备和服务器不在一个国家。带宽很低,网络延迟很高,发送几千万个模型参数不可能几毫秒完成。

  • 联邦学习的数据并非独立同分布

    ​ 联邦学习和参数服务器一样,都是数据并行(data parallelism)的方式。

    ​ 在传统分布式机器学习中,将数据在机器之间采取shuffle的方式,使得数据在各个结点上是满足独立同分布的条件的。这样有利于设计算法。

    但是每个设备的统计数据并不满足统计数据。很多减少通信量的方式不再适用。

  • 结点负载不平衡

    有的结点数据集大,有的结点数据集小。对建模造成一定的问题:

    • 给与每个样本一样的权重:那么模型会很大程度上取决于样本多的设备
    • 给与每个设备一样的权重:由于设备的使用时间不同,模型对重度使用用户不平衡。

    总之对建模、计算时间都会造成问题。

    传统的分布式ML都是要做负载均衡的,但是FL无法做负载均衡。

​ 故,虽然FL是一种分布式机器学习,但是FL有一些难点,FL有了可以研究的前景。特别是上述的不同点2和3,联邦学习的关键点在于减少通信的次数

3. 研究方向

通信效率 Communication-Efficiency

​ 联邦学习最重要的方向就是如何降低通信次数,哪怕让计算量提升很多,但是如果能减少通信次数,那么也是值得的。已经有了很多种算法去减少通信次数,这些算法的理念都一样:多做计算,少做通信。

image-20221020174226051

​ 基本想法:Worker得到参数后,在本地做很多计算,这样就可以得到比梯度更好的下降方向。Worker将该更好的下降方向传递给Server,Server用这个下降方向来更新参数。由于这个下降方向更好,所以比梯度下降更容易收敛,收敛的次数更少,从而Server和Worker之间的通信减少。

回顾:并行梯度下降

Worker端工作

​ 每一个Worker上有一部分数据,每一轮并行开始的时候,Server将数据发送给Worker结点。

​ 对于第iii个结点,在每一轮,做下面的工作:

  • 从Server收到模型的参数www
  • 使用www和它的本地数据去计算出梯度gig_igi
  • 把梯度gig_igi发送给Server
Server端工作

​ 对于Server端,做这样的工作:

  • mmm个worker收到梯度g1,...,gmg_1,...,g_mg1,...,gm

  • 计算g=g1+...+gmg = g_1+...+g_mg=g1+...+gm

  • 更新模型参数:w←w−α⋅gw\leftarrow w-\alpha·gwwαg

    其中α\alphaα是步长,或者称为学习率

​ 然后进行下一次迭代……直到算法收敛。

image-20221020213003492

Federated Averaging Algorithm

​ 与并行梯度下降不太一样,Federated Averaging Algorithm是一种通信高效算法,使用更少的通信次数就能达到收敛。

Worker端工作

​ 每一轮的开始和并行梯度下降一样:Server将数据发送给Worker结点。但是Worker结点的工作就与之前不一样了。

​ 对于worker的第iii次迭代:

  • 从Server收到模型的参数www

  • 重复下面的两个工作:

    • (a) 使用www和本地数据去计算梯度ggg
    • (b) 在本地进行更新:w←w−α⋅gw\leftarrow w-\alpha · gwwαg

    重复1~5个epoch即可。

  • wi~=w\tilde{w_i}=wwi~=w发送给Server

注意与上面的并行梯度下降进行比较

image-20221020215250196
Server端工作

​ 对于Server端,做这样的工作:

  • 从m个worker接收到w1~…wm~\tilde{w_1}\dots \tilde{w_m}w1~wm~
  • 更新模型的参数为:w←1m(w1~+...+wm~)w\leftarrow \frac{1}{m}(\tilde{w_1}+...+\tilde{w_m})wm1(w1~+...+wm~)

​ 由于模型更新参数使用的是平均值,所以该算法称作Federated Averaging Algorithm。下一轮迭代开始时,再将新的参数发送给各个Worker。

并行梯度下降 vs. 联邦平均算法

Communication-Loss曲线

​ 使用通信次数作为横轴,损失Loss作为纵轴,将并行梯度下降和联邦平均算法的Communication-Loss曲线绘制如下:

image-20221020220137766

​ 由上图实验结果可知:联邦平均学习(Federated averaging)实现了用更少的通信次数更快的收敛的效果。

Epoch-Loss曲线

​ 另一方面,使用epoch作为横轴,损失Loss作为纵轴,将并行梯度下降和联邦平均算法的Epoch-Loss曲线绘制如下:

image-20221020221035153

​ Epoch意为将数据扫一遍,故epoch的数量可以代表计算量的多少。

​ 由上图实验结果可知:联邦平均学习(Federated averaging)和并行梯度下降在使用了相同epoches的情况下,Loss值更大。即让Worker结点做相同的计算量,Federated Averaging的收敛比并行梯度下降要慢。

​ Federated Averaging减少了通信量,但是增加了计算量。即以牺牲计算量为代价,换取减少通信量。而在联邦学习中,计算代价较小,通信代价较高,所以Federated Averaging还是有效的。

隐私保护方向 Privacy

隐患:梯度反推数据

​ 无论是并行梯度下降还是federated averaging Algorithm,在Server和Worker之间传递的只有模型参数或者梯度,用户的隐私数据并不会传递。
在这里插入图片描述

​ 但是这样是否真的能够彻底保证用户隐私?事实上,用户的隐私数据可能会被间接地泄露出去:梯度或者随机梯度是本地的数据计算出来的,计算梯度时,本质是使用了一个函数,将用户的数据映射到了梯度。即梯度携带了数据的信息——梯度可以反推出数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j5bPhfaX-1666277438143)(https://cdn.jsdelivr.net/gh/Holmes233666/blogImage@main/img/image-20221020222606278.png)]

防御方式:保护方式

Differencial Privacy方式:向梯度中加入噪声

image-20221020223603164

存在问题:

  • 噪声过强:训练无法继续
  • 噪声过弱:还是能够从梯度反推数据

鲁棒性方向

拜占庭将军问题

image-20221020223827439

​ 故障结点会给其他结点发送错误信息。联邦学习也会存在拜占庭将军问题:若某一个结点故意将数据标签进行修改,那么传给Server的信息就是有害的,会对模型造成影响。

image-20221020224620104

​ 总结:很有必要研究响应的算法。攻击很有效,但是防御较困难。

4.总结

  • FL是分布式机器学习的一种。
  • 特点:结点间训练模型而不共享数据
  • 联邦学习的挑战:
    • 通信效率
    • 数据独立同分布
  • 研究方向
    • 通信效率
    • 隐私保护
    • 鲁棒性

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

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

相关文章

AES加密解密算法设计(C++)

目 录 1. 背景与意义 4 2. 系统设计 5 2.1系统主要目标 5 2.2主要软件需求(运行环境) 5 2.3功能模块与系统结构 6 3 系统功能程序设计 8 3.1基本要求部分 8 3.1.1 字节替换 8 3.1.2行移位 9 3.1.3列混合 11 3.1.4密钥加 13 3.1.5密钥扩展 14 …

神经网络训练多少次合适,神经网络训练时间多长

1、tensorflow 训练一个神经网络 需要多长时间 基本使用 使用 TensorFlow, 你必须明白 TensorFlow: 使用图 (graph) 来表示计算任务. 在被称之为 会话 (Session) 的上下文 (context) 中执行图. 使用 tensor 表示数据. 通过 变量 (Variable) 维护状态. 使用 feed 和 fetch 可以…

【附源码】计算机毕业设计SSM实验室设备明细管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【自监督论文阅读笔记】Simmim: A simple framework formasked image modeling

本文介绍了 SimMIM,这是一个用于 掩码图像建模 的简单框架。本文简化了最近提出的相关方法,无需特殊设计,例如通过离散 VAE 或聚类 进行 block-wise 分块级的掩码 和 tokenization。为了研究 是什么让掩码图像建模任务学习良好的表示&#xf…

nginx----(1)nginx的单机安装

文章目录Nginx卸载开源版Nginx安装默认简单安装Nginx的源码复杂安装防火墙问题nginx启停安装成系统服务Nginx卸载 步骤一:需要将nginx的进程关闭 ./nginx -s stop步骤二:将安装的nginx进行删除 rm -rf /usr/local/nginx步骤三:将安装包之前编译的环境清除掉 mak…

opc client 客户端软件测试工具

一、概述: 本软件一款OPC客户端测试工具,使用本软件连接到OPC server服务端,获取server数据,简单好上手,软件也很小巧,操作便利,也是绿色软件,免安装。 二、软件基础环境保证&#x…

期货交易结算信息(期货结算系统)

期货中的结算价是怎么计算出来的? 最近常有新手投资者问:为什么期货账户收盘时年持仓是盈利的,怎么当天结算单上却是亏损的? 之所以会有这个疑问,是因为投资者没有明白期货收盘价、结算价、成交价三者之间的关系。今天…

dockerfile编写构建镜像

文章目录一、dockerfile1、什么是dockerfile2、原理二、docker镜像的创建1、创建镜像的三种方法①基于已有镜像创建②基于本地模板创建③基于dockerfile创建三、镜像分层的原理1、docker镜像结构的分层2、bootfs内核空间3、rootfs内核空间4、AUFS与overlay/overlay2overlay结构…

【ViT 微调时关于position embedding如何插值(interpolate)的详解】

目录1. 问题描述2. positional embedding如何interpolate3. 输入的sequence length改变了ViT还能正常前向推断?本文适合对Vision Transformer有一定了解(知道内部结构和一些实现细节,最好是精读过ViT这篇论文)的读者阅读&#xff…

八种可以简单判断否属于过敏体质的表现,符合四条就是了

最早感知春天的不是鸭子,而是过敏的人,最近门诊荨麻疹的人数逐渐增多。近20年来,随着过敏性鼻炎、湿疹、荨麻疹和哮喘的发病率越来越高,过敏体质开始越来越出名。在西医中,容易患上这种过敏性疾病的人被称为过敏体质。…

JVM(九) —— 运行时数据区之堆的详细介绍(四)

JVM(九)—— 运行时数据区之堆的详细介绍(四)TLAB堆空间常用的参数设置HandlePromotionFailure逃逸分析和栈上分配代码优化栈上分配同步省略分离对象或标量替换TLAB 堆区是线程共享区域,任何线程都乐意访问到堆区的共…

智能钢琴-第12届蓝桥杯Scratch省赛1真题第4题

[导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第52讲。 第12届蓝桥杯青少年组省赛分两次进行,这是2020年10月19日举行的第一次省赛考试初级组,形式为在线考试。Scratch分为初级组和…

java实验报告3:数组和字符串案例练习

目录 内容 利用随机1~9整数生成3*3的二维数组,使二维数组每行,每列、以及斜线上的数字之和均为15,并输出这个二维数组 按自然数从小到大的标准为顺序,对以下数组求其逆序数,并列出逆序对: 实验小结 一、…

眼科考研院校排名及考研难度分析

眼科考研院校排名及考研难度分析 文章目录眼科考研院校排名及考研难度分析基础信息专业介绍学科范围和课程眼科学专业研究方向考研分析学校排名分数线学校推荐就业方向学习材料参考链接基础信息 专业介绍 眼科学(学科代码:100212)是临床医学…

Aptos 域名服务 (ANS) 上线主网

我们很高兴正式推出 Aptos 名称服务 (ANS)。我们正在通过使用 Aptos 构建一流的区块链体验来铺平道路,这就是我们在第一天推出域名服务的原因。 ANS 现在允许所有 Aptos 用户使用人类可读的 .apt 域名作为他们的 Aptos 钱包地址,而不是他们的公钥。 我们…

美化mac系统自带的Terminal.app工具

命令行工具对于开发人员来说,使用还是比较频繁的,但是mac自带Terminal.app工具的样式和功能实在一言难尽. 默认的样式 美化后的样式 下面为大家介绍如何操作. 我们使用的是oh-my-zsh 项目地址 我喜欢自己去安装, 不使用自动化脚本, 这样可以记录修改了哪些文件, 安装的文件…

黑盒测试-场景法

黑盒测试-场景法 1.场景法 1.1简介 1.简介:软件系统要想获得用户的认可,必须站在用户的角度, 以用户的使用逻辑及操作习惯为出发点,设计测试用例时 考虑用户使用软件的流程。然后,依据这些流程设计用例 设计才能更贴…

Day09-尚品汇-购物车静态组件与修改

一:把购物车成功页面的两个按钮完善一下(第一个) 1.在AddCartSuccess组件里面: 1.的后续 1》点这个 2》跳转会购物车的页面 二:把购物车成功页面的两个按钮完善一下(第二个) 1.先在文档里面找到…

供应氨基-PEG-多巴胺,NH2-PEG-Dopamine,Amine-PEG-DOPA

1:描述 NH2-PEG-Dopamine,Amine-PEG-DOPA(氨基-聚乙二醇-多巴胺),试剂所属分类为Amine PEG Dopamine PEG,质量控制为95%,该试剂应于 -20℃长期保存,暗黑,干燥处保存。 …

论文笔记:Pre-training to Match for Unified Low-shot Relation Extraction

论文来源:ACL 2022 论文地址:https://aclanthology.org/2022.acl-long.397.pdf 论文代码:https://github.com/fc-liu/MCMN 目录 Abstract Introduction Multi-Choice Matching Networks Multi-choice Prompt Instance Encoder Multi…