论文笔记:Model-Contrastive Federated Learning

0 简介

论文:Model-Contrastive Federated Learning
代码:https://github.com/QinbinLi/MOON
相关链接:本文主要是将SimCLR对比学习的思想迁移到联邦学习中,关于SimCLR的介绍见https://blog.csdn.net/search_129_hr/article/details/130419626

1 核心思想

在这里插入图片描述
SimCLR对比学习的对象是:

  • 图像 x x x先经过数据增强后得到的 x i x_i xi x j x_j xj,然后经过特征提取器 R w ( ⋅ ) R_w(\cdot) Rw()得到的特征 z i z_i zi z j z_j zj,训练的参数就是特征提取器的参数 w w w
  • 总体想法是同一张图片增强后的图片得到的特征要相聚,不同图片增强后的图片得到的特征相离;

在这里插入图片描述

本文提出的联邦学习MOON对比学习的对象为:

  • w t w^t wt:the global model全局模型;
  • w i t w_i^t wit:客户端 P i P_i Pi的局部模型;
  • z prev = R w i t − 1 ( x ) z_{\text{prev}} = R_{w_i^{t-1}}(x) zprev=Rwit1(x):上一轮本地训练好的发往服务器的本地模型得到的表征(固定);
  • z glob = R w t ( x ) z_{\text{glob}} = R_{w^t}(x) zglob=Rwt(x):这轮开始时服务器发送到本地客户端的全局模型得到的表征(固定);
  • z = R w i t ( x ) z = R_{w_i^t}(x) z=Rwit(x):这轮正在被更新的本地模型得到的表征(不断更新),本文作者在符号系统上没有仔细推敲,图中用的 z local z_{\text{local}} zlocal,公式用的是 z z z

本文的目标是让 z z z靠近 z glob z_{\text{glob}} zglob (固定),让 z z z远离 z prev z_{\text{prev}} zprev (固定),通过如下损失函数来控制:
ℓ con  = − log ⁡ exp ⁡ ( sim ⁡ ( z , z glob  ) / τ ) exp ⁡ ( sim ⁡ ( z , z glob  ) / τ ) + exp ⁡ ( sim ⁡ ( z , z prev  ) / τ ) , \ell_{\text {con }}=-\log \frac{\exp \left(\operatorname{sim}\left(z, z_{\text {glob }}\right) / \tau\right)}{\exp \left(\operatorname{sim}\left(z, z_{\text {glob }}\right) / \tau\right)+\exp \left(\operatorname{sim}\left(z, z_{\text {prev }}\right) / \tau\right)}, con =logexp(sim(z,zglob )/τ)+exp(sim(z,zprev )/τ)exp(sim(z,zglob )/τ),
其中 τ \tau τ为温度系数,分子是正样本对 ( z , z glob ) (z , z_{\text{glob}}) (z,zglob) ,分母是正样本对 ( z , z glob ) (z , z_{\text{glob}}) (z,zglob) +负样本对 ( z , z prev ) (z , z_{\text{prev}}) (z,zprev)

ℓ = ℓ sup  ( w i t ; ( x , y ) ) + μ ℓ con  ( w i t ; w i t − 1 ; w t ; x ) \ell=\ell_{\text {sup }}\left(w_i^t ;(x, y)\right)+\mu \ell_{\text {con }}\left(w_i^t ; w_i^{t-1} ; w^t ; x\right) =sup (wit;(x,y))+μcon (wit;wit1;wt;x)
其中 ℓ sup  ( w i t ; ( x , y ) ) \ell_{\text {sup }}\left(w_i^t ;(x, y)\right) sup (wit;(x,y))为监督学习交叉熵损失,客户端的 x x x利用全局模型 z glob = R w t ( x ) z_{\text{glob}} = R_{w^t}(x) zglob=Rwt(x)进行预测得到 y ^ \hat{y} y^,然后和真实标签 y y y计算交叉熵Loss; μ \mu μ为超参数控制对比学习的权重。
在这里插入图片描述

2 伪代码

在这里插入图片描述

  • 理想情况下(IID),全局模型和本地模型训练得到的表征应该是一样好的,此时 ℓ con  \ell_{\text {con }} con 是一个常数,这样会得到FedAvg一样的效果。
  • 在这种意义上,MOON比FedAvg更具鲁棒性(能处理Non-IID的情况)。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mysql 管理

目录 0 课程视频 1 系统数据库 -> 安装完mysql ->自带四个数据库 2 常用工具 -> 写脚本用 2.1 mysql 客户端工具 2.2 mysqladmin 2.3 mysqlbinlog -> 二进制日志 -> 运维讲解 2.4 mysqlshow 2.5 mysqldump 备份用 ->导出 2.6 mysqlimport/source -…

工控老司机告诉你热电偶和RTD的区别

