FedViT:边缘视觉转换器的联邦持续学习

FedViT: Federated continual learning of vision transformer at edge
(北京理工大学-2023年发表于《Future Generation Computer Systems》中科院二区)
highlight:

•提出一种轻量级的客户端联合持续学习方法。
•通过将签名任务的知识整合到客户端上,防止灾难性遗忘。
•减少负面知识转移,无需频繁与服务器通信。
•理论上保证了我们方法更快的训练收敛。
•适用于多任务、多客户端、多ViT的场景。

一.Introduction

background:随着客户端环境的不断变化,需要DNN模型重新训练并适应这些变化。例如图中ViT,需要随着时间的推移处理一系列任务。通常,一个任务由多个类别/对象和每个类别的不同特征组成。

联邦持续学习(FCL)它从由不同任务组成的非平稳数据中增量学习深度模型。FCL在从其他客户端的(间接)经验中学习的直觉的驱动下,将持续学习结合在联邦学习框架中,使客户端中的模型可以不断地从其本地数据和其他客户端的任务知识中学习。

主要问题是灾难性遗忘:当其模型随着时间的推移学习新任务时,它可能会忘记以前学习的任务信息,并且这些任务中的模型准确性会降低。(例:一旦客户端1中的模型完成其初始任务(即任务(1))的训练,其参数收敛到任务损失区域的最优点,产生86%的准确率。然而,当随后适应第二个任务(即使用相同模型的任务(2))时,由于两个任务之间的相关性有限,参数逐渐偏离任务1的最优点,并逐渐接近任务2的最佳状态。因此,尽管在任务 2 上达到了 83% 的准确率,但模型对任务 1 的分类准确率却大幅下降至 54%,这体现了对前一个任务的灾难性遗忘现象。)

当客户端的模型与联邦学习中来自其他客户端的模型聚合时,这种差异带来了重大挑战。其他客户端模型中的不同知识可能会降低模型在其专用本地数据上的性能。这种从全局模型中转移不相关知识的有害转移被称为负向知识转移

ViT对数据分布漂移表现出很强的鲁棒性,这是持续学习和联邦学习面临的关键问题。此外,ViT高度依赖训练数据,例如数据量和数据多样性。在FCL中,随着任务数量的增加,它自然会向ViT提供这些数据资源。

ViT在边缘持续联邦学习中的挑战

边缘计算是为了降低与云服务器的通信成本,并通过设备上的数据处理增强数据隐私;模型训练中的计算和通信成本随着任务和客户端的数量而增加,并且在资源受限的边缘设备上进行这种昂贵的训练会带来两个技术挑战。

1.有限的计算资源导致显著的精度损失。因此,第一个挑战是设计一种轻量级的学习方法,可以直接在资源受限的边缘设备上保留大量的历史知识并缩短模型训练时间。

2.防止负面知识转移会导致高通信成本和隐私泄露。第二个挑战是如何开发一种分布式方法,可以防止负面的知识转移,而不增加客户之间的额外通信。

在这里插入图片描述
图. 联邦持续学习的示例场景 n 客户

二、方法

总结:FedViT是一种轻量级的客户端解决方案,它集成了包含相关过去和对等任务的签名任务的知识。FedViT 在每个客户端中发挥作用,并提取紧凑且可转移的知识——重要的数据样本。在学习一项新任务时,FedViT 将其与其签名任务的知识相结合,这些任务是从本地过去的任务中识别出新任务中最不同的任务,以防止灾难性遗忘,以及代表其他客户端当前任务的更新全局模型,以防止负面知识转移。通过完成具有多项式时间复杂度的知识集成,FedViT 通过提供高模型精度和边缘低通信开销来解决现有技术的局限性。

1.通过对签名任务的了解提供可扩展的客户端解决方案。

2.通过梯度积分进行高精度模型训练。

在这里插入图片描述

主要分为三个部分:知识提取器、梯度恢复器、梯度积分器
在这里插入图片描述
图 FedViT的流程和设计目的
在这里插入图片描述

三、实验:

测试平台:Jetson TX2 8 GB; Jetson Nano 4 GB; Jetson Xavier NX 16 GB; Jetson AGX 32 GB

数据集:CIFAR100、FC100、COR50、MiniImageNet、TiniImageNet;分为多个任务,每个任务有多个类别;并随机分配为Non-IID,数据间差异较大

对比基线模型:

  1. 持续学习方法:gradient episodic memory (GEM)、Balanced Continual Learning (BCN)、Balanced Continual Learning (BCN)、Memory aware synapses(MAS)、Dytox、LVT
  2. 联邦学习方法:FedAvg、APFL、FedRep
  3. 联邦持续学习方法:FedWEIT、FedKNOW

评价指标:平均准确率 (Average Accuracy)、遗忘率 (Forgetting Rate)、通信成本 (Communication Cost)、计算成本 (Computation Cost)、存储开销 (Memory Storage)

对比试验:

不同FCL下精度评估:在不同数据集上,测试了不同类型模型的准确度(灾难性遗忘和负面知识转移);此外还评估了异构边缘设备上FedViT的准确率

通信成本评估:

