Semi-decentralized Federated Ego Graph Learning for Recommendation

论文概况

本文是2023年WWW的一篇联邦推荐论文,提出了一个半去中心化的联合自我图学习框架。

Introduction

作者提出问题

  • 现有的推荐方法收集所有用户的自我图来组成一个全局图,导致隐私风险。
  • 联合推荐系统已被提出来缓解隐私问题,但在客户端设备的可扩展性和资源限制方面面临挑战。
  • SemiDFEGL 框架引入了设备到设备的协作,以提高可扩展性并降低通信成本。
  • 该框架利用预测的交互项目节点来连接孤立的自我图,从而能够以保护隐私的方式使用高阶协作信息。
  • 所提出的框架与模型无关,可以与现有的基于图神经网络的推荐方法和隐私保护技术集成。

Method

在这里插入图片描述

A.设备内局部自我图嵌入

该方法涉及利用中央服务器生成虚假的共同物品,以连接用户并创建一个本地协作子图。每个客户端首先通过图神经网络(GNN)的消息传递机制学习本地自我图的嵌入表示。
e u ( k + 1 ) = A g g F u n ( e u ( k ) , { e i ( k ) } i ∈ N ( u ) ) \mathbf{e}_u^{(k+1)}=AggFun(\mathbf{e}_u^{(k)},\{\mathbf{e}_i^{(k)}\}_{i\in\mathcal{N}_{(u)}}) eu(k+1)=AggFun(eu(k),{ei(k)}iN(u))
e u ( k + 1 ) = ∑ i ∈ N ( u ) 1 N ( u ) N ( i ) e i ( k ) e i ( k + 1 ) = ∑ u ∈ N ( i ) 1 N ( i ) N ( u ) e u ( k ) \mathbf{e}_{u}^{(k+1)}=\sum_{i\in\mathcal{N}_{(u)}}\frac{1}{\sqrt{\mathcal{N}_{(u)}}\sqrt{\mathcal{N}_{(i)}}}\mathbf{e}_{i}^{(k)}\\\mathbf{e}_{i}^{(k+1)}=\sum_{u\in\mathcal{N}_{(i)}}\frac{1}{\sqrt{\mathcal{N}_{(i)}}\sqrt{\mathcal{N}_{(u)}}}\mathbf{e}_{u}^{(k)} eu(k+1)=iN(u)N(u) N(i) 1ei(k)ei(k+1)=uN(i)N(i) N(u) 1eu(k)

在初始轮中,我们将用户嵌入作为自我图嵌入
e e g o = e u \mathbf{e}_{ego} = \mathbf{e}_{u} eego=eu
下面我们将服务器中的物品嵌入和自我图嵌入进行聚类。
J m ( P , C ) = ∑ i = 1 M + N ∑ j = 1 C ( P i j ) l d ( x i , c j ) 2 J_m(P,C)=\sum_{i=1}^{M+N}\sum_{j=1}^C\left(P_{ij}\right)^ld\left(\mathbf{x}_i,\mathbf{c}_j\right)^2 Jm(P,C)=i=1M+Nj=1C(Pij)ld(xi,cj)2
P i j = ( d ( x i , c j ) ) 2 / ( 1 − l ) / [ ∑ k = 1 c ( d ( x i , c k ) ) 2 / ( 1 − l ) ] c j = [ ∑ i = 1 M + N P i j l x i ] / [ ∑ i = 1 M + N P i j l ] P_{ij}=\left(d\left(\mathbf{x}_{i},\mathbf{c}_{j}\right)\right)^{2/(1-l)}/\left[\sum_{k=1}^{c}\left(d\left(\mathbf{x}_{i},\mathbf{c}_{k}\right)\right)^{2/(1-l)}\right]\\\mathbf{c}_{j}=\left[\sum_{i=1}^{M+N}P_{ij}^{l}\mathbf{x}_{i}\right]/\left[\sum_{i=1}^{M+N}P_{ij}^{l}\right] Pij=(d(xi,cj))2/(1l)/[k=1c(d(xi,ck))2/(1l)]cj=[i=1M+NPijlxi]/[i=1M+NPijl]
c是群的中心,d(·)为距离函数。该操作将自我图和物品进行分类。
之后,对于每个用户的成员关系,我们选择具有最大值的元素,以确保每个用户/客户机只属于一个组。对于每个项目的隶属关系,我们选择前k个最大的元素,以便同一项目可以属于多个组。
因此,分配给每个组的项目称为预测交互项目节点(也称为假公共项目),并用于连接到组内的每个用户,以形成高阶局部子图。

B.设备到设备协作

设备与设备之间进行图级别的信息传播。
首先,在局部进行用户和物品的嵌入计算。
e u = ∑ k = 0 K α k e u ( k ) ; e i = ∑ k = 0 K α k e i ( k ) \mathbf{e}_{u}=\sum_{k=0}^{K}\alpha_{k}\mathbf{e}_{u}^{(k)};\quad\mathbf{e}_{i}=\sum_{k=0}^{K}\alpha_{k}\mathbf{e}_{i}^{(k)} eu=k=0Kαkeu(k);ei=k=0Kαkei(k)
随后,利用假邻接物品进行图级别的信息传播。

