联邦学习综述三

news2024/11/30 8:32:39

A Survey on Federated Learning Systems Vision Hype and Reality for Data Privacy and Protection

选自:IEEE Transactions on Knowledge and Data Engineering,2021

链接

本文主要从数据分布、机器学习模型、隐私机制、通信架构、联邦规模和联邦动机六个方面对联邦学习系统(FLSs)进行了全面的分类,通过系统的总结现有的联邦学习系统,提出了设计因素、给出了案例以及未来的研究方向。作者试图利用这些现有的Federated system中的两个性质:Heterogeneity和Autonomy,来从一个新的角度看待FL system。主要工作如下:

  • (1)调查第一个从系统的角度对FL进行全面分析的调查,包括系统组件、分类、摘要、设计和远景。
  • (2)从数据分布、机器学习模型、隐私机制、通信架构、联邦规模和联邦动机等6个方面对网络安全系统进行了全面的分类,可作为网络安全系统的共同构建模块和系统抽象。
  • (3)根据研究领域对已有的典型研究和最新研究进行了总结,便于研究人员和开发人员参考。
  • (4)提出了一个成功的FLS的设计因素,并全面审查了每个场景的解决方案。
  • (5)提出了未来FLSs的研究方向和挑战。

联邦学习系统(federated learning systems,FLSs)目标是在限制用户隐私的情况下,在不同组织之间进行协作式机器学习技术

Heterogeneity

  • 联邦学习的异质性指的是参与联邦学习的不同设备或实体之间存在的差异性。这种差异性可以从多个方面来理解:

    1. 数据分布的差异性:在联邦学习中,每个参与方(例如设备或实体)通常拥有自己特定的本地数据,这些数据可能来自不同的地理位置、不同的用户群体或不同的环境条件。这导致了参与方之间数据的分布差异,例如一种设备上的数据可能更倾向于特定的特征或类别。
    2. 计算能力和资源的差异性:不同的设备或实体可能具有不同的计算能力和资源水平。有些设备可能性能较好,可以处理大规模的模型训练和推理任务,而其他设备可能硬件条件有限,只能处理较小规模的任务。这导致了参与方之间在计算能力和资源方面的差异。
    3. 隐私和安全要求的差异性:在联邦学习中,参与方通常拥有自己的隐私和安全要求。由于不同的参与方有不同的隐私政策和约束条件,可能会限制对数据的共享或模型的访问。这导致了参与方之间隐私和安全要求的差异性。
  • 为了解决联邦学习的异质性,可以采取一些策略:

  1. 跨设备或实体的数据同构化:通过一些数据预处理技术,可以使不同参与方之间的数据更加同构,例如特征选择、数据标准化等。
  2. 联邦学习算法的调整和优化:针对异质性问题,可以使用一些算法技术来处理,例如联邦学习中的参数选择、模型聚合等策略,以使得参与方之间的差异性最小化。
  3. 联邦学习参与方的选择和分组:可以根据参与方的特点和限制条件,将其进行合理的分组,使得每个组内的参与方更加相似,减小异质性的影响。
  4. 跨设备或实体的知识转移:通过将模型的知识从一个参与方转移到另一个参与方,可以减小异质性带来的影响。例如,可以利用迁移学习的方法将一个参与方上训练好的模型参数应用于其他参与方的模型初始化,从而加速训练过程并减小异质性的影响。
  5. 异步联邦学习:在异质性较大的情况下,同步进行模型聚合可能会带来困难。此时,可以采用异步联邦学习的方式,允许参与方在自己的本地数据上独立进行训练和模型更新,减小异质性带来的同步问题。
  6. 个性化的模型和任务设置:考虑到参与方的异质性,可以根据每个参与方的特点和需求,定制个性化的学习模型和任务。例如,根据不同参与方的数据特征差异,可以为每个参与方设计特定的子模型,以更好地适应其本地数据分布。
  7. 联合优化和协同训练:在模型聚合过程中,可以采用联合优化的方式,充分考虑参与方之间的异质性。同时,可以通过协同训练的方式,充分挖掘参与方之间的互补性,从而提高整体模型性能。

