FedOV

3 FEDOV: ONE-SHOT FEDERATED OPEN-SET VOTING FRAMEWORK

3.1 PROBLEM STATEMENT

        假设有个客户端及其本地数据集。我们的目标是在服务器的帮助下,在不交换原始数据的情况下,训练一个优秀的机器学习模型 。此外,每个客户端只允许与服务器进行一次通信。在本文中,我们专注于图像分类任务,因为该任务非常流行

3.2 MOTIVATION

        观察 1:在现有的一次性联邦学习方法中,投票是一种常见的策略(Guha 等人,2019;Li 等人,2021c)。然而,这些方法在极端标签偏斜的情况下表现不佳。例如,当我们将 MNIST 数据集划分给 10 个客户端,每个客户端只有一个类别时,无论是闭集投票(Guha 等人,2019)还是 FedKT(Li 等人,2021c)都仅能获得不到 20% 的测试精度。当每个客户端有两个类别时,这两种方法的测试精度都低于 50%。问题在于,闭集分类模型的预测偏向于其见过的类别

        如图 1a 所示。当一个属于类别 1 的测试样本到来时,传统的闭集投票方法中,第一个和第三个客户端做出了错误的预测,因此投票结果不能正确地预测。

        启示 1:在联邦学习的标签偏斜设置中,闭集分类器在一次性联邦学习中的表现较弱,且会将每个输入预测为其已知类别之一。对于投票,如果模型可以对未见过的类别承认“不知道”并预测“未知”,效果会更好

        如图 1b 所示。这启发我们在联邦学习中应用开放集识别(OSR),引入一个“未知”类别以提高投票的准确性

        通过 Dirichlet 分布将类 0,1 和2 的数据分配到三个客户端

        观察 2 直接应用 PROSER(Zhou等人,2021)在FL的局部训练中不能获得良好的局部开集分类器。我们在图2a 中的本地训练中使用 PROSER 将客户端的本地模型学习的表示可视化。该模型在只有 0 类和 6 个 MNIST 样本的客户端上训练。当简单地应用 PROSER 时,生成的离群值非常有限,并且远离训练数据。来自可见和不可见类的数据的表示是混合的,并且无法区分

        PROSER(Progressive Open-Set Recognition)是一种开放集识别(Open-Set Recognition,OSR)算法,专门用于处理开放集问题。在开放集问题中,模型需要对训练集中未出现的类别进行正确处理,也就是在遇到未知类别的数据时,模型能够预测为“未知”而不是误分类为已知类别。

PROSER 的主要思想是通过在训练过程中生成一些“异常数据”(outliers),并将这些数据标记为“未知”类别来增强模型的开放集识别能力

        图 2:T-SNE 可视化图,展示了使用不同方法训练的本地模型所提取的特征。在训练过程中,客户端仅拥有类别 0 和类别 6 的数据。在每个子图中,我们绘制了已见类别(0 和 6)、未见类别以及在训练过程中生成的异常数据的表示。黑色线条表示可能的分类边界

        启示 2 为了更好地适应 OSR 算法在 FL 中的标签偏斜,我们需要新的技术来生成离群值,这些离群值应该1)是多样的,2)接近所看到的类