将FedViT和FedWEIT进行对比,在不同数据集上,FedViT在执行相同模型训练任务时需要更少的通信成本;

在不同网络带宽下,FedViT的通信时间始终更少。

客户端和任务数量讨论:

任务数:将TinyImageNet(200类)构建为多任务数据集,50个任务,每个任务4类;为了保证每个任务的数据异构性,将数据集划分为 10 个客户端,每个客户端最多包含 2 类数据样本。 测试不同任务下,对比模型的精度。

客户端数:50个和100个客户端比较准确率和遗忘率。

综上所述,FedViT 利用少量高质量样本作为旧任务知识,使其即使在训练样本极其有限的场景下也能准确恢复旧任务知识。此外,基于梯度积分的知识恢复器有效解决了客户端或任务数量不断增加导致的严重负向知识转移问题,使其成为实际联邦学习应用的潜在候选者。

不同ViT模型的适用性

测试了5种共8个ViT模型,随任务数增加精度的变化,结果表明在8种模型下,FedViT框架都取得了最好的精度。还对比了不同客户端采样率下的比较不同知识存储速率下的比较;以及图像分辨率的影响

超参数的影响

知识存储率的影响 ;所选渐变数量的影响

结论:

FedViT是一个专为分布式边缘设备上基于Transformer的计算机视觉模型而设计的框架。FedViT 在三个方面进行创新,以应对边缘联合持续学习的关键挑战。首先,基于样本的轻量级知识提取减少了设备开销,同时保留了关键的过去任务信息,提高了约束下的持续学习精度。其次,梯度积分消除了负迁移,有利于新旧知识的同化,提高了模型泛化性。最后,签名任务知识的本地化集成可以随着任务和客户的增长实现可扩展性,而无需额外的通信成本。大量实验表明,FedViT 在确保准确性的同时显着降低了通信开销,并表现出很强的可扩展性。

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

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

相关文章

微算法科技(NASDAQ: MLGO)研究利用PBFT中的动态视图变换机制,实现区块链系统高效运转