Autonomy

  • 联邦学习的自治性指的是在联邦学习框架下,参与方(例如设备或实体)具有一定程度的自主性和自治性。这意味着每个参与方能够在一定程度上自主地决定参与联邦学习、模型训练和模型推理的方式。

    在联邦学习中的自治性表现在以下几个方面:

    1. 数据自治性:每个参与方保持对其本地数据的控制,可以自主地决定是否共享其数据。这使得联邦学习能够在保护个体隐私的同时,允许参与方控制自己的数据,并决定是否将其用于模型训练和推理。

    2. 模型自治性:每个参与方可以自主地选择和训练自己的模型。虽然联邦学习的目标是通过模型聚合来获得最终的联合模型,但是每个参与方可以根据自己的需求和特定情况选择适合自己的模型结构和训练策略。

    3. 参与自治性:每个参与方可以自主地选择是否参与联邦学习。这可以基于多种因素,包括计算资源、网络带宽、数据隐私和安全要求等。参与方有权决定是否将自己的设备或实体纳入联邦学习环境,并在一定程度上控制自己的参与程度。

    4. 效果自治性:每个参与方可以自主地根据自己的需求和目标评估和决策模型的效果。虽然联邦学习的目标是提升整体模型的性能,但每个参与方可以根据自己的指标和需求,评估并决策是否接受联邦学习所得模型的使用。

    5. 协商自治性:在联邦学习中,参与方之间可以通过协商和合作来共同决策有关联邦学习的规则和流程。这包括数据共享策略、模型聚合方式、训练轮数等。通过参与方之间的协商,可以确保联邦学习过程中的公平性和平衡性。

    6. 隐私自治性:参与方拥有保护自身数据隐私的权利和自治性。他们可以自主决定如何对本地数据进行隐私保护,例如采用差分隐私技术、加密手段或数据脱敏等。参与方之间需要遵守隐私协议和政策,确保数据隐私得到有效保护。

    7. 模型训练自治性:参与方可以自主决定模型的本地训练方式和优化策略。他们可以根据本地数据的特点和需求,自主选择训练算法、超参数设置和优化目标,以最大程度地提升本地模型性能。

    8. 资源管理自治性:参与方在联邦学习中可以自主管理和分配自身的计算资源、存储资源和带宽资源。他们可以根据自身需求和资源限制,灵活调整和优化资源分配策略,以实现高效的联邦学习过程。

    9. 模型权衡自治性:每个参与方可以自行权衡模型的复杂性和性能。他们可以根据计算和存储资源的限制,自主地选择模型的规模和复杂度,以平衡模型的性能和资源消耗。

    10. 算法选择自治性:参与方可以自主选择合适的联邦学习算法来适应自身需求。这包括基于梯度的方法、可微分的方法、优化解算法等。参与方可以根据自己的数据特点和计算能力选择适合的算法,以满足其特定的学习任务。

    11. 模型访问控制自治性:参与方对于其本地模型的访问有一定的自治权。他们可以自主决定允许其他参与方访问其模型的程度,包括读取、写入和执行。这样的控制权可以帮助实现联邦学习中的安全和隐私保护。