3.3 THE OVERALL ALGORITHM

        基于上述观察和启示,我们开发了一种新方法,名为 FedOV,以解决联邦学习中的标签偏斜问题。FedOV 在直接将开放集识别(OSR)应用于联邦学习时面临的挑战中,提出了两种改进

        首先,为了生成多样化的异常数据,我们提出了 数据破坏(Data Destruction,DD),通过从真实样本中直接生成异常数据。其次,为了生成更接近真实样本的异常数据,我们提出了 对抗异常增强(Adversarial Outlier Enhancement,AOE),以学习一个更紧密的分类边界来包围内类数据。

        开放集投票的整体框架如下所述。在训练阶段,每个客户端本地训练一个开放集分类器,并将其提交给服务器。在预测阶段,服务器将所有提交模型对输入样本的预测概率加和,同时忽略“未知”类别的通道。最终预测概率最大的类别被输出为预测标签。图 1b 展示了开放集投票的一个例子。在“未知”类别的帮助下,本地模型在遇到未见过的类别时,可以承认其不确定性。第一个和第三个模型对类别 1 知识有限,因此它们为“未知”分配了很高的概率,而第二个模型由于对类别 1 的熟悉,以100%的确定性输出类别 1。这样,输入的图像可以被正确分类

        整个过程如算法 1 所示。假设有个类别,类别 0 到是原始训练数据中的类别,我们用类别表示“未知”类别。在每个客户端中,首先初始化本地模型(第2行)。然后在每一轮中,对于每一批次的训练数据,生成异常数据,分别通过 数据破坏 和 对抗异常增强

        接下来,将 这些异常数据视为“未知”类别,计算它们的交叉熵损失。通过将 PROSER 损失交叉熵损失 相加作为总损失,使用 Adam 优化器更新本地模型。在完成指定的训练轮数后,本地模型会被上传到服务器。

        在服务器端,它将所有本地模型作为一个集合进行聚合,形成最终的模型。当有新样本需要预测时,服务器将每个模型的预测概率相加。然后,概率最高的已知类别作为最终输出标签

        由于 FedOV 仅需要一次通信,其通信成本为,其中为本地模型的大小。相比于需要多轮通信的迭代联邦学习算法,FedOV 的通信成本较低

3.4 DATA DESTRUCTI(DD)

        根据我们在 3.2 节中的观察,从有限的训练数据中生成多样化的异常数据具有挑战性。虽然 PROSER 通过混合不同类别的数据来生成异常数据,我们是否可以从每个单独的样本生成异常数据呢?受到数据增强(Shorten & Khoshgoftaar, 2019)启发,数据增强是一种在训练前增强特征的非常流行的方法,我们提出了一种新颖的 数据破坏(Data Destruction,DD)方法,利用数据操作来转换数据,生成异常数据

        与增强特征不同,我们的 DD方法通过强烈的数据操作破坏原始的关键特征,这既高效又有效。具体来说,DD有两个组成部分:候选数据破坏操作 和通过一组操作增强异常数据

候选数据破坏操作

为了破坏原始特征,我们尝试了一系列全面的数据操作,并总结了以下有效的候选破坏操作:

  1. 随机复制粘贴(RandomCopyPaste):随机选择一个矩形区域,并将其复制到图像的另一个随机选定的区域。
  2. 随机交换(RandomSwap):交换两个随机选定的矩形区域。
  3. 随机旋转(RandomRotation):随机旋转图像的一个方形区域。
  4. 随机擦除(RandomErasing):随机擦除图像中的一个大矩形区域。
  5. 高斯模糊(GaussianBlur):使用大方差的高斯函数模糊图像。
  6. 随机裁剪并调整大小(RandomResizedCrop):随机裁剪图像中的一小部分,并将其调整为原始大小。

        其中(1)-(3)是我们提出的新操作,而(4)-(6)是现有的数据增强操作,我们使用了异常的超参数。这些操作生成的异常数据的示例见图 3a

通过数据破坏集增强异常数据

        为了增强异常数据的多样性,我们在生成异常数据时引入了随机性。我们不会对每张图像使用固定的操作来生成异常数据。每次从上述候选操作集中随机选择一个操作生成异常数据。然后,在每个训练批次中,由不同操作生成的各种类型的异常数据都会存在

