【论文阅读】SDA-FC: Bridging federated clustering and deep generative model

论文地址:SDA-FC: Bridging federated clustering and deep generative model - ScienceDirect

代码地址:https://github.com/Jarvisyan/SDA-FC


摘要

联邦聚类(FC)是集中式聚类在联邦环境中的扩展。关键在于如何在不共享私人数据的情况下构建全局相似度度量,因为本地相似度可能不足以正确地对本地数据进行分组,而由于隐私限制,无法直接测量跨客户端的样本相似度。显然,分析联邦聚类最直接的方法是采用从集中式聚类方法扩展而来的方法,如K均值(KM)和模糊C均值(FCM)。然而,这些方法容易受到客户端之间非独立同分布(non-IID)数据的影响。为了解决这个问题,作者提出了一种简单且有效的联邦聚类框架,结合生成对抗网络(GAN),命名为合成数据辅助的联邦聚类(SDA-FC)。该方法在每个客户端本地训练生成对抗网络,并将生成的合成数据上传到服务器,在服务器上对合成数据执行KM或FCM。合成数据可以使模型免受非IID问题的影响,并帮助更有效地捕捉全局相似性特征,而无需共享私人数据。综合实验结果揭示了SDA-FC的优势,包括在解决非IID问题和设备故障方面的优越表现。

引言

在隐私问题日益受到关注的时代,联邦学习(FL)[29] 引起了广泛的关注,并在多个领域得到了应用,包括自动驾驶、智能医疗、智能城市和物联网数据等。其目标是在不共享私人数据的情况下,通过融合多个在客户端设备上训练的本地模型来训练全局模型。虽然FL在独立同分布(IID)场景中表现出色,但客户端设备之间的本地数据分布通常偏离IID场景。这种现象被称为非独立同分布问题(non-IID问题)或数据异质性,它可能会妨碍收敛并对模型性能产生不利影响[25]。在非IID场景下,一种自然的解决方法是放弃传统的单中心方法,即专注于训练单一的全局模型,而是构建一个多中心框架,利用客户端聚类[13]或数据聚类来增强协作[8,36,5]。对于客户端聚类,其基本思想是每个客户端可能来自一个特定的分布。因此,应该使用同一聚类中的客户端共同训练一个特定的全局模型。然而,每个客户端中的每个样本也可能来自特定的分布。因此,数据聚类,也称为联邦聚类(FC),可以更有利于客户端之间的协作[36]。其目标是基于全局相似度度量对数据进行聚类,同时保持数据的本地性[36]。

除了在缓解非IID问题中的作用外,联邦聚类本身也是一个引人注目的研究领域。如图1所示,单纯依靠本地相似度无法准确地恢复本地数据分组,而全局视角在这方面表现更为出色。然而,由于本地客户端数据的保密性,获取全球真实数据是不可行的。

因此,关键在于如何在不共享私人数据的情况下衡量全局相似度。为了解决这个问题,之前的工作已将经典的集中式聚类算法(如K均值(KM)[28]和模糊C均值(FCM)[3])进行适配,以应用于联邦设置,从而得到了k-FED [8]和联邦模糊C均值(FFCM)[36]。它们的基本思路是类似的:交替估计本地聚类中心和全局聚类中心,换句话说,通过本地私人数据挖掘本地聚类中心并将其上传到服务器,在服务器上运行KM以构建k个全局聚类中心来容纳全局相似度信息,然后将这些信息传递给客户端。最后,每个客户端可以从服务器下载全局聚类中心,并根据与这些聚类中心的接近度对本地数据进行标注,遵循最近邻规则。然而,得到的全局聚类中心可能会非常敏感,并容易受到不同非IID级别的影响,从而损害模型的鲁棒性和性能。给定一个联邦数据集,非IID级别仅取决于本地数据分布,而非全局数据分布。因此,如果能够构建出全球数据的良好近似,模型的性能可能对不同的非IID级别不敏感。此外,这种近似能够在不共享私人数据的情况下增强捕捉全局相似性特征的能力。基于这一思路,作者提出了一种简单有效的联邦聚类框架,结合生成对抗网络(GAN)[14],命名为合成数据辅助的联邦聚类(SDA-FC)。它包括两个主要步骤:全局合成数据构建和聚类分配。在第一步中,中央服务器利用多个从本地数据训练的本地GAN构建全局合成数据集。在第二步中,中央服务器首先对全局合成数据集执行KM或FCM,得到k个全局聚类中心,然后将其分发给客户端。随后,基于最近邻规则进行聚类分配。如图1所示,本地聚类中心(图1(a)和图1(b))与全局聚类中心(图1(c))有显著差异,后者无法通过简单地对前者执行KM来准确近似。值得注意的是,全局合成数据(图1(d))很好地近似了全球真实数据,其中由合成数据集得到的聚类中心与从真实全局数据中得到的聚类中心非常接近。为了进一步探索联邦聚类与集中式聚类之间的差距,在联邦设置下对k-FED和FFCM进行了实验,并在集中设置下执行了KM和FCM。如表1所示,二者之间存在差距,但通过该方法该差距被缩小了。

