Cali3F: Calibrated Fast Fair Federated Recommendation System

news2024/11/17 7:47:13

Decentralized Collaborative Learning Framework for Next POI Recommendation

标定的(校准的)快速公平联邦推荐系统

1. What does literature study?

  1. 提出一个经过校准的快速而公平的联邦推荐框架Cali3F,通过集群内参数共享解决了收敛问题,另外使用全局模型校准本地模型提高公平性。

2. What’s the innovation?

1. Past shortcomings && Unsolved problems

  1. 联邦参与者之间的公平性(跨设备推荐性能的一致性)
  2. 数据异构和网络限制对收敛的影响

2.Innovation:

  1. 提出一种个性化联邦推荐算法,使用全局模型参数进行标定,提高推荐性能的公平性。
  2. 采用基于聚类的聚合方法加快训练。
  3. 提出的框架提高了预测准确性、收敛速度和通信成本。

3. What was the methodology?

在这里插入图片描述

Cali3F框架:基于聚类的客户端采样(Clussamp),校准的本地模型更新(CaliUp)和快速聚合方法(FastAgg)。基本推荐模型选择NCF(低延迟和低成本)。

1.基于聚类的客户端采样(Clussamp)

将客户端分组为P个集群,从每个集群中随机选择一个给定数量的客户端参与训练,所选择的客户端被称为委托客户端,其余的为从属客户端。

2.快速聚合方法(FastAgg)

维护具有类似用户嵌入的客户端集群,并向包含它们的集群的所有其他客户端广播客户端更新。FastAgg结合本地模型来更新共享全局模型,使联邦模型更快地收敛并产生更高质量的推荐。

3.校准的本地模型更新(CaliUp)

Cali3F 的前提是,通过减少对全局模型的依赖,我们可以减少代表性差异,从而促进公平。通过全局模型校准本地模型训练的方法,同时保持与全局模型的差异
在这里插入图片描述
通过每个FL回合,每个集群维护本地模型 v p v^p vp,首先计算 p p p的梯度,应用一个额外梯度方向为全局分量和局部分量的差,对局部模型约束,使其不会发散太远。
v p t + 1 ← v p t − η ( ∇ F p ( v p t ) + φ ∥ ∇ F p ( v p t ) ∥ v p t − w t ∥ v p t − w t ∥ ) v_p^{t+1} \leftarrow v_p^t-\eta\left(\nabla F_p\left(v_p^t\right)+\varphi\left\|\nabla F_p\left(v_p^t\right)\right\| \frac{v_p^t-w^t}{\left\|v_p^t-w^t\right\|}\right) vpt+1vptη(Fp(vpt)+φ Fp(vpt) vptwtvptwt)

4. What are the conclusions?

  1. 数据集:
    在这里插入图片描述

  2. 评价指标: 使用命中率(HR)和标准化的累积增益(NDCG)评估推荐的性能。HR计算推荐列表前十名中出现的测试项目的百分比,而NDCG将相关结果除以log2(i + 1),以鼓励测试项目的更高排名。

  3. 实验对比:与联邦方法相比,我们的 Cali3F 始终优于 FedAvg 基线。个性化可以有效地提高推荐的公平性。

  4. 总结:Cali3F在保持快速收敛速度的同时提高联邦客户端推荐性能公平性,将神经网络集成到联邦协同过滤推荐框架,采用 MTL (多任务学习)通过一个自适应 L2规范正则化项同时训练局部和全局模型。采用委托抽样策略和基于用户配置相似性的块更新组件,加快分布式训练的速度。