C.设备到服务器协作

在本地学习节点嵌入后,我们通过从每个组中采样设备并将项目嵌入上传到中央服务器以更新全局项目嵌入表来执行设备到服务器的协作。
为了保护用户的交互数据,每个客户端采样了一些它没有交互的项目,并随机生成它们的嵌入e,具有与实际交互项目嵌入e相同的均值和方差。
此外,由于嵌入也可能泄露用户隐私,我们对上传的嵌入进行基于l1范数的阈值裁剪。
e ^ i = c l i p ( e ^ i , δ ) + L a p l a c e ( 0 , λ ) \hat{\mathbf{e}}_{i}=\mathrm{clip} (\hat{\mathbf{e}}_{i},\delta)+\mathrm{Laplace}(0,\lambda) e^i=clip(e^i,δ)+Laplace(0,λ)

D.模型预测和训练

在中央服务器上,通过计算用户上传自我图嵌入和每个条目嵌入的排名分数,生成模型预测。
y u i = e e g o T e i y_{ui}=\mathbf{e}_{ego}^T\mathbf{e}_i yui=eegoTei
L = − ∑ i ∈ N u ∑ j ∉ N u ln ⁡ σ ( y u i − y u j ) + λ ∥ e ∥ 2 \mathcal{L}=-\sum_{i\in N_{u}}\sum_{j\notin N_{u}}\ln\sigma\left(y_{ui}-y_{uj}\right)+\lambda\left\|\mathbf{e}\right\|^{2} L=iNuj/Nulnσ(yuiyuj)+λe2

E.结果

在这里插入图片描述

总结

本文介绍了一种新颖的联合推荐系统方法,可解决隐私问题和可扩展性问题,为设备上的推荐提供了一种有前途的解决方案。

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

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

相关文章

TXT文本高效批量编辑,支持批量将每个单号间的空白行进行删除掉,文本内容管理更方便

TXT文本是一种常用的存储快递单号的数据格式。然而,当TXT文本中存在大量的空白行时,不仅浪费了存储空间,还可能导致批量编辑和查询变得低效。为了解决这一问题,我们推出了高效的TXT文本批量编辑功能,支持批量删除单号间…

EOCR-ELR-30RM7Q电机保护器 施耐德韩国三和

EOCR-ELR-30RM7Q电机保护器 施耐德韩国三和 基于MCU(微处理器)的密集型设计 精确的接地故障保护功能 电力系统和电动机的接地故障保护 零序电流互感器监测接地故障 电流和故障延时单独设定 LED显示电源输入和运行状态 嵌入式安装 EOCR主要产品有电子式电动机保护继电器&#xf…

redis分片java实践、redis哨兵机制实现、redis集群搭建

redis分片java实践 linux安装redishttps://mp.csdn.net/mp_blog/creation/editor/134864302复制redis.conf配置文件成redis1.conf、redis2.conf、redis3.conf 修改redis的端口信息和存pid文件的路径。存pid文件的路径只要不同就行了,没什么特别要求。 指定配置文件…

记录汇川:电磁阀封装

二位电磁阀封装: 中封三位电磁阀封装: HMI:

5.6代码

1.最大公约数 这个题最重要的是要找到一个区间是1&#xff0c;找到之后就可以直接加次数就可以了 #include <bits/stdc.h>using namespace std;main() {long long n,i,j,a0,b,ans99999;cin>>n;long long s[n],dp[n][n];for(i0;i<n;i){cin>>s[i];if(s[i]1…

小程序预览或上传代码时,遇到app.json未找到某个wxml文件的解决方法

uniapp小程序&#xff0c;点击预览或者是上传代码&#xff0c;遇到app.json无法找到某个wxml文件的解决方法&#xff1a;清缓存 问题&#xff1a; message&#xff1a;Error: app.json: 未找到 ["subPackages"][3]["pages"][3] 对应的 subPackages4/pages/…

央国企加速新质生产力形成和发展,HR数字化工具如何推动创新内核构建?

自今年两会以来&#xff0c;“新质生产力”一词获得了广泛的关注。众多专家学者对其重要性、定义及作用进行了热烈且深入的讨论&#xff0c;一致强调了新质生产力的核心地位。对于那些致力于转型为现代化国有企业的国资中央企业而言&#xff0c;培育新质生产力无疑成为了当前及…

充电宝哪个牌子好?比较好用充电宝牌子,这些品牌别错过

作为一个资深的手机控&#xff0c;深知手机对于现代人的重要性。从早到晚&#xff0c;无论是点外卖、看剧还是处理各种事务&#xff0c;手机几乎成了我生活的必需品。然而&#xff0c;手机电量的问题总是让人头疼。在家时&#xff0c;找个插座充电自然不成问题&#xff0c;但出…

