Dual Personalization on Federated Recommendation

联合推荐的双重个性化在这里插入图片描述

代码链接
论文链接

主要创新

文章的主要创新是提出了一种双重个性化机制,用于增强联邦推荐系统的性能。这种机制能够在联邦学习框架中为每个本地模型学习用户特定的物品嵌入,从而显著提升推荐系统的效果。通过在四个数据集上进行实验,研究结果表明,引入双重个性化机制的联邦推荐方法在HR@10和NDCG@10指标上都有显著的提升,其中FedNCF方法的提升效果最为显著。在MovieLens-100K数据集上,HR@10和NDCG@10指标分别提升了13.53%和18.29%。总之,这项研究的主要创新是通过双重个性化机制有效地提升了联邦推荐系统的性能。

论文设计了一个双层优化目标:

双层优化目标指的是在提出的联邦推荐学习问题中,我们将其形式化为一个统一的联邦优化框架,其中包含两个层次的优化目标。第一层是全局优化目标,通过联邦学习的方式,在所有设备上学习一个全局模型的参数,以最小化所有客户端的累积损失。第二层是个体优化目标,每个设备上的个性化模型通过在设备上的个体数据上学习个体参数,以最小化该设备上的个体损失。因此,双层优化目标是指在全局层面和个体层面同时进行优化,以实现全局和个体之间的平衡。

双层个性化

双层个性化主要包括两个层面的个性化:一个是基于设备的个性化,即在每个设备上学习用户特定的轻量级模型;另一个是基于服务器的个性化,即在服务器上学习用户得分函数的参数。在这种双层个性化框架下,设备上的用户得分函数模块保持私有,而物品嵌入模块则与服务器共享。服务器仅对物品嵌入模块的参数进行聚合,而不会聚合设备上的用户得分函数模块。这种方式既实现了个性化,又保护了用户的隐私。

双层个性化与其他联邦学习方法的最大区别是

双层个性化机制与其他方法的不同之处在于它能够提供更为精细的个性化推荐。传统的联邦推荐方法通常只考虑了全局模型的个性化,而忽视了本地模型的个性化。而双层个性化机制则能够同时利用全局模型和本地模型,从而更好地学习用户的个性化偏好。通过将用户特定的项目嵌入到本地模型中,双层个性化机制能够更好地捕捉用户的偏好,从而提供更准确的推荐结果。因此,相对于其他方法,双层个性化机制能够在推荐系统中显著提升推荐效果。

双层个性化相比集中式方法最大的优点是什么?
  • 更细粒度的个性化:双重个性化机制考虑了两种形式的个性化,可以进一步挖掘用户的偏好。
  • 更适应用户特定偏好:双重个性化机制通过学习用户特定的项目嵌入来捕获用户对项目的偏好,这使得推荐系统能够更好地满足用户的个性化需求。
  • 保护用户隐私:双重个性化机制可以在保护用户隐私的同时实现细粒度的个性化推荐。
  • 更强的适应能力:双重个性化机制具有更强的适应能力,可以灵活地应对现代推荐应用的复杂性,例如冷启动问题、动态性、利用辅助信息以及处理多模态内容。