3.5 ADVERSARIAL OUTLIER ENHANCEMENT(AOE)

        对抗训练(Goodfellow 等人,2015;Kurakin 等人,2016)一直是一种流行的方法,用于保护机器学习模型免受恶意攻击。例如,Goodfellow 等人(2015)使用快速梯度符号方法(FGSM)生成对抗样本,使得模型以高置信度输出错误答案。然后,这些对抗样本被用作训练数据的一部分来规范训练。

        受对抗训练的启发,我们不是使用 FGSM 生成用于鲁棒训练的对抗样本,而是将其应用于优化生成的异常数据

        具体来说,假设客户端正在使用我们的数据破坏方法生成的异常数据训练模型。我们使用 FGSM 生成,使得模型错误地将以高置信度输出为一个已见样本。然后,增强后的异常数据与生成的异常数据一起被用作未知类别来更新模型。我们称这种方法为对抗异常增强(Adversarial Outlier Enhancement,AOE)

        图 3b 中展示了增强后的异常数据的示例。与图 3a 相比,增强后的异常数据看起来更正常,看起来像是来自训练数据的不同类别(例如,在图 3b 的第三行中,第三个和第八个异常数据看起来像数字“3”,尽管它们是从数字“2”生成的)

        我们还包含了来自 Open Set Learning with Counterfactual Images, ECCV 2018 的代码,该代码是由开放集学习的作者编写的。然而,由于我们的联邦学习分区设置更为多样和复杂,我们发现很难调整超参数来生成优质的反事实图像,且投票准确率很低,因此我们在最终版本中没有调用它

        在我们的代码中,我们保留了注释掉的或未使用的代码(函数)。我们尝试过这些但没有得到好的结果。经过多次尝试和错误,我们总结了当前的数据破坏(DD)和对抗异常增强(AOE)函数。这些尝试可能为未来的研究者节省努力或带来一些见解,因此我们保留了它们

3.6 DISCUSSION

T-SNE 可视化:如图 2b 和图 2c 所示,DD 可以生成多样化的异常数据,帮助区分已见和未见类别的数据,而 AOE 进一步缩小了异常数据和训练数据(即类别 0 和 6)之间的距离,以学习更好的分类器。

        T-SNE(t-Distributed Stochastic Neighbor Embedding)是一种非常流行的机器学习算法,用于数据的可视化。它特别适用于高维数据的可视化,这种数据通常来自复杂的数据集,如图像、文本或声音数据。T-SNE 通过有效地将高维数据映射到两个或三个维度中,帮助研究者和数据科学家观察数据中的模式、群组和异常值。

与知识蒸馏的整合:FedOV 的一个缺点是最终模型是本地模型的集合,因此其预测和存储成本可能会很大,尤其是当客户端数量很多时(例如,在跨设备设置中)。一些现有方法(Lin 等人,2020;Li 等人,2021c)使用知识蒸馏从多个本地模型中提取知识,以帮助一个公共或合成数据集生成全局模型。我们的方法与上述方法兼容。通过知识蒸馏,我们可以将本地模型的集合转换为单个全局模型。这样可以显著降低最终模型的存储和预测成本。此外,将最终模型视为迭代联邦学习算法(如 FedAvg,McMahan 等人,2016)的初始化模型,我们可以进行多轮联邦学习以进一步改进模型。如第 4.4 节所示,FedOV 可以有效地与现有方法结合,提高它们的精度和通信效率

4 EXPERIMENTS

4.1 EXPERIMENTAL DETAILS

数据集:我们在 MNIST、Fashion-MNIST、CIFAR-10 和 SVHN 数据集上进行实验。我们使用 Li 等人(2021b)的数据划分方法来模拟不同的标签偏斜

        具体而言,我们尝试了两种不同的分区方式:

1) 

每个客户端只有来自个类别的数据。我们首先为每个客户端随机分配个类别 ID,接下来将每个类别的样本均匀随机分配给它们被分配的客户端

2)

对于每个类别,我们从 Dirichlet 分布采样,并将类别部分样本分配给客户端

基线:我们包括了一次性联邦学习算法作为基线,包括闭集投票(Guha 等人,2019)和 FedKT(Li 等人,2021c)。我们还将 FedOV 与迭代式联邦学习算法进行比较,包括 FedAvg(McMahan 等人,2016)、FedProx(Li 等人,2020)、FedNova(Wang 等人,2020a)和 FedDF(Lin 等人,2020)。我们在单轮中运行这些算法以进行公平比较。注意,FedKT 和 FedDF 需要公共数据集(或合成数据集)进行蒸馏。在每个任务中,我们使用一半的测试数据集作为蒸馏的公共数据集,剩余部分用于测试。由于 FedSyn(Zhang 等人,2021)的源代码并未公开,而我们已经包括了 FedDF(采用与 FedSyn 相同的蒸馏方法)在我们的实验中,所以我们没有将其与 FedOV 进行比较