模型

SDA-FC框架

SDA-FC由两个主要步骤组成:全局合成数据构建和聚类分配。在第一步中,每个客户端本地训练深度生成模型(例如生成对抗网络(GAN)[14]),然后将生成的合成数据上传到服务器进行聚合。在第二步中,对聚合后的合成数据执行K-means(KM)[28]或模糊C均值(FCM)[3]聚类,构建出k个全局聚类质心。最后,每个客户端可以从服务器下载全局聚类质心,并根据最近邻规则对其本地数据进行标签分配。

全局合成数据构建

给定一个现实世界的数据集 𝑋 ∼ ℙ,其中数据集分布在𝑚个客户端之间,即 并且 𝑋(𝑖) ∼ ℙ(𝑖)。首先,每个客户端𝑖(𝑖 = 1, 2, ⋯, 𝑚)从中央服务器下载初始的深度生成模型,并用本地数据 𝑋(𝑖) 训练该模型。然后,每个客户端使用训练好的模型 𝐺(𝑖) 生成一个与 𝑋(𝑖) 大小相同的合成数据集,并将该合成数据集上传到中央服务器。最后,通过聚合所有上传的数据集,可以获得全局合成数据集 𝑋,即

3.1.2 聚类分配

作为一个通用的联邦聚类框架,可以简单地将SDA-FC与一些集中式聚类方法结合,如KM和FCM,从而得到两个具体方法,分别是SDA-FC-KM和SDA-FC-FCM。具体来说,中央服务器首先在全局合成数据集上执行KM或FCM,得到k个全局质心。然后,每个客户端下载这些质心,并通过最近邻规则对本地数据进行标签分配,从而得到最终的聚类结果。

3.2 基于GAN的SDA-FC实例化

近年来,深度生成模型因其在各种数据模态生成方面的卓越能力而受到广泛关注[18,43]。FID——Frechet Inception Distance通过利用真实数据的统计信息来评估合成数据的质量,FID值越低表示生成样本的质量和多样性越高。如广泛认可的[18,43],GAN和扩散模型在FID分数上表现最为突出。尽管扩散模型在生成能力上优越,但其复杂的数学细节[43]会极大地增加我们框架的复杂性,而其时间消耗较长的生成过程[40]会增加客户端设备的计算负担。因此,本工作选择使用GAN来构建合成数据并实例化SDA-FC。

标准的GAN架构[14]包含两个网络:生成器和判别器。这两个网络通过博弈的方式不断相互改进。生成器的目标是生成与真实数据相似的合成样本,从而欺骗判别器,而判别器的目标是区分真实样本和生成样本。博弈的结束条件是判别器无法再区分真实样本和生成样本,表示生成器已经学习到了真实数据分布并达到了理论上的全局最优。

正式地,标准GAN的目标函数定义为:

其中,𝐺是生成器,它输入噪声 𝑧 并输出生成的样本,𝒩是高斯分布,𝐷是判别器,它输入一个样本并输出一个标量,表示区分生成样本与真实样本,𝑝𝑟 是真实数据的分布。虽然GAN在各种应用中表现出色,但对抗训练以其不稳定性和容易发生模式崩溃(mode collapse)而闻名[30],这导致生成样本质量高但多样性差。模式崩溃意味着模型只能捕捉到真实数据特征的一部分。为了解决这个问题,Mukherjee等[31]向生成器的输入中引入了一个额外的类别变量,从而促进潜在空间中更加清晰的聚类结构,并增强样本多样性。

