[IJCAI 2022] 基于个性化掩码的实用安全联合推荐

news2024/11/24 23:09:41

Practical and Secure Federated Recommendation with Personalized Mask | SpringerLink

摘要

联合推荐解决了推荐系统的数据筒仓和隐私问题。目前的联合推荐系统主要利用密码学或混淆方法来保护原始评分不被泄露。然而,前者带来了额外的通信和计算成本,后者损害了模型的准确性。它们都不能同时满足推荐系统的实时反馈和准确的个性化需求。在这项工作中,我们提出了联邦屏蔽矩阵分解(FedMMF),以保护联邦推荐系统中的数据隐私,而不牺牲效率和效果。在更多的细节,我们介绍了新的想法,个性化的面具只从本地数据生成,并将其应用在FedMMF。

一方面,个性化口罩为参与者的私人数据提供了保护,而不会损失有效性。

另一方面,结合自适应安全聚合协议,个性化掩码可以进一步提高效率。

从理论上分析了个性化口罩的安全性。经验上,我们还显示了所设计的模型在不同的现实世界的数据集上的优越性。

1 引言

联邦推荐系统(FedRec)是联邦学习在推荐场景中的重要应用[ 19]。近年来,联邦学习一直是一个快速发展的研究领域,它将私有数据保存在多方本地,并以安全和隐私保护的方式协同训练模型[ 13,14,20]。例如,[ 2]提出了一种联邦矩阵分解算法,该算法将训练过程分布在每个本地方,并将计算的梯度聚合在中央服务器上。隐私保护是联邦学习的主要挑战之一。与传统的数据中心培训方案相比,数据去中心化确实减轻了隐私风险。然而,在不同方之间传输的梯度仍然可能泄露用户隐私[3,23]。

为了解决隐私问题,当前的FedRec方法可以大致分为两类。第一类解决方案基于密码技术,例如同态加密(HE)[ 8]或安全多方计算(SMC)[ 21]。例如,基于HE的FedRec [ 6]利用HE来保护传输的梯度。这些方法可以导致无损模型性能。然而,它们产生额外的计算和通信成本,因为联邦学习需要大量的计算和中间结果交换。第二类解决方案利用混淆方法,例如差分隐私(DP)[ 7]。例如,基于DP的FedRec [ 10]旨在提供推荐服务,而不会泄露多个来源的数据隐私。虽然DP为基础的联邦算法是有效的,他们损害模型的准确性。因此,上述解决方案在应用于实际问题时都存在困难。 它们不能同时满足推荐系统(RecSys)的两个要求,即,个性化和实时性。

在这项工作中,我们提出了联邦掩码矩阵分解(FedMMF)作为一种新的FedRec方法。所设计的FedMMF方法可以在不牺牲效率和有效性的前提下保护FedRec的数据隐私。如图所示。1,我们在FedRec中引入了一种保护隐私数据不被泄露的新思想,而不是使用加密或混淆方法,这就是所谓的个性化掩码。个性化掩码是本地生成的掩码,其添加了原始数据以在不损失有效性的情况下保护隐私。在一个参与者的掩蔽评级上计算的梯度可以足够安全以直接与其他方共享。此外,结合自适应安全聚合协议,个性化掩码也进一步缓解了FedRec的效率问题。从理论和实验上,我们证明了FedMMF的优越性。

2 Preliminaries

联邦矩阵分解(FedMF)

vanilla FedMF算法[ 2]中,所有项目潜在因素qi都保存在中央服务器上

而每个用户的潜在因素 pu都保存在本地方。

训练过程如下并循环直到模型参数收敛:

1)u方从服务器下载项目i的潜在因素 qi ;

2)u方使用私有本地数据 ru 更新用户的潜在因素 pu;

3)u方计算每个项目的潜在因子 ηui=λ⋅qi−eui⋅pu与 ru和更新的 pu的梯度;

4)u方向服务器发送 ηui ;

5)服务器聚合梯度 ∑u∈U  ηui并更新 qi。