随着区块链技术的飞速发展,其去中心化、透明性、不可篡改等特性使得它在金融、供应链管理、物联网等多个领域得到了广泛应用。然而,区块链系统在高并发场景下的性能瓶颈问题一直是制约其大规模应用的关键因素。传统的共识算法如PoW(工作量证明…

从数据汇总到高级分析,SQL 查询进阶实战(下篇)—— 分组、子查询与窗口函数全攻略

引言:从 “提取数据” 到 “洞察价值”,SQL 进阶之路 在掌握了基础查询与多表关联后,你是否曾遇到这样的挑战:如何按部门统计平均薪资?怎样找出每个岗位薪资最高的员工?或者如何计算销售额的月度环比增长率…

Spring 和 Lettuce 源码分析 Redis 节点状态检查与失败重连的工作原理

关键步骤:Spring Boot 启动时创建 LettuceConnectionFactory根据配置类型(集群/哨兵/单机)初始化客户端对于集群模式:创建 RedisClusterClient调用 setOptions(getClusterClientOptions(configuration)) 应用配置2. 节点状态检查机…

从ChatGPT到智能助手:Agent智能体如何颠覆AI应用

从ChatGPT到智能助手&#xff1a;Agent智能体如何颠覆AI应用 更多大模型知识分享&#xff0c;尽在>>>GitHub<<< Agent 智能体是什么 简单来说&#xff0c;Agent 智能体是一种能够感知环境&#xff0c;并根据自身目标自主采取行动的智能实体。它就像是一个拥…

Spring Boot应用实现图片资源服务

在这篇文章中&#xff0c;我们将介绍如何使用Spring Boot创建一个REST API来提供服务器上的静态图片资源。该API包括路径安全检查、文件存在性验证以及缓存控制等功能&#xff0c;并且代码包含详细的注释以帮助理解。Maven依赖 首先&#xff0c;在您的pom.xml文件中添加以下依赖…

Word 中 MathType 公式编号问题与解决

注&#xff1a;本文为 “Word 中 MathType 公式编号” 相关合辑。 图片清晰度受引文原图所限。 略作重排&#xff0c;未整理去重。 如有内容异常&#xff0c;请看原文。 【Word】解决 MathType 已插入公式按新章节开始编号的问题 Allan326 于 2020-03-25 15:30:08 发布 问题…

19. 大数据-产品概念

文章目录前言一、数据库1. 简介2. 使用场景3. 数据库类型4. 数据类型二、数据仓库1. 简介2. 使用场景3. 数据仓库架构三、数据平台1. 简介2. 使用场景3. 数据仓库架构四、数据中台1. 简介2. 使用场景3. 数据中台架构五、数据湖1. 简介2. 使用场景3. 数据湖架构六、总结1. 区别2…

python学习DAY46打卡

DAY 46 通道注意力(SE注意力) 内容&#xff1a; 不同CNN层的特征图&#xff1a;不同通道的特征图什么是注意力&#xff1a;注意力家族&#xff0c;类似于动物园&#xff0c;都是不同的模块&#xff0c;好不好试了才知道。通道注意力&#xff1a;模型的定义和插入的位置通道注意…

Ansible 中的文件包含与导入机制

Ansible 中的文件包含与导入机制本文介绍了在 Ansible 中如何通过模块化方式管理复杂的 Playbook&#xff0c;包括使用 include 和 import 系列语句来拆分和重用代码。概述 当 Playbook 变得冗长或复杂时&#xff0c;可以将其拆分为多个小文件以提高可管理性。Ansible 提供了模…

OpenCV-循环读取视频帧,对每一帧进行处理

原型代码 内存模型&#xff1a; 核心变量&#xff1a;frame&#xff0c;Numpy ndarray&#xff0c;每次会被覆盖&#xff0c;大小保持恒定import cv2video_path your_video.mp4cap cv2.VideoCapture(video_path)if not cap.isOpened():print("Cant open Video")exi…

决策树的学习(二)

一、整体框架本 PPT 聚焦机器学习中的决策树算法&#xff0c;围绕 “核心算法&#xff08;ID3、C4.5、CART&#xff09;→ 特殊问题&#xff08;连续值处理&#xff09;→ 优化策略&#xff08;剪枝&#xff09;→ 代码实现→ 课堂练习” 展开&#xff0c;系统补充决策树的进阶…

粗粮厂的基于spark的通用olap之间的同步工具项目

粗粮厂的基于spark的通用olap之间的同步工具项目1 项目背景2 项目实现2.1 实现原理2.2 细节要点3 抽样说明4 项目运行状态4.1 运行速度4.2 项目吞吐4.3 稳定性说的比较简单&#xff0c;有需要的可以留言&#xff0c;我不断补充完善1 项目背景 我们公司内部的需要一款&#xff…

C# 时间戳

在C#中&#xff0c;获取当前时间的毫秒级时间戳可以通过多种方式实现。以下是几种常见的方法&#xff1a;方法1&#xff1a;使用DateTime和DateTimeOffsetlong timestamp (long)(DateTimeOffset.Now.ToUnixTimeMilliseconds()); Console.WriteLine(timestamp);方法2&#xff1…

【牛客刷题】REAL792 小O的平面画圆

文章目录 一、题目介绍 1.1 输入描述 1.2 输出描述 1.3 示例 二、算法设计思路 2.1 核心问题分析 2.2 图解两个圆的位置关系 2.2.1. 相离 (Separate) 2.2.2. 外切 (Externally Tangent) 2.2.3. 相交 (Intersecting) 2.2.4. 内切 (Internally Tangent) 2.2.5. 包含 (Containing)…

uniapp:微信小程序使用Canvas 和Canvas 2D绘制图形

一、Canvas 画布 canvas 组件 提供了绘制界面&#xff0c;可以在之上进行任意绘制 功能描述 Canvas 画布。2.9.0 起支持一套新 Canvas 2D 接口&#xff08;需指定 type 属性&#xff09;&#xff0c;同时支持同层渲染&#xff0c;原有接口不再维护。 二、Canvas 和Canvas 2D 区…

word如何转换为pdf

pip install pywin32import os import win32com.client import pythoncom # 新增&#xff1a;用于处理COM线程 import sysdef docx_to_pdf(docx_path, pdf_pathNone):"""将Word文档转换为PDF格式&#xff0c;修复退出时的COM错误"""if not os.p…

服务器Linux防火墙怎样实现访问控制

在互联网世界里&#xff0c;Linux服务器就像一座城池&#xff0c;而防火墙便是城池的守卫者。没有防火墙&#xff0c;外部的任何流量都能毫无阻拦地进入服务器;而有了防火墙&#xff0c;就可以像设关卡一样&#xff0c;对进出城门的人进行盘查和控制。对企业运维人员来说&#…

【原创理论】Stochastic Coupled Dyadic System (SCDS):一个用于两性关系动力学建模的随机耦合系统框架

【原创理论】Stochastic Coupled Dyadic System (SCDS)&#xff1a;一个用于两性关系动力学建模的随机耦合系统框架 作者&#xff1a;[望月&#xff0c;GPT5,GPT-O3,Gemini2.5pro] 分类&#xff1a; 人工智能 理论模型 交叉学科 系统科学 人性 爱情 标签&#xff1a; 关系动力…

星图云开发者平台新功能速递 | 微服务管理器:无缝整合异构服务,释放云原生开发潜能

在构建现代数字化应用的过程中&#xff0c;开发者常常面临一个关键挑战&#xff1a;如何高效、安全地集成和复用既有的复杂服务或自有业务系统&#xff1f;这些服务可能是核心算法引擎、遗留业务逻辑模块&#xff0c;或是特定的SaaS能力。传统方式下&#xff0c;将它们融入新的…

数据结构:构建 (create) 一个二叉树

目录 问题的本质——什么信息才能唯一确定一棵树&#xff1f; 推导“最佳拍档”——哪两种遍历序列能行&#xff1f; 递归思想——如何构建一棵树&#xff1f; 第1步&#xff1a;确定整棵树的根节点 第2步&#xff1a;划分左右子树的成员 第3步&#xff1a;递归构建左右子…