热电偶和热电阻都是温度传感器,但它们的原理、功能特性和应用场景有所不同。 一、原理区别 首先,热电偶是利用两种不同金属之间的热电效应来测量温度的。其原理是利用温度差引起的金属之间的热电势差进行测量。两种金属之间存在一种热电势(…

LWIP协议与TCP/IP

1. 学习一个东西,先了解这个东西是干什么用的,哪些场景会用到它,与自己已经掌握的其他知识的联系 a. 例如:LWIP这个东西是干什么用的:他就是一个裁剪后保持大部分TCP/IP功能的协议。用少量的资源消耗实现一个较为完整的…

JavaWeb05(删除增加修改功能实现连接数据库)

目录 一.实现删除功能 1.1 url如何传参? xx.do?参数参数值&参数名参数值 1.2 servlet如何拿对应值? //根据参数名拿到对应的参数值 String str req.getParameter("参数名") 1.3 如何询问? οnclick"return con…

Python实现图像的手绘效果

用Python实现手绘图像的效果 1.图像的RGB色彩模式 图像一般使用RGB色彩模式,即每个像素点的颜色由红、绿(G)、蓝(B)组成。RGB三个颜色通道的变化和叠加得到各种颜色,其中: R红色,取值范围,0-255G绿色,取值…

【Java笔试强训 8】

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、选择题 二、编程题 🔥两种排…

什么是JVM?

目录 1、JVM的学习内容 2、JVM概述 3、字节码 4、虚拟机 5、HotSpot VM 6、Java代码的执行流程 1、JVM的学习内容 JVM大概分为三部分: 内存与垃圾回收字节码与类的加载性能监控与调优 2、JVM概述 JVM是运行在不同操作系统上的,和硬件没有直接交…

荔枝派Zero(全志V3S)基于QT实现在LCD显示图片

文章目录 前言一、配置 buildroot 及编译二、写 QT 代码三、编译可执行文件四、拷贝到 SD 卡五、上板子测试六、资源自取 前言 有这样一个需求,通过配置 QT,在 linux 下实现显示我所想要显示的图片,实现的方式是我可以在命令行将图片的路径作…

数据库单实例升级

一、单实例环境,全时长二个半钟多。详细图文说明到这下载 1、停止所有oracle相关进程。 Emctlstop dbconsole Isqlplusctl stop Lsnrctl stop sqlplus /nolog sql>conn /as sysdba Connectedtoanidleinstance. sql>shutdown 然后,冷备份下数据库cp…

第十二章 Transform组件(下)

上一章节中我们介绍了Transform组件的属性和方法。我们发现 Transform 中有right,up和forward,而 Vector3 类中也有right,up和forward,他们是一回事嘛?我们使用Forward来说明两者之间的区别。我们知道,改变…

nodejs+vue+elementui学生毕业生离校系统

学生毕业离校系统的开发过程中。该学生毕业离校系统包括管理员、学生和教师。其主要功能包括管理员:首页、个人中心、学生管理、教师管理、离校信息管理、费用结算管理、论文审核管理、管理员管理、留言板管理、系统管理等,前台首页;首页、离…

软件测试的测试用例

1.白盒和黑盒测试: 黑盒测试:把代码看成一个黑盒子,只关心输入和输出结果之间的关系 产品功能是否符合要求; 白盒测试:能够看到代码本身,针对代码本身进行测试,测试代码本身的逻辑是否符合规范。 2.测试用…

SOFA Weekly|SOFAArk 社区会议预告、Layotto 社区会议回顾、社区本周贡献

SOFA WEEKLY | 每周精选 筛选每周精华问答,同步开源进展 欢迎留言互动~ SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件&am…

c#笔记-内置类型

内置类型 内置类型是一些有关键字表示的类型。关键字具有非常高的优先级,可以让你在没有别的配置的情况下, 只要用的是c#就可以使用。这也意味着这些类型是非常重要,或是基本的东西。 整数:byte, sbyte, short, ushort, int, ui…

展望Flink各版本及新特性

展望Flink各版本及新特性 一 Flink 1.9 版本1.1 细粒度批作业恢复1.2 State Processor API1.3 Stop-with-Savepoint1.4 新 Blink SQL 查询处理器预览1.5 Table API / SQL 的其他改进 二 Flink 1.10 [重要版本 : Blink 整合完成]2.1 内存管理及配置优化2.2 统一的作业提交逻辑2.…

【WCH】CH32F203基于内部RTC+I2C SSD1306 OLED时钟和温度显示

【WCH】CH32F203基于内部RTCI2C SSD1306 OLED时钟和温度显示 📌相关篇《【WCH】CH32F203基于内部RTC时钟I2C SSD1306 OLED显示》📺显示效果: ✨主要是在其基础 上增加温度显示,温度数据来源于DS18B20,更换了OLED驱动显…

大型Saas系统的权限体系设计(二)

X0 上期回顾 上文《大型Saas系统的权限体系设计(一)》提到2B的Saas系统的多层次权限体系设计的难题,即平台、平台的客户、客户的客户,乃至客户的客户的客户如何授权,这个可以通过“权限-角色-岗位”三级结构来实现。 但这个只是功能权限&am…

Apache安装与基本配置

1. 下载apache 地址:www.apache.org/download.cgi,选择“files for microsoft windows”→点击”ApacheHaus”→点击”Apache2.4 VC17”,选择x64/x86,点击右边download下面的图标。 2. 安装apache (1)把…

【LeetCode】1000题挑战(220/1000)

1000题挑战 没有废话,直接开刷! 目录 1000题挑战 没有废话,直接开刷! 第一题:119. 杨辉三角 II - 力扣(Leetcode) 题目接口 解题思路 代码: 过过过过啦!&#x…

【软考备战·希赛网每日一练】2023年5月2日

文章目录 一、今日成绩二、错题总结第一题 三、知识查缺 题目及解析来源:2023年05月02日软件设计师每日一练 一、今日成绩 二、错题总结 第一题 解析: 三、知识查缺 复习 流水线技术。序列图(顺序图)用于展现系统中一个用例和多…