Secure FedMF. 

为了解决vanilla FedMF的梯度泄漏问题,已经提出了一些安全的FedMF算法。例如,基于HE的FedMF [ 6]和基于DP的FedMF [ 10]分别利用HE和DP来进一步保护隐私。基于HE的FedMF在将项目潜在因素的梯度传输到服务器之前用HE对项目潜在因素的梯度进行加密。然后,服务器对加密梯度进行安全聚合,更新密文状态的项目潜在因子,并将新的加密项目潜在因子分发给每个用户。以类似的方式,基于DP的FedMF在聚合之前向梯度添加噪声。然而,前者导致额外的成本,而后者导致精度损失。

3 联合掩蔽矩阵分解

3.1 Personalized Mask

 

 

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

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

相关文章

day 49 :121. 买卖股票的最佳时机;122. 买卖股票的最佳时机 II;123. 买卖股票的最佳时机 III

买卖股票 121. 买卖股票的最佳时机:一次买入卖出1. 贪心算法2. 动态规划1. dp数组以及下标名义2. 递归公式3. dp数组如何初始化4. 代码 122. 买卖股票的最佳时机 II:可以多次买入卖出2. 动态规划1. dp数组以及下标名义2. 递归公式3. dp数组如何初始化4. 代码 123. 买…

Linux_进程

目录 一.进程概念与子进程 1.进程基本概念 2.通过系统调用创建子进程-fork 二.进程状态 1、一般进程状态 2、Linux操作系统的进程状态 三.环境变量 1.概念 2.环境变量组织与获取 3.配置文件 4.环境变量的全局属性​编辑 5.命令行参数 四.进程优先级 1.查看系统进…

Linux文件系统-磁盘划分

一、磁盘使用 windows系统中: 1、分区 2、格式化 3、自动装载 4、使用 Linux系统中:1、分区 2、格式化 3、手动挂载 (挂载到/etc/fstab实现开机自启) 4、使用 Linux系统中磁盘使用: 1、分区操作…

rust:cargo 和rustc 以及一点 小技巧

在正式学习 Rust 语言以前,我们需要先学会怎样输出一段文字到命令行,这几乎是学习每一门语言之前必备的技能,因为输出到命令行几乎是语言学习阶段程序表达结果的唯一方式。 在之前的 Hello, World 程序中大概已经告诉了大家输出字符串的方式…

system V共享内存

一、前言 共享内存是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递将不再涉及到内核,换句话说,进程将不再通过执行进入系统内核的系统调用来传递彼此的数据。 但其实比它好用的进程间通信还有很多种&…

Android HTTP请求方式:HttpClient