然后给出了联邦学习系统的定义,以及与传统联邦系统相比的优缺点,FDBSs(federated database systems)关注的是分布式数据的管理,FC(federated cloud)关注的是资源的调度,而FLSs更关注的是多方之间的安全计算

  • 在联邦学习系统中,多方协作训练机器学习模型,而不交换原始数据。系统的输出是每一方的机器学习模型(可以是相同的也可以是不同的)。一个实际的联邦学习系统具有以下约束:给定一个评估指标,例如测试精度,通过联邦学习学习的模型的性能应该优于具有相同模型体系结构的本地训练学习的模型。

    • 在这里插入图片描述
  • FLS系统组成

    • 各方(例如,客户端)、
    • 管理器(例如,服务器)
    • 用于训练机器学习模型的通信计算框架
  • 联邦学习框架

    • 在这里插入图片描述
  • 对现有的工作进行了分类总结,介绍了两个具体的application场景

    • 联邦学习系统分类

      根据不同的特征来区分分布式学习、跨设备联邦学习和跨竖井联邦学习,包括设置、数据分布、通信等。我们的分类法用于从部署视图区分不同的联邦学习系统,并且在中没有考虑机器学习模型和联邦动机等方面。

      • 在这里插入图片描述
  • Data Partitioning

  • 水平

  • 垂直

  • 混合

  • 机器学习模型

    • 神经网络
    • 决策树
    • 线性模型
  • Privacy Mechanisms

    一个FLS可以采用多种方法来增强隐私保障[64,205,86]。还有其他保护用户隐私的方法

    • 加密方法(同态加密,安全多方计算)
    • 差分隐私
    • 可信执行环境
    • 攻击可以来自FL过程的任何阶段,包括输入、学习过程和学习模型
      • 输入:恶意方可以对FL进行数据中毒攻击,例如,恶意方可以修改具有特定类的训练样本的标签,从而使最终模型在该类上表现不佳。
      • 学习过程:在学习过程中,各方可以进行模型投毒攻击,上传设计好的模型参数。与数据中毒攻击一样,由于中毒的本地更新,全局模型的准确性可能非常低。除了模型中毒攻击外,拜占庭故障也是分布式学习中的一个常见问题,其中各方可能表现得任意恶劣并上传随机更新。
      • 学习模型:如果学习到的模型被发布,则可以对其进行推理攻击。服务器可以从交换的模型参数中推断出训练数据的敏感信息。例如,隶属度推理攻击可以推断训练中是否使用了特定的数据记录。请注意,推理攻击也可能由FL管理器在学习过程中进行,FL管理器可以访问各方的本地更新。
  • Communication Architecture

    • 集中式设计
      • 在集中式设计中,数据流往往是不对称的,这意味着管理者将来自各方的信息(如本地模型)聚合起来,并将训练结果发回。全局模型上的参数更新总是在这个管理器中完成。管理者和本地各方之间的通信可以是同步的或异步的。
    • 分散式设计
      • 在去中心化设计中,各方之间进行通信,每一方都能够直接更新全局参数。
  • Scale of Federation

    • 跨筒仓FLSs
      • 在跨筒仓FLS中,各方是组织或数据中心。通常有相对较少的参与方,每个参与方都有相对大量的数据和计算能力。
    • 跨设备FLSs
      • 跨设备FLS中,各方的数量相对较多,每一方的数据量相对较少,计算能力也相对较弱。当事人通常是移动设备。
  • Motivation of Federation

    • 奖励机制
  • 总结现有的流行和最先进的研究工作

    • 现有的研究大多考虑水平数据划分
    • 大多数研究考虑在没有任何隐私保证的情况下交换原始模型参数。
    • 集中式设计是当前实现的主流。在它们的设置中需要一个可信的服务器。但是,可能很难找到受信任的服务器,特别是在跨竖井设置中。
    • 提高有效性、效率和隐私性是人工智能的主要研究方向(也是面临的主要挑战),这也是评价人工智能的三个重要指标。
  • 效率的改进

    • 如图对现有已发表研究的比较。LM表示线性模型。DM表示决策树。NN表示神经网络。CM表示加密方法。DP表示差分隐私。
    • 在这里插入图片描述
  • 应用

    • 边缘计算
    • 推荐系统
    • 自然语言处理
    • 交易欺诈检测
  • 基准测试框架

    • 分类
      • 通用基准系统旨在全面评估FLSs,并给出FLSs不同方面的详细特征;
      • 有针对性的基准测试针对集中在一个小领域的一个或多个方面,并试图在该领域优化系统的性能;
      • 数据集基准旨在为联邦学习提供专用数据集。
  • 开源系统

    • Federated AI Technology Enabler (FATE)。链接

    • 在这里插入图片描述

    • TensorFlow Federated (TFF)链接

      • 在这里插入图片描述
    • OpenMined PySyft链接

    • Baidu PaddleFL链接

    • FedML链接

    • 在这里插入图片描述

  • 框架对比

    • 在这里插入图片描述
  • System Design

    • 效率
      • 在这里插入图片描述
    • 隐私
    • 效力
  • Evaluation

    • (1)模型性能
    • (2)系统安全性
    • (3)系统效率
    • (4)系统鲁棒性
  • 案例

    • 移动服务
    • 医疗领域
    • 金融领域

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

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