为了减轻SDA-FC实例中的模式崩溃,作者也使用了离散和连续变量的混合作为生成器的输入,遵循[31]的方法。新的目标函数定义为:

其中,𝒰 是一个均匀随机分布,其最低值为 1,最高值为 𝑘,𝑒𝑢 是一个one-hot向量,其中第𝑢个元素为1。

3.3 理论分析

在SDA-FC中,一个关键的见解是,尽管由于隐私约束无法获得全球真实数据,但可以通过共享本地合成数据来近似全局真实数据。因此,关于本地合成数据是否能代表全球真实数据的稳健理论分析,对于保证模型的可靠性至关重要。

在概率机器学习中,分布通常可以通过多个分布的线性组合来表示[24]。在这里,假设全球真实数据分布可以表示为本地数据分布的混合,即 ℙ = ∑𝑚 𝑖=1 𝑤(𝑖) ℙ(𝑖),其中 𝑤(𝑖) ≥ 0,且 ∑𝑚 𝑖=1 𝑤(𝑖) = 1,则全球真实数据分布也可以表示为本地合成数据分布的混合,当 ℙ̂ (𝑖) 和 ℙ(𝑖) 相等时,如定理1所述。

引理1 [14]:GAN的对抗训练能够实现全局最优,当且仅当合成数据分布与真实数据分布相等。

定理1:如果本地合成数据分布与真实数据分布相同,即 ℙ̂ (𝑖) = ℙ(𝑖),𝑖 = 1, 2, ⋯, 𝑚,则全球真实数据分布 ℙ 可以表示为本地合成数据分布的混合。

证明:在SDA-FC中,每个GAN都是使用本地数据独立训练的,这意味着GAN的理论性质(引理1)仍然成立,即 ℙ̂ (𝑖) = ℙ(𝑖),𝑖 = 1, 2, ⋯, 𝑚。因此,ℙ = ∑𝑚 𝑖=1 𝑤(𝑖) ℙ(𝑖) = ∑𝑚 𝑖=1 𝑤(𝑖) ℙ̂ (𝑖)。此证明完毕。

实验

聚类性能
联邦聚类作为一个新兴领域,目前尚缺乏标准化的评估框架。例如,在研究 [8,36,38] 中,使用的基准数据集并不一致,这使得直接比较变得困难。因此,基准方法的代码可用性和实现的简便性成为了主要考虑因素,这也促使选择了 k-FED [8]、联邦模糊 c-均值(FFCM)[36] 和 FedMAvg [38] 作为基准方法。此外,为了将联邦聚类的性能与集中式聚类进行对比,作者还报告了 K-均值(KM)、模糊 c-均值(FCM)和正交非负矩阵分解(ONMF)[39] 在集中式场景下的数值结果,分别表示为 KM_central、FCM_central 和 ONMF_central。在所有实验中,基于 FCM 的方法的默认模糊度设置为 1.1。