1.HttpClient使用流程 基本流程: 2.HttpClient使用示例 1)使用HttpClient发送GET请求 直接贴下简单的发送Get请求的代码: public class MainActivity extends Activity implements OnClickListener { private Button btnGet; private WebV…

什么是OSPF被动接口?如何配置?华为、思科、瞻博网络三厂商命令来了

OSPF(开放最短路径优先)是一种常用的动态路由协议,用于在大型网络中实现路由选择。在OSPF中,被动接口是一种特殊类型的接口,它被用来监测网络中的邻居关系,并接收来自邻居发送的Hello消息。被动接口不主动发…

华为OD机试之在字符串中找出连续最长的数字串(含“+-”号)(Java源码)

在字符串中找出连续最长的数字串(含“”号) 输入描述 请在一个字符串中找出连续最长的数字串,并返回这个数字串。 如果存在长度相同的连续数字串,返回最后一个。 如果没有符合条件的字符串,返回空字符串””。 注意: 数字串可以由…

Ansible进阶2——角色管理

文章目录 一、角色1.1 获取角色方式1.2 角色结构1.3 定义变量和默认变量1.4 使用方法1.5 控制playbook中的任务执行流程 二、红帽企业Linux系统角色2.1 常见系统角色2.2 使用系统时间同步角色 三、自定义角色3.1 创建角色目录结构3.2 编写角色内容3.3 编写总结 四、ansible gal…

【C++】内存管理的基本操作,new与delete的实现原理以及operator new与operator delete函数

文章目录 前言一、new,delete操作内置类型二、new/delete操纵自定义类型3. operator new与operator delete函数4. new/delete实现原理4.malloc/free和new/delete的区别 前言 程序中内存的划分: 栈又叫堆栈–非静态局部变量/函数参数/返回值等等,栈是向…

高考必胜,归来仍是少年!

高考必胜,归来仍是少年! 这是小索奇专门为高考生写的文章高考生 我以前给大家弄过一些免费的付费资料,现在看到后台很多伙伴们都在寻找资料,一些没有充分准备的小伙伴此刻一定很匆忙吧! 我想对大家说: 高…

基于 FFMPEG 的跨平台视频播放器简明教程(二):基础知识和解封装(demux)

系列文章目录 基于 FFMPEG 的跨平台视频播放器简明教程(一):FFMPEG Conan 环境集成 文章目录 系列文章目录前言基础知识视频,你所看到的!音频 - 你所听到的声音编解码器 - 压缩数据容器 - 存放音频和视频的地方 解封…

vue3.0与vue2.0的区别简记(基于官方文档)

vue3.0与vue2.0的区别简记(基于官方文档) 基于vue3.0和vue2.0官方文档简单记录vue3.0版本和2.0版本的区别。 一直没有看文档的习惯(就是不爱学习,现在吃了没文化的亏),遇到问题才去补充点食粮&#xff0c…

祝2023高考考生高考顺利!金榜题名

前言:光阴似箭,岁月如梭。明天就是全国每年一次的高考了,我也即将结束我的大一生活成为一名大二的小学长啦嘿嘿。而我今天呢主要是想祝马上要高考的学弟学妹们高考顺利,金榜题名,并且借此机会顺便讲讲我的高考前后的故…

解决python通过pip离线安装flask,numpy报错解决(centos)

1. 离线安装Python https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz 解压,编译,安装 tar xzvf Python-3.7.1.tgz ./configuremakemake install 离线环境下如果系统不是完整版安装编译会报错,需要解决依赖问题,如下&am…

5 种常见的 Linux 打包类型:tar、gzip、bzip2、zip 、 7z

在 Linux 系统中,打包和压缩文件是常见的操作。不同的打包类型适用于不同的用途和需求。本文将详细介绍 5 种常见的 Linux 打包类型,包括tar、gzip、bzip2、zip 和 7z,以及它们的特点、使用方法和适用场景。 1. tar tar(tape arc…

音悦台项目测试报告

文章目录 项目背景项目功能测试计划与设计功能测试自动化测试 测试结果功能测试结果UI自动化测试结果 项目背景 现如今人们的生活压力大,容易使人疲惫,为了使得人们在闲暇之余可以听音乐放松,为此设计出一款轻量的听音乐网站,快速…

centos安装部署Kubernetes(k8s)步骤使用kubeadm方式

文章目录 1、修改系统配置2、安装docker应用3. 拉取docker镜像4、cri-dockerd安装5、安装kubeadm和kubelet6、配置flannel网络插件7、Node节点加入集群操作 机器地址: 192.168.0.35 k8s-master 192.168.0.39 k8s-node1 192.168.0.116 k8s-node2 1、修改系统配置 修…

Web应用技术(第十六周/持续更新)

本次联系基于how2j的教程完成对SpringBoot的初步学习。 初识Springboot 学习导入:1.第一个基于SpringBoot的项目:(1)application.java:该文件中的核心代码: (2)HelloController.jav…

一. ATR技术指标的定义与运用

一. ATR的定义 1. 什么是ATR ATR英文全名是Average true range,翻译过来就是平均真实波幅,这个指标主要用来衡量最近N天TR(真实波幅)的平均值。 2. ATR相关计算公式 T R [ ( 最高价 − 最低价 ) , ( 前一次收盘价 − 最高价 ) &#xff0…