默认设置:默认情况下,我们根据 FedAvg(McMahan 等人,2016)和其他现有研究(Li 等人,2021c;b;Wang 等人,2020b)的做法,在我们的实验中使用了一个简单的 CNN 模型,该模型包含 5 层。有 10 个客户端。对于本地训练,我们为每个客户端运行 200 个本地 epoch。我们设置批量大小为 64,学习率为 0.001。对于带有误差条的结果,我们通过不同的随机种子运行了三次实验

4.2 AN OVERALL COMPARISON

        我们比较了 FedOV 与其他基线算法的精确度,如表1所示。我们的算法在仅有一次通信的情况下,能显著超越基线算法。在许多设置中,FedOV 的精确度比闭集投票高出超过 10%。在极端情况下,如 #C = 1 的情况,FedOV 比闭集投票至少高出 30%。迭代式联邦学习算法在仅运行一轮时无法达到满意的精确度

4.3 ABLATION STUDY

        我们展示了 FedOV 中每个组件的效果,包括开放集投票(PROSER)、数据破坏(DD)和对抗异常增强(AOE)。具体来说,我们每次添加一个组件,结果如表 2 所示。从表中可以看出,具有所有三个组件的 FedOV 在大多数设置中可以达到最高的精度。仅在联邦学习中应用 PROSER 与闭集投票相比,并没有提高精度(例如,CIFAR-10 中的 #C = 2)。我们提出的异常数据生成技术可以有效提高开放集投票的精度。此外,对抗异常增强在某些设置中显著提高了精度(例如,SVHN 中的 #C = 1)。我们在附录 B.2 中与使用 AOE 损失而不使用 DD 损失的开放集投票进行了比较

5 CONCLUSION

        在这项工作中,我们设计了一种新的一次性联邦学习算法 FedOV,以解决一次性联邦学习中的标签偏斜问题。我们提出通过在投票中引入“未知”类别来进行开放集投票。我们观察到,直接应用现有的开放集识别算法 PROSER 到一次性学习中存在生成异常数据有限的问题。为了解决这些问题,我们开发了两种技术,数据破坏和对抗异常增强,以提高开放集投票的表现。我们广泛的实验表明,与其他基线相比,FedOV 在各种标签偏斜设置下都能实现显著的准确度提升

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

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

相关文章

掌握Python-uinput:打造你的输入设备控制大师

文章目录 掌握Python-uinput:打造你的输入设备控制大师背景:为何Python-uinput不可或缺?Python-uinput是什么?如何安装Python-uinput?简单库函数使用方法创建虚拟设备模拟按键模拟鼠标移动模拟滚轮滚动关闭设备 场景应…

ffmpeg 拉流

# 保存为视频 sudo ffmpeg -hwaccel rkmpp -vcodec h264_rkmpp -i "rtsp://user:passwdip:554" -c copy ./out.mp4 # 保存图片 ffmpeg -i "rtsp//" -y -f image2 -r 10/1 ../ffmpegData/img%03d.jpg jetson nano 查看解码器: ffmpeg -decode…

跟《经济学人》学英文:2024年09月21日这期 Britain should let university tuition fees rise

Britain should let university tuition fees rise Domestic students have been paying less in real terms every year 原文: In 2012 politicians in Britain burned lots of political capital by raising the cap on how much English universities can cha…

Type-C接口便携屏方案

随着科技的飞速发展,便携式电子产品在我们的日常生活中扮演着越来越重要的角色。在这一背景下,Type-C接口便携显示器作为一种新兴的显示设备,凭借其独特的优势迅速崭露头角,成为市场的新宠。本文将深入探讨Type-C接口便携显示器的…

vue无法通过页面路径访问提示404,通过nginx配置处理

部署vue项目时,可以通过IP的方式访问主页,当进入特定页面在刷新时,因为浏览器通过URL地址进行请求,就提示404错误。 每次都需要重新从主页进入,这里是因为nginx配置的问题,在nginx里增加一行重定向的设置 …

OJ 旋转图像

题目: 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例: 解题规律: 我们以题目中的示例二作为例子&a…

一键快速替换PPT上的字体?这个你一定要学会。

前言 最近有个朋友在做PPT,说是准备在各大平台分发,咨询小白关于PPT上内容的事情,结果小白问了一句:字体用的是什么? 嗯……她说是:汉仪黑和字魂。 好家伙,这不是妥妥的当别人财神爷的机会吗&…

神奇的css动画:animation、transform、transition

前言 动画包括两个部分:描述动画的样式和用于指定动画开始、结束以及中间点样式的关键帧。 相比较于传统的脚本实现动画技术,使用css动画三个主要优点: 1.能够非常容易创建简单动画,甚至不需要了解JavaScript就能创建动画 2.动画运行效果…

进制转换,原码,反码,补码,二进制位运算及应用

进制转换 2B(0--1),8O(0--7),10D,16H(0——9,A——F) 8位二进制数,左边高位,右边低位 2,8,16 -> 10进制整数,小数 整数:从后往…

iftop流量监控工具

一、iftop简介 iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等,详细的将会在后面的使用参数中说明。 二、安装iftop 1、编译安装 如果采用编译安装可以到iftop官网下载最新的源码包。 1.1 CentOS上安装所需…

有没有自带财务管理功能的海外仓系统?

在全球化的商业环境中,海外仓作为连接国际市场的物流枢纽,其重要性日益凸显。然而,随着业务范围的扩展和费用类型的多样化,海外仓在财务管理上面临着诸多挑战。传统的手工计费和对账方式不仅耗时费力,而且容易出错&…

记录一次fs配置导致串线的问题

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 fs在实际的使用过程中也会经常碰到莫名其妙的问题,大部分都是配置问题。 环境 CentOS 7.9 freeswitch 1.10.7 docker 26.1.1 问题描述 组网方案如下。其中的fs-reg是注册服务器,fs1和fs2是…

栈的各种接口的实现(C)

栈的概念 栈: 一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:…

join 命令:合并文件

一、命令简介 ​join​ 命令用于合并两个文件,基于一个共同的键(key)字段,将一个文件中的行与另一个文件中的行合并在一起。 这个键字段在两个文件中必须是相同的,这样 join 才能正确地将行匹配在一起。 ‍ 二、命…

linux系统维护:给linux的根目录分配更多的额外的磁盘空间,实现系统磁盘容量的平滑升级

目录 一、背景说明 二、概念介绍 1、物理卷(Physical Volume, PV) 2、卷组(Volume Group, VG) 3、逻辑卷(Logical Volume, LV): 三、操作过程 1、vmware中新增磁盘 2、查看磁盘信息 3、格式化…

进阶版水仙花数水是指一个n位数,各个位数字的n次方之和等于该数字本身

两种方法: 第一种,是输入一个数值,判断是否为水仙花数 //打印水仙花数 //水仙花数是指一个n位数,各个位数字的n次方之和等于该数字本身 //如:1531^35^33^3 // //分析: //153/1015 //15/101 //1/100 #incl…

✨机器学习笔记(五)—— 神经网络,前向传播,TensorFlow

Course2-Week1: https://github.com/kaieye/2022-Machine-Learning-Specialization/tree/main/Advanced%20Learning%20Algorithms/week1机器学习笔记(五) 1️⃣神经网络(Neural Network)2️⃣前向传播(Forward propaga…

【C++】list容器的基本使用

一、list是什么 list的底层结构是带头双向循环链表。 相较于 vector 的连续线性空间,list 就显得复杂很多,它是由一个个结点构成,每个结点申请的空间并不是连续的,它的好处是每次插入或删除一个数据,就配置或释放一个…

MATLAB绘图基础8:双变量图形绘制

参考书:《 M A T L A B {\rm MATLAB} MATLAB与学术图表绘制》(关东升)。 8.双变量图形绘制 8.1 散点图 散点图用于显示两个变量间的关系,每个数据点在图上表示为一个点,一个变量在 X {\rm X} X轴,一个变量在 Y {\rm Y} Y轴&#…

ACE搭建地图,助力企业新媒体矩阵优化升级

在数字化浪潮中,为了创造多元化的用户互动和销售机会,众多企业踊跃投入到线上平台,积极构建新媒体矩阵。 然而这条道路并非是坦途。很多对矩阵不了解或是认识不足的企业,想要搭建好矩阵还需要面临众多难题。 对新手来说&#xff0…