论文中的实验是如何设计的?
  • 实验环境:论文使用四个真实世界数据集 (MovieLens-100K, MovieLens-1M, Lastfm-2K 和 Amazon-Video) 来评估所提出的 PFedRec 方法。数据集特征表格显示了各数据集的大小和用户、项目等信息。
  • 基线和实现细节:作者与中心化和联邦学习方法进行比较,基线包括五种方法:MF、FedMF、NCF、FedNCF 和 FedRecon。实现细节包括用户(项目)嵌入大小为 32,批处理大小为 256,设置通信轮次为 100 次,并且根据原始论文设置其他模型细节。
  • 比较分析:实验结果显示 PFedRec 方法在四个数据集上均取得了优越的性能表现。具体来说,PFedRec 在 MovieLens-100K 和 MovieLens-1M 数据集上实现了显著的性能提升,而在 Lastfm-2K 和 Amazon-Video 数据集上,PFedRec 也保持了最佳性能。
  • 利用双层次个性化机制增强联邦推荐方法:作者将双层次个性化机制整合到 FedMF、FedNCF 和 FedRecon 方法中,以验证双层次个性化机制的效果。实验结果表明,所有三种联邦推荐方法在整合双层次个性化机制后均得到显著的性能提升。
  • PFedRec 中的个性化仔细分析:作者提出了两个问题以验证个性化项目嵌入在 PFedRec 中的作用:Q1 为什么个性化项目嵌入在推荐方面比全局嵌入更有效?Q2 用户之间的个性化项目嵌入有多具体?为了回答 Q1 问题,作者首先讨论其直接的洞察,然后通过 t-SNE 将嵌入映射到二维空间来进行可视化。实验结果表明,PFedRec 模型能够学习用户对项目的偏好。为了回答 Q2 问题,作者将三种使用项目嵌入的情况进行比较:Global: 所有用户都使用全局项目嵌入。Own: 每个客户都使用其自己的得分函数和个性化项目嵌入。Server: 服务器上的全局项目嵌入用于推荐,而不是用户个性化的项目嵌入。
  • 使用局部差分隐私保护:使用局部差分隐私技术可以在保护用户隐私的同时提供个性化的推荐服务。具体而言,在联邦学习框架中,通过在设备上学习个性化的评分函数和个性化的物品嵌入,可以实现对用户个性化偏好的捕捉。同时,为了保护用户的隐私,可以对物品嵌入进行差分隐私处理,向嵌入中注入噪声,使服务器无法通过观察嵌入的变化来推断更新的物品。此外,还可以结合其他隐私保护方法,如安全通信和差分隐私,来提供具有隐私保证的服务。总之,使用局部差分隐私技术可以实现在联邦学习框架下的个性化推荐,并保护用户的隐私。

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

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

相关文章

FreeRTOS-定时器\二值信号互斥信号\事件组

FreeRTOS整体知识框架可以参考下文: FreeRTOS整体知识框架 一. FreeRTOS定时器 FreeRTOS定时器 博文路径 FreeRTOS提供了一种软件定时器,用来快速实现一些周期性的操作,并且节约了硬件定时器。不过尽量还是不要做过多的操作,以免影响其他…

office2024下载详细安装教程

简单的说 Office 是一款由Microsoft 开发的一套办公软件,里面包含了常用的办公组件而其中就包含了Word、Excel、PowerPoint、Access等! 并且office是目前最常用的一类办公软件,使用它可以解决日常生活和工作中遇到的很多问题。 熟练掌握offi…

【信息安全原理】——IP及路由安全(学习笔记)