相关文章

aps.net core 6.0 web API SwaggerUI IIS部署【23.10.15】亲测,通过

目录 一、aps.net core 6.0 web API 项目配置 创建项目设置 Swagger UI 为起始页发布项目二、在 IIS 部署 安装IIS安装 Hosting Bundle三、内网穿透 使用的是 VS2022社区版,WebAPI的版本是 .netcore6.0 一、aps.net core 6.0 web API 项目配置 1.创建项目 运行项目…

网络层哪些事?

在本文讲解的网络层中,注意了解一下:IP协议! 地址管理:每个网络上的设备,要能分配一个地址(唯一)路由选择:A给B发消息,具体走哪条路线?? IP地址&…

kube-controller-manager和kube-scheduler不能正常启动

kube-controller-manager-k8s-worker01和kube-scheduler-k8s-worker01没有启动起来 原因: 解决:进入/etc/kubernetes/manifests 编辑 将镜像地址修改为 然后重启kubelet:systemctl restart kubelet.service

JVM 垃圾回收机制(可达性分析、引用计数)

目录 1 什么是垃圾2 为什么需要回收3 哪些对象被判定为垃圾呢3.1 引用计数法3.2 可达性分析算法:GC Roots根 1 什么是垃圾 垃圾是指在运行程序中没有任何指针指向的对象,就是需要被回收的。 2 为什么需要回收 执行程序会不断地分配内存空间&#xff0c…

快速上手 vue3

快速上手 vue3 文章目录 1. 组合式 api2. 路由3. 定义全局方法和变量4. 父子组件调用 --> 自定义事件5. 生命周期函数6. 状态管理 vuex 1. 组合式 api setuprefreactivecomputed生命周期钩子 , onMounted … 2. 路由 安装路由: npm install vue-router 创建一个 router…

欠拟合、过拟合及优化:岭回归

问题:训练数据训练的很好啊,误差也不大,为什么在测试集上面有问题呢? 当算法在某个数据集当中出现这种情况,可能就出现了过拟合现象。 1、 什么是过拟合与欠拟合 欠拟合 过拟合 分析 第一种情况:因为机器学习到的天鹅特征太少了,导致区分标准太粗糙,不能准确识别出天鹅…

基于SSM的摄影约拍系统

基于SSM的摄影约拍系统的设计与实现 开发语言:Java数据库:MySQL技术:SpringSpringMVCMyBatisJSP工具:IDEA/Ecilpse、Navicat、Maven 【主要功能】 前台系统:首页拍摄作品展示、摄影师展示、模特展示、文章信息、交流论…

【Java学习之道】线程的生命周期与状态转换

引言 多线程编程是Java程序员必备的技能之一,它可以让我们的程序更加高效地运行。在学习多线程编程时,我们需要了解线程的生命周期和状态转换。本篇文章将为你揭示线程的奥秘,让你轻松掌握多线程编程的基础知识。 一、线程的生命周期 线程…

解码自然语言处理之 Transformers