基于 NMI [37] 和 Kappa [23] 的聚类性能见表 3 和表 4。从中可以观察到:

  1. 对于基于 KM 的方法,两项指标一致表明提出的方法在有效性和鲁棒性上均优于 k-FED。对于基于 FCM 的方法,两项指标给出了不同的排名。虽然 NMI 是最常用的指标,但近年来的研究强调了它的局限性,因此 Kappa 被认为是一个更可靠的替代方案 [23,42]。在此,作者还展示了新的案例,表明 NMI 无法准确反映聚类结果的性能。如图 2 所示,SDA-FC 提供了与真实标签更为一致的聚类结果,但 NMI 排名较低(FFCM 为 0.6806,SDA-FC 为 0.6654),这一结果是意外的。相比之下,Kappa 给出了更合理的排名(FFCM 为 0.6523,SDA-FC 为 0.6611)。此外,在 CIFAR-10 数据集上,作者在集中式场景下建立了一个基准,与真实标签计算出的真实聚类中心对比,基于从本地数据到聚类中心的余弦距离来分配聚类。直观上,基于 KM 或 FCM 的方法无法超越该基准。然而,NMI 给出的排名正好相反(基准为 0.1009,FFCM 在模糊度为 2 且 p = 0.75 时为 0.1051,FFCM 在模糊度为 2 且 p = 1 时为 0.1059),而 Kappa 给出了更合理的值(基准为 0.1992,FFCM 在模糊度为 2 且 p = 0.75 时为 0.1634,FFCM 在模糊度为 2 且 p = 1 时为 0.1854)。因此,对于基于 FCM 的方法,作者提出的方法在有效性和鲁棒性方面表现优秀。
  2. 存在 KM 基于(FCM 基于)联邦聚类和 KM 基于(FCM 基于)集中式聚类之间可识别的差距,但 SDA-FC 缓解了这个差距。
  3. 有趣的是,FFCM 在 REUTERS-10k 数据集上,在 IID 场景(𝑝 = 0)下的表现明显不如其集中式对应方法,而在非 IID 场景(𝑝 > 0)下,情况显著反转。这表明集中式训练并不总是最优选择,在某些情况下,战略性的分布式训练可能会带来更好的聚类性能。
  4. 尽管 FedMAvg 在多种非 IID 水平下表现出更大的鲁棒性,但与 SDA-FC 相比,它的表现较差,并且在通信上存在低效(稍后将详细说明)。


之前没有看过这个领域的聚类,刚好看GAN发现了这一篇,学习一下。。

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

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

相关文章

查看APK的公钥,MD5信息

查看md5 sha1 sha256的等信息 keytool -list -printcert -jarfile apk的路径地址 查看公钥私钥信息 keytool -list -rfc --keystore keystore文件的路径地址 | openssl x509 -inform pem -pubkey 把里面的keystore文件的路径地址替换成你的本地文件就可以了 如果报以上错误 就…

王炸组合:Dolphinscheudler 3.1.*搭配SeaT unnel2.3.*高效完成异构数据数据集成

概述 本篇主要介绍如何通过Dolphinscheduler海豚调度搭配Seatunnel完成异构数据源之间的数据同步功能,这个在大数据流批一体数仓建设的过程中是一个非常好的解决方案, 稳定高效,只要用上了你肯定爱不释手。 环境准备 dolphinscheduler集群…

Wireshark抓包教程(2024最新版个人笔记)

改内容是个人的学习笔记 Wireshark抓包教程(2024最新版)_哔哩哔哩_bilibili 该课程笔记1-16 wireshark基础 什么是抓包工具:用来抓取数据包的一个软件 wireshark的功能:用来网络故障排查;用来学习网络技术 wireshark下…

Java Stream流操作List全攻略:Filter、Sort、GroupBy、Average、Sum实践

在Java 8及更高版本中,Stream API为集合处理带来了革命性的改变。本文将深入解析如何运用Stream对List进行高效的操作,包括筛选(Filter)、排序(Sort)、分组(GroupBy)、求平均值&…

机器学习头歌(第三部分-强化学习)

一、强化学习及其关键元素 二、强化学习的分类 三、任务与奖赏 import numpy as np# 迷宫定义 maze np.array([[0, 0, 0, 0, 0],[0, -1, -1, 0, 0],[0, 0, 0, -1, 0],[-1, -1, 0, -1, 0],[0, 0, 0, -1, 1] ])# 定义强化学习的参数 gamma 0.8 # 折扣因子 alpha 0.5 # 学习率…

小游戏前端地区获取

目前前端获取除了太平洋,没有其它的了。 //在JS中都是使用的UTF-8,然而requst请求后显示GBK却是乱码,对传入的GBK字符串,要用数据流接收,responseType: "arraybuffer" tt.request({url: "https://whoi…

美摄科技为企业打造专属PC端视频编辑私有化部署方案

美摄科技,作为视频编辑技术的先行者,凭借其在多媒体处理领域的深厚积累,为企业量身打造了PC端视频编辑私有化部署解决方案,旨在帮助企业构建高效、安全、定制化的视频创作平台,赋能企业内容创新,提升品牌影…

w160社区智慧养老监护管理平台设计与实现

🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…

【ArcGIS微课1000例】0138:ArcGIS栅格数据每个像元值转为Excel文本进行统计分析、做图表