5. others

  1. 《Calibrated Recommendations》
    https://dl.acm.org/doi/pdf/10.1145/3240323.3240372
    https://github.com/tanmay17061/cf_project
    推荐系统公平性之校准化推荐–calibrated recommendations_cqu_shuai的博客-CSDN博客
    深入理解推荐系统:Fairness、Bias和Debias
  2. 多任务学习(MTL)包括硬参数共享和加权组合方法,
    本文所说的多任务是不是就是全局任务和局部任务?
    多任务学习旨在用其他相关任务提升主要任务的泛化性能。简单来说多任务学习是一种集成学习方法(ensemble approach),通过对几个任务同时训练而使得多个任务之间相互影响。这种影响会一起反映到共享参数上,当所有任务收敛的时候,这个结构就相当于融合了所有任务。
  3. NCF将模型分为三个部分:用户嵌入组件,项目嵌入组件,非嵌入组件。
    Update of non-embedding component (CaliUp).
  4. 定义的"公平":两个模型的NDCG在K个客户端上(归一化折现累积增益)方差越小越稳定,表示模型越公平。使用标准差来表征公平程度。标准偏差越大表明客户端模型之间的性能差距较大且不太公平。
  5. 使用 K-均值聚类方法将用户重新聚类为 P 个聚类,共享同一集群的客户机平均他们的非嵌入组件参数以创建一个表示集群的新本地模型。
  6. 将 Cali3F 与另一种方法 Ditto 进行了比较,后者使用局部和全局模型参数差的 l2范数作为约束项来训练局部模型,但在正则化项的固定系数上与我们的方法有所不同。

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

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

相关文章

创新引领未来:RFID技术在汽车装配中的智能革命

射频识别(RFID)技术作为一种自动识别技术,已经在许多领域得到广泛应用。在汽车装配领域,RFID技术的应用可以提高装配过程的效率、降低人工错误率,并帮助实现自动化和智能化生产。本文将介绍RFID技术在汽车装配中的应用…

动态二维码生成器PHP Dynamic QRcode