自 2017 年推出以来,Transformer 已成为机器学习领域的一支重要力量,彻底改变了翻译和自动完成服务的功能。 最近,随着 OpenAI 的 ChatGPT、GPT-4 和 Meta 的 LLama 等大型语言模型的出现,Transformer 的受欢迎程度进一步飙升。这…

【LeetCode刷题(数据结构与算法)】:平衡二叉树

给定一个二叉树,判断它是否是高度平衡的二叉树 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 输入:root [3,9,20,null,null,15,7] 输出:true 输入:roo…

SpringMVC全注解开发

在学习过程中,框架给我们最大的作用,就是想让开发人员尽可能地只将精力放在具体业务功能的实现之上,而对于各种映射关系的配置,统统由框架来进行完成,由此,注解就很好的将映射功能进行实现,并且…

CentOS-7网卡重启后关闭的解决方法

第一步查找网卡: ip addr 如下图: 于是发现网卡eth0。 第二步进入网卡配置目录并进行配置: cd /etc/sysconfig/network-scriptsvim ifcfg-eth0 第三步改配置如下图: 然后每次重启后网卡会自动启动。

网络基础2(1)

HTTP 1.应用层协议2.send和recv单独使用不安全3.URL4.urlencode和urldecode5.HTTP协议格式6.HTTP中的常见请求方法POST&&GET7.HTTP的状态码8.HTTP常见Header 🌟🌟hello,各位读者大大们你们好呀🌟🌟 &#x1f6…

【算法|前缀和系列No.1】牛客网 DP34 【模板】前缀和

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【牛客网刷题】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希…

Opencv——颜色模型+通道分离与合并

视频加载/摄像头调用 VideoCapture允许一开始定义一个空的对象 VideoCapture video VideoCapture(const String &filename,int apiPreferenceCAP_ANY) filename:读取的视频文件或者图像序列名称 apiPreference:读取数据时设置的属性,例如编码格式、是否调用Op…

罗技鼠标接收器丢失或损坏后用另一个接收器配对的方法

本文介绍罗技鼠标在丢失、损坏其自身原有的接收器后,将另一个新的接收器与原有鼠标相互配对的方法。 在开始之前,大家需要首先查看两个内容:首先是原有的鼠标——大家需要查看自己的鼠标(罗技键盘也是同样的操作)底部&…

【动态规划】309. 买卖股票的最佳时机含冷冻期、 714. 买卖股票的最佳时机含手续费

提示:努力生活,开心、快乐的一天 文章目录 309. 买卖股票的最佳时机含冷冻期💡解题思路🤔遇到的问题💻代码实现🎯题目总结 714. 买卖股票的最佳时机含手续费💡解题思路🤔遇到的问题&…

MybatisPlus 从零开始 全面学习!

引入 本文以下将mybatisPlus简称为mp 首先注意: mybatisPlus不是mybatis 的替代品,而是增强mybatis的技术. 只做增强不做改变, 引入他不会对现有工程产生影响. 快速入门 基本步骤 以下为mapper例子: 要继承这个BaseMapper类, 并在泛型括号中 标注好要操作的类 public interf…

【题解】[NOIP2015]扫雷游戏(Java C++)

题目描述 见 P2670 [NOIP2015 普及组] 扫雷游戏 - 洛谷。 前置知识 无。 题目分析 只需要统计每一个格子周围 8 个格子的地雷数量即可。 重点是处理边界情况,比如左上角,有五个格子不在数组范围内,需要特殊处理。 为了避免思路混乱&a…

div盒子放在页面正中间,添加旋转动画的时候,盒子向右下偏移

一、问题代码(核心部分) //盒子定位在页面正中心 #spinner { position: absolute; left: 50%; top: 50%; border: #2ecc71 solid 1px; transform: translate(-50%, -50%); animation: rotate 5s linear 2s forwards; transform-origin: 50% 50%; } keyfr…