本文讲述在ArcGIS中,以globeland30数据为例,将栅格数据每个像元值转为Excel文本,便于在Excel中进行统计分析。 文章目录 一、加载globeland30数据二、栅格转点三、像元值提取至点四、Excel打开一、加载globeland30数据 打开配套实验数据包中的0138.rar中的tif格式栅格土地覆…

本地部署项目管理工具 Leantime 并实现外部访问

Leantime 是一款开源 AI 项目。它可以在本地直接运行大语言模型 LLM、生成图像、音频等。直接降低了用户使用AI的门褴。本文将详细的介绍如何利用 Docker 在本地部署 Leantime 并结合路由侠实现外网访问本地部署的 Leantime 。 第一步,本地部署安装 Leantime 1&am…

【HTML+CSS+JS+VUE】web前端教程-36-JavaScript简介

JavaScript介绍 JavaScript是一种轻量级的脚本语言,所谓脚本语言,指的是它不具备开发操作系统的能力,而是用来编写控制其他大型应用程序的“脚本” JavaScript是一种嵌入式语言,它本身提供的核心语法不算很多 为什么学习JavaScri…

what?ngify 比 axios 更好用,更强大?

文章目录 前言一、什么是ngify?二、npm安装三、发起请求3.1 获取 JSON 数据3.2 获取其他类型的数据3.3 改变服务器状态3.4 设置 URL 参数3.5 设置请求标头3.6 与服务器响应事件交互3.7 接收原始进度事件3.8 处理请求失败3.9 Http Observables 四、更换 HTTP 请求实现…

WINFORM - DevExpress -> gridcontrol ---->控件(ColumnEdit控件)

ImageComboBoxEdit--带图片的下拉菜单 DevExpress:带图片的下拉菜单ImageComboBoxEdit_weixin_34313182的博客-CSDN博客 ImageEdit--图片按钮 DevExpress控件中的gridcontrol表格控件,如何在属性中设置某一列显示为图片(图片按钮&#xff…

7.STM32F407ZGT6-RTC

参考: 1.正点原子 前言: RTC实时时钟是很基本的外设,用来记录绝对时间。做个总结,达到: 1.学习RTC的原理和概念。 2.通过STM32CubeMX快速配置RTC。 27.1 RTC 时钟简介 STM32F407 的实时时钟(RTC&#xf…

Vue2+OpenLayers添加/删除点、点击事件功能实现(提供Gitee源码)

目录 一、案例截图 二、安装OpenLayers库 三、安装Element-UI 四、代码实现 4.1、添加一个点 4.2、删除所有点 4.3、根据经纬度删除点 4.4、给点添加点击事件 4.5、完整代码 五、Gitee源码 一、案例截图 可以新增/删除标记点,点击标记点可以获取到当前标…

2025宝塔API一键建站系统PHP源码

源码介绍 2025宝塔API一键建站系统PHP源码,对接自己的支付,虚拟主机也能搭建,小白式建站系统,基于宝塔面板搭建的建站系统,功能丰富,多款模板,每日更新 上传源码到服务器,浏览器访问…

【计算机网络】深入浅出计算机网络

第一章 计算机网络在信息时代的作用 计算机网络已由一种通信基础设施发展成一种重要的信息服务基础设施 CNNIC 中国互联网网络信息中心 因特网概述 网络、互联网和因特网 网络(Network)由若干结点(Node)和连接这些结点的链路…

HTTP/HTTPS ⑤-CA证书 || 中间人攻击 || SSL/TLS

这里是Themberfue ✨上节课我们聊到了对称加密和非对称加密,实际上,单纯地非对称加密并不能保证数据不被窃取,我们还需要一个更加重要的东西——证书 中间人攻击 通过非对称加密生成私钥priKey和公钥pubKey用来加密对称加密生成的密钥&…

C# 25Dpoint

C# 25Dpoint ,做一个备份 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace _25Dpoint {public partial cl…

网络层协议-----IP协议

目录 1.认识IP地址 2.IP地址的分类 3.子网划分 4.公网IP和私网IP 5.IP协议 6.如何解决IP地址不够用 1.认识IP地址 IP 地址(Internet Protocol Address)是指互联网协议地址。 它是分配给连接到互联网的设备(如计算机、服务器、智能手机…