论文查重率高,有什么办法降重吗?推荐几个ai降重工具

现在大部分学校已经进入到论文查重降重的阶段了。如果查重率居高不下&#xff0c;延毕的威胁可能就在眼前。对于即将告别校园的学子们&#xff0c;这无疑是个噩梦。四年磨一剑&#xff0c;谁也不想在最后关头功亏一篑。 查重率过高&#xff0c;无非以下两种原因。要么是作为“…

论文查重率高,有什么办法降重吗?推荐笔灵AI

现在大部分学校已经进入到论文查重降重的阶段了。如果查重率居高不下&#xff0c;延毕的威胁可能就在眼前。对于即将告别校园的学子们&#xff0c;这无疑是个噩梦。四年磨一剑&#xff0c;谁也不想在最后关头功亏一篑。 查重率过高&#xff0c;无非以下两种原因。要么是作为“…

超详细——集成学习——Adaboost实现多分类——附代码

资料参考 1.【集成学习】boosting与bagging_哔哩哔哩_bilibili 集成学习——boosting与bagging 强学习器&#xff1a;效果好&#xff0c;模型复杂 弱学习器&#xff1a;效果不是很好&#xff0c;模型简单 优点 集成学习通过将多个学习器进行结合&#xff0c;常可获得比单一…

程序员的实用神器:助力软件开发的利器 ️

程序员的实用神器&#xff1a;助力软件开发的利器 &#x1f6e0;️ 程序员的实用神器&#xff1a;助力软件开发的利器 &#x1f6e0;️引言摘要自动化测试工具&#xff1a;保障代码质量的利剑 &#x1f5e1;️编写高效测试用例 持续集成/持续部署工具&#xff1a;加速交付的利器…

MYSQL数据目录结构上篇-表在文件系统中表示

前言感悟:我个人是比较不喜欢只会用,不太懂为什么的这么用,而且有的时候很多官方术 语让人难以读懂, 这里我会用比较大白话的方式,让我自己也能让网友们更加理解,如果书写哪里有误,欢迎大家指出((,,•ω•)ノ"(っω•&#xff40;。)) 从入门开始啦推荐一个学习mysql的视频…

营销5.0时代,企业的痛如何解?

进入营销5.0阶段之后&#xff0c;许多企业都需解决连接客户效能低下的问题。针对这个问题&#xff0c;产品经理、软件开发公司包括个人开发者&#xff0c;要怎么找到有效的“解药”&#xff1f; 营销不仅每年都在变化&#xff0c;甚至每天都在变化。 ——现代营销学之父&…

我独自升级崛起下载方法分享 下载教程

《我独自升级&#xff1a;崛起》这款精彩绝伦的动作角色扮演游戏&#xff0c;灵感来源于大热网络漫画&#xff0c;让玩家亲自踏上主角程肖宇的征途&#xff0c;从觉醒初阶到实力飞跃&#xff0c;每一步成长都扣人心弦。值得注意的是&#xff0c;尽管全球正式发布日期定在了五月…

Linux下GraspNet复现流程

Linux&#xff0c;Ubuntu中GraspNet复现流程 文章目录 Linux&#xff0c;Ubuntu中GraspNet复现流程1.安装cuda和cudnn2.安装pytorch3.编译graspnetAPIReference &#x1f680;非常重要的环境配置&#x1f680; ubuntu 20.04cuda 11.0.1cudnn v8.9.7python 3.8.19pytorch 1.7.0…

PADS使用网表导入layout和使用ECO to PCB有什么不同?

网表导入总是不成功&#xff0c;先用ECO更新过去了

vue2结合element-ui实现TreeSelect 树选择功能

需求背景 在日常开发中&#xff0c;我们会遇见很多不同的业务需求。如果让你用element-ui实现一个 tree-select 组件&#xff0c;你会怎么做&#xff1f; 这个组件在 element-plus 中是有这个组件存在的&#xff0c;但是在 element-ui 中是没有的。 可能你会直接使用 elemen…

调用nvprof报错: No kernels were profiled. No API activities were profiled.

调用nvprof报错 1 nvprof介绍 nvprof 是 NVIDIA 提供的一款用于分析 CUDA 应用程序性能的命令行性能分析器。CUDA 是一种并行计算平台和编程模型&#xff0c;允许开发人员利用 NVIDIA GPU 进行通用处理。 nvprof 帮助开发人员分析其 CUDA 应用程序的性能&#xff0c;提供各种…

以gitee为例的git入门使用指北

安装git 在linux中我们首先需要使用 sudo apt install git来下载git 在windows中可以下载msysGit 链接&#xff1a;https://git-scm.com/download/win gitee准备 申请账号 建立仓库 ​ 点击新建仓库 这里一般是私有库&#xff0c;点击创建&#xff0c;这时你就拥有一个线上…