FedOV

news2024/9/20 20:14:21

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.coloradmin.cn/o/2149954.html

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

相关文章

Linux 删除文件不释放空间问题处理

背景: 服务器磁盘空间已经达到100%,删除存放日志路径下的文件后,发现空间并未释放! 原因:在linux系统中,通过rm删除文件将会从文件系统的文件夹结构上解除链接(unlink)然后删除,然而假设文件是被…

基于存内计算架构的模型部署与映射优化

先进计算大赛背景: ‘’存内计算”架构通过消除存储与计算单元间的物理距离,突破传统冯诺依曼架构的限制,自2016年起受到广泛关注,被视为国产算力发展的关键技术。 ​ 在存内计算架构中,权重布局对提高存算单元利用率…

VBA技术资料MF198:禁用下拉拖放

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解&#…

c++ day01

格式化输入 #include <iostream> #include<iomanip> using namespace std;int main() {double num1090.123456;cout<<"num"<<num<<endl;cout<<oct<<"num"<<num<<endl;cout<<hex<<&qu…

【C#】内存的使用和释放

在 C# 中&#xff0c;内存管理主要是由 .NET 的垃圾回收器&#xff08;Garbage Collector, GC&#xff09;自动处理的。然而&#xff0c;了解如何正确地使用和释放内存对于编写高效且可靠的代码非常重要。以下是一些关键点和最佳实践&#xff1a; 1. 内存分配 托管资源&#x…

如何查询论文的SCI检索号?

一、登录Web of Science 不要自己登录&#xff0c;需要选择机构为CHINA CERNET Federation&#xff0c;否则无法查询文章。 然后转到机构&#xff0c;选择对应的大学。 更具对应文章名查询文献。 二、查询文献名

python基础知识(六)--字典遍历、公共运算符、公共方法、函数、变量分类、参数分类、拆包、引用

字典遍历方法 函数名含义keys()以列表的形式&#xff0c;返回一个字典所有的键。values()以列表的形式&#xff0c;返回一个字典所有的值。items()返回由键值组成的序列&#xff0c;主要应用于遍历字典。 公共运算符 运算符描述支持的容器类型合并字符串、列表、元组*复制字符…

linux入门到实操-9 linux文件操作命令:创建文件、复制文件或文件夹、删除和移动文件、多种查看文件的方法

教程来源&#xff1a;B站视频BV1WY4y1H7d3 3天搞定Linux&#xff0c;1天搞定Shell&#xff0c;清华学神带你通关_哔哩哔哩_bilibili 整理汇总的课程内容笔记和课程资料&#xff08;包含课程同版本linux系统文件等内容&#xff09;&#xff0c;供大家学习交流下载&#xff1a;…

PHP限定post提交数据的次数

PHP限定post提交数据的次数。 在PHP中&#xff0c;你可以通过记录IP地址的提交次数并在会话或数据库中存储这些信息来实现这个需求。以下是一个简单的PHP示例&#xff0c;它使用会话来跟踪IP地址的提交次数。 <?php session_start(); // 获取用户的IP地址 $ip_address $…

迁移学习+多模态融合,小白轻松发一区!创新性拉满!

多模态研究如今愈发火热&#xff0c;已成为各大顶级会议的投稿热门。今天&#xff0c;我为大家提供一个多模态的创新思路&#xff1a;迁移学习与多模态融合。 迁移学习多模态融合方向的优势 1.提升模型性能&#xff1a;综合更多维度优势&#xff0c;跨模态互补 2.快速适应新…

计算机网络 --- 初识协议

序言 上一篇文章中 &#xff08;&#x1f449;点击查看&#xff09;&#xff0c;我们简单的了解了怎么寻找目标计算机&#xff0c;需要通过交换机&#xff0c;路由器等设备跨越多个网络来不断的转发我们需要传输的数据&#xff0c;直至到达目标计算机。  那我们设备之间数据是…

挖矿病毒排查演示

1、上传病毒文件到/opt目录中 2、把压缩文件名修改成virus.zip 3、检查一下/etc/passwd ​ root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:…

GeoGebra 與數學探索 3 GeoGebra 在微積分的探索與動態演示

Goal: GeoGebra 除了可以輕鬆的讓我們以即時動態反饋圖形的方式模擬探索幾何的問題, 或是幫我們驗證答案, 也可以進行數論、微積分、矩陣等等各方面的探索, 在問題尺度不大又需要即時以圖像視覺呈現探索過程的情況下, GeoGebra 其實優於以寫程式的方式進行探索. “Talk is che…

unordered_map/set(底层实现)——C++

目录 前言&#xff1a; 1.开散列 1. 开散列概念 2. 开散列实现 2.1哈希链表结构体的定义 2.2哈希表类即私有成员变量 2.3哈希表的初始化 2.4迭代器的实现 1.迭代器的结构 2.构造 3.* 4.-> 5. 6.&#xff01; 2.5begin和end 2.6插入 2.7Find查找 2.8erase删除 3.unordered_ma…

mybatisplus中id生成策略

使用Tableld(value,type) 1.typeIdType.AUTO自增主键 2.typeIdType.ASSIGN,雪花算法生成 mybatisplus id生成策略全局配置 配置表前缀以及id生成策略 mybatis-plus:global-config:db-config:id-type: autotable-prefix: :t_

热点|创邻图查询范式引爆LDBC TUC2024

2024年8月30日至31日&#xff0c;创邻科技Galaxybase团队联合蚂蚁集团TuGraph团队、阿里巴巴GraphScope团队共同主办第18届LDBC TUC会议。在本次会议中&#xff0c;来自全球图数据库领域的学者和技术专家做了很多精彩的分享&#xff0c;共同探讨图技术的最新进展。创邻科技Gala…

EC Shop安装指南 [ Apache PHP Mysql ]

这个是软件测试课上老师布置的一个作业&#xff0c;期间老师也出现了不少错误&#xff0c;所以还是有必要记录一下吧&#xff0c;凑一篇文章 主要是老师的文档以及自己的一些尝试记录&#xff0c;试错记录&#xff0c;解决方案等 主要介绍了Apache的安装&#xff0c;MySQL的安…

weblogic CVE-2020-14882 靶场攻略

漏洞描述 32 CVE-2020-14882 允许远程⽤户绕过管理员控制台组件中的身份验证。 CVE-2020-14883 允许经过身份验证的⽤户在管理员控制台组件上执⾏任何命令。 使⽤这两个漏洞链&#xff0c;未经身份验证的远程攻击者可以通过 HTTP 在 Oracle WebLogic 服务器上执⾏任意命令并…

基于协同过滤算法+PHP的新闻推荐系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于协同过滤算法PHPMySQL的新…

基于Java的房地产在线营销管理系统研究与实现

目录 前言 功能设计 系统实现 获取源码 博主主页&#xff1a;百成Java 往期系列&#xff1a;Spring Boot、SSM、JavaWeb、python、小程序 前言 随着信息技术的迅猛发展&#xff0c;互联网已经渗透到我们生活的方方面面&#xff0c;为各行各业带来了前所未有的变革。房地产…