什么是 PHP Dynamic QRcode ? PHP Dynamic QRcode 是一个允许生成和保存动态和静态二维码(QR码)的应用。它具有简洁、响应灵敏且用户友好的设计。其中包含您网站中可能需要的一般功能,如:记录管理(CRUD&…

【2023,学点儿新Java-27】是的——C语言中的const关键字 | 附:按照类型 快速了解与划分:C语言中的关键字 | goto关键字解释

前情回顾: 【2023,学点儿新Java-26】关键字介绍示例代码:assert 断言(如何启用断言),以 验证一个数组的长度是否不为零 为例说明【2023,学点儿新Java-25】如何解决浮点计算存在误差&#xff1a…

Selenium Grid入门详解

目录 前言: 一、简介 二、使用场景 三、使用前提 四、使用方式 五、实现在另一台电脑运行脚本 前言: Selenium Grid是一个用于分布式测试的工具,它允许同时在多个机器上执行Selenium测试。通过使用Selenium Grid,你可以在不…

Linux系统Centos7 安装MySQL8.0详细步骤

MySql安装 1.下载wget命令 yum -y install wget 2. 在线下载mysql安装包 wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm 3.MySQL的GPG升级了,需要更新,如果是新安装的MySQL,执行以下脚本即可&#xff1…

Vite + Vue3 + Electron实现进程通信

Vite Vue3 Electron实现进程通信 实现 渲染进程 / 主进程 通信(IPC) Electron 是一个基于 Chromium 和 Node.js 的桌面应用程序开发框架,而 Vue3 则是一种流行的前端框架。将两者结合使用可以快速地打造出跨平台的桌面应用程序。在这种组…

Sui x KuCoin Labs夏季黑客松第三批入围项目公布

自Sui x KuCoin Labs夏季黑客松开放注册以来,已收获了众多开发者的报名参与。赛程过半,截至目前为止,第一批和第二批入围项目已在前两周公布,第三批入围名单项目新鲜出炉,进入最终的Demo Day。 第三批入围名单 SuiVi…

在 Linux 中查找 IP 地址的 3 种简单方法

在 Linux 系统中,经常需要查找 IP 地址以进行网络配置、故障排除或安全管理。无论是查找本地主机的 IP 地址还是查找其他设备的 IP 地址,本文将介绍三种简单的方法,帮助你在 Linux 中轻松找到所需的 IP 地址。 总结 通过上述三种简单的方法&…

自动化测试进阶之路(WEB自动化二)

一、设计模式 Pom模块关键字驱动模式 pom模块:page object model 页面对象模式好处: 解决线性脚本的问题解决代码不能重复利用的问题后期的维护问题 分三层(页面对象层调用基础层的方法,测试用例层调用页面对象层的方法&#xff0…

Spring Boot 有哪些方式可以实现热部署

一、什么是热部署? 释义 所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。 对于Java应用程序来说,热部署就是在运行时更新Java类文件。在基于Java的应用服务器实现热部署的过程中,类装入器扮演着…

EasyDSS视频直播点播平台视频回看列表显示为ID的排查与优化

视频直播点播EasyDSS平台具备灵活的视频能力,包括直播、点播、转码、管理、录像、检索、时移回看等,平台支持音视频采集、视频推拉流、播放H.265编码视频、存储、分发等能力服务,可应用在无人机推流、在线直播、虚拟直播、远程培训等场景中。…

String面试

以下讨论以jdk8为标准: String Pool:字符串常量池 存储字面量位于堆中,不在元空间intern()方法会去常量池找,没有的话就创建一个,返回常量池中的地址;有的话就直接返回对象地址 new String(“”)方法强制创…

3.Hive SQL数据定义语言(DDL)

1. 数据定义语言概述 1.1 常见的开发方式 (1) Hive CLI、Beeline CLI Hive自带的命令行客户端 优点:不需要额外安装 缺点:编写SQL环境恶劣,无有效提示,无语法高亮,误操作率高 (2&…

IMX6ULL系统移植篇-uboot的配置与编译

一. 编译 uboot简介 开发板的资源 :256MB(DDR3) 512MB(NAND)核心板 这里使用的是阿尔法开发板,256MB的 DDR,核心板是 512MB的 Nand-Flash。 二. 编译 uboot 创建 /uboot/alientek_uboot 目录文件,将正点原子提供的 uboot源码包…

chatgpt赋能python:如何将Python图形居中

如何将Python图形居中 介绍 在Python编程中,绘图是非常重要的环节。无论是作为数据可视化的一部分,还是作为界面设计的基础,具有图形界面的Python应用程序都需要在屏幕上将图形元素居中。然而,很多新手在实现图形居中时往往会遇…

常州工学院计算机组成原理2022-2023第一学期补考

一、简答题(共30分,每题6分) 1、以将指令地址码指示的存储单元中的操作数取出后送至运算器的ACC中为例,完成一条指令的信息流程。 2、什么是RISC?请简述它的主要特点。比较RISC和CISC的异同之处。 RISC全称Reduced Instruction …

CentOS 执行yum命令报错【错误:为仓库 ‘appstream‘ 下载元数据失败: ...】

文章目录 一、遇到问题二、原因分析三、解决问题方案一:更新centos提供的yum源新地址1. yum源仓库配置文件内容2. 更新yum源新地址3. 测试yum安装命令 方案二:更新为 国内的yum源1. 使用 阿里的yum源2. 使用 网易的yum源3. 使用 清华的yum源 四、总结 一…

75、基于51单片机交通灯+人行道+左转系统设计(程序+原理图+Proteus仿真+参考论文+开题报告+任务书+元器件清单等)

摘 要 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具…

常州工学院数据库2022-2023第二学期期末答案

1. 不能够成功执行,因为关系R的主码为AB,故而关系重属性AB不可以完全相同,关系中已经存在了A1,B1,故而不能够将相同的A,B字段值放入关系中 2. update 职工 set 所在部门号 is null where 所在部门号 in(…

ARM接口题目

1)说出ARM可以工作的模式名字。 ARM有8个基本工作模式: User :非特权模式,大部分任务执行在这种模式 FIQ :当一个高优先级(fast)中断产生时将会进入这种模式 IRQ :当一个低优先级(normal)中断产生时将会进入这种模式 Supervisor :当复位…