目录 🕒 1. IPv4协议及其安全性分析🕒 2. IPsec(IP Security)🕘 2.1 IPsec安全策略🕤 2.1.1 安全关联(Security Association, SA)🕤 2.1.2 安全策略(Security…

【lvgl】linux开发板搭建环境

前言 本章介绍如何在linux开发板准备好了fb0的情况下移植lvgl。 抓取源码 git clone https://github.com/lvgl/lvgl.git git clone https://github.com/lvgl/lv_drivers.git git clone https://github.com/lvgl/lv_demos.git git clone https://github.com/lvgl/lv_port_lin…

【教3妹学编程-算法题】使数组变美的最小增量运算数

2哥 : 3妹,脸上的豆豆好了没呢。 3妹:好啦,现在已经没啦 2哥 : 跟你说很快就会消下去的,还不信~ 既然你的容颜和心情都如此美丽,那我们就再做一道关于美丽的题吧。 3妹:切,2哥就会取笑我&#x…

搬家两年随笔

不知不觉中,我已经搬到这个地方两年多了。 回首这段时间,我感触颇深。 尽管这里地理位置较为偏僻,交通不是特别方便,但环境优美,绿树成荫,空气清新。 只是相对于之前的生活环境,这里离上班的地方…

【入门Flink】- 02Flink经典案例-WordCount

WordCount 需求&#xff1a;统计一段文字中&#xff0c;每个单词出现的频次 添加依赖 <properties><flink.version>1.17.0</flink.version></properties><dependencies><dependency><groupId>org.apache.flink</groupId><…

根据Word模板,使用POI生成文档

突然想起来有个小作业&#xff1a;需要根据提供的Word模板填充数据。这里使用POI写了一个小demo验证下。 测试用模板&#xff1a; 执行结果 1.引入依赖坐标 <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId&…

Emscripten + CMakeLists.txt 将 C++ 项目编译成 WebAssembly(.wasm)/js,并编译 Html 测试

背景&#xff1a;Web 端需要使用已有的 C 库&#xff08;使用 CMake 编译&#xff09;&#xff0c;需要将 C 项目编译成 WebAssembly(.wasm) 供 js 调用。 上篇文章《Mac 上安装 Emscripten》 已讲解如何安装配置 Emscripten 环境。 本篇文章主要讲解如何将基于 CMakeLists 配…

CSS解决div行变块 ➕ CSS解决“table中的td文字溢出控制显示字数,显示省略号”的问题

CSS解决div行变块 ➕ CSS解决“table中的td文字溢出控制显示字数&#xff0c;显示省略号”的问题 1. div变块级设置1.1 先看不设置的效果1.2 再看设置之后的效果 2. 解决 table 中 td 内容过长问题2.1 CSS实现&#xff08;文字溢出控制td显示字数&#xff0c;显示省略号&#x…

Bytedance揭秘OpenAI大模型: GPT-3到GPT-4进化路径

文章目录 探秘GPT-3到GPT-4进化之路1、SFT&#xff1a;早期GPT进化的推动者2、RLHF和SFT&#xff1a;编码能力提升的功臣3、代码加入预训练&#xff0c;对推理帮助最大4、“跷跷板”现象 论文地址项目链接Reference GPT-Fathom: Benchmarking Large Language Models to Deciphe…

基于Qt Designer 操作教程

​本章将简介使用 Qt Creator 里自带的 Qt Designer,使用 Qt Designer 比较方便的构造 UI 界面。特点是方便布局,比较形象。 ## 使用 UI 设计器开发程序 在这小节里我们继续学习如何使用 Qt Designer 开发程序,Qt Designer 是属于 Qt Creator 的一个功能而已,大家不要搞混…

window10 mysql8.0 修改端口port不生效

mysql的默认端口是3306&#xff0c;我想修改成3307。 查了一下资料&#xff0c;基本上都是说先进入C:\Program Files\MySQL\MySQL Server 8.0这个目录。 看看有没有my.ini&#xff0c;没有就新建。 我这里没有&#xff0c;就新建一个&#xff0c;然后修改port&#xff1a; […

使用Renesas Flash Programmer(RFP)修改Option Byte及刷写程序

文章目录 前言配置Project修改OPBT程序刷写其他操作总结 前言 瑞萨RH850 P1H-C系列&#xff0c;在之前不知道OPBT对程序影响这么大&#xff0c;导致意外操作了其中的寄存器&#xff0c;板子锁死&#xff0c;不能再次刷写程序。本文记录下使用RFP工具刷写Option Byte需要注意的…

最新Ai系统ChatGPT程序源码+以图生图+Dall-E2绘画+支持GPT4+Midjourney绘画

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

怎样做好金融投资翻译

我们知道&#xff0c; 金融投资翻译所需的译文往往是会议文献、年终报表、信贷审批等重要企业金融资料&#xff0c;其准确性事关整个企业在今后一段时期内的发展战略与经营成效。尤其像年报&#xff0c;对于上市公司来说更是至关重要的。那么&#xff0c;怎样做好金融投资翻译&…

【漏洞复现】Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证 1.5、深度利用1、反弹Shell 说明内容漏洞编号CVE-2017-5645漏洞名称Log4j Server …

算法:Java构建二叉树并迭代实现二叉树的前序、中序、后序遍历

先自定义一下二叉树的类&#xff1a; // Definition for a binary tree node. public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val val; }TreeNode(int val, TreeNode left, TreeNode right) {this.val val;this.left…

【C语言】扫雷游戏的一步一步的实现

文章目录 一、扫雷游戏分析和设计1.1 扫雷游戏的功能说明1.2 游戏的分析和设计1.2.1 数据结构的分析1.2.2 ⽂件结构设计 二、扫雷游戏代码实现总结 一、扫雷游戏分析和设计 1.1 扫雷游戏的功能说明 • 使⽤控制台实现经典的扫雷游戏 • 游戏可以通过菜单实现继续玩或者退出游…

HTTPS的加密方式超详细解读

在了解https的加密方式之前&#xff0c;我们需要先行了解两个特别经典的传统加密方式&#xff1a; 1、对称加密 1.1、定义 需要对加密和解密使用相同密钥的加密算法。所谓对称&#xff0c;就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解…
最新文章