Federated Unlearning for On-Device Recommendation

WSDM 2023
CCF-B

Federated Unlearning for On-Device Recommendation

本文工作的主要介绍

本文主要介绍了一种名为FRU(Federated Recommendation Unlearning)的联邦学习框架,用于在设备端的推荐系统中实现用户数据的有效擦除和模型重建。FRU通过存储用户的历史更新并校准这些更新,实现了有效的用户数据擦除和模型重建,从而保护用户隐私并提高系统的安全性。文章提出了重要性基础的更新选择策略和一种新颖的负采样方法,以在资源受限的设备上高效存储历史更新。通过实验证明,FRU能够消除特定用户的影响,并以至少7倍的速度加快模型的恢复过程。

本文的主要研究方法

这篇文章的主要研究方法是提出一种名为FRU(Federated Recommendation Unlearning)的联邦忘记框架,用于在设备上的推荐系统。FRU通过存储每个用户的历史模型更新,然后通过校准这些更新来重建联邦推荐系统。为了在资源受限的设备上有效存储历史更新,作者提出了一种基于重要性的更新选择策略和一种新颖的负采样方法。为了评估FRU的忘记能力,作者提出了一种攻击方法,使用一组被破坏的客户端来干扰联邦推荐系统的训练过程,然后应用FRU来消除这些恶意用户的影响。FRU与模型无关,可以应用于大多数联邦推荐系统。作者使用两个流行的推荐器在两个真实世界推荐数据集上进行了实验。结果表明,FRU可以消除特定用户的影响,并在7倍的速度上有效地恢复联邦推荐系统。

论文中的实验是如何设计的,详细描述各实验方法并概括总结:

实验设计主要包括以下几个方面:

  • 基线方法:构建了两个基线方法,Retrain(从头开始重新训练)和FedRemove(仅删除目标用户的全局参数更新,然后直接聚合剩余客户端的更新)。
  • 评估指标:使用广泛使用的Hit Ratio at rank 10(HR@10)和Normalized Discounted Cumulative Gain at rank 10(NDCG@10)来衡量推荐性能。
  • 数据集:使用了两个常用的联邦推荐数据集,MovieLens-100k和Steam-200k。
  • 参数设置:对于NCF,用户和项目嵌入的维度为64。采用4个神经层,分别为128、256、128和64,处理连接的用户和项目嵌入。对于LightGCN,用户和项目嵌入的维度为64,使用1层进行图传播。
  • 实验结果分析:从以下两个方面评估所提出的FRU方法的性能:
    • (1)FedRec是否恢复;(2)遗忘效率。

实验结果表明,FRU可以恢复受到恶意用户影响的FedRec并实现与Retrain相当甚至更好的性能,同时具有更高的效率。此外,FRU在不同的FedRec模型上具有有效且通用的遗忘能力。在MovieLens-100k和Steam-200k数据集上,FRU能够成功地消除特定用户的影响并在7倍的速度上恢复FedRec。最后,通过消融研究分析了FRU不同组件的贡献。

这篇论文的主要贡献是啥?

  • 首次提出了一个用于设备推荐的联邦遗忘框架(FRU),该框架可以有效地删除特定用户/客户的影响,并在较短的时间内完成恢复。
  • 提出了一种基于重要性的更新选择机制,仅存储客户端交互项目和采样负项目的嵌入更新,从而降低存储成本。
  • 提出了一种用户-项目混合半硬负采样策略,通过从用户和项目两侧选择半硬负样本来降低更新参数的大小。
  • 通过在两个真实世界推荐数据集(MovieLens-100k和Steam-200k)上进行实验,证明了FRU在删除恶意用户影响方面的有效性和效率,与从头开始重新训练的方法相比,其速度提高了至少7倍。
  • 通过消融研究和超参数分析,展示了FRU不同组件的贡献。

作者提出了哪些待未来进一步探究探索的问题?

  • 如何在不同的联邦推荐系统中应用FRU,以及如何优化FRU以适应更复杂的模型。
  • 研究更有效的负采样方法,以进一步减少存储和计算成本。
  • 探讨如何在保持隐私的同时实现更高效的联邦推荐。
  • 研究如何在恶意攻击下提高联邦推荐的稳定性和鲁棒性。
  • 在不同的应用场景下,如何平衡效果、效率和安全性,以实现更实用的联邦推荐。

这篇文章的数据支持了哪些观点?

  • 提出的联邦忘记框架(FRU)能够有效地从设备推荐系统中删除特定用户的影响,并以至少7倍的速度恢复联邦推荐模型。
  • 通过用户-项目混合的半硬负采样策略,FRU可以在资源受限的设备上更有效地存储历史更新,从而减少每次迭代中项目嵌入更新的数量。
  • 在MovieLens-100k和Steam-200k两个真实世界推荐数据集上进行的实验结果表明,FRU可以成功地恢复受到攻击的联邦推荐系统,同时与完全重新训练的方法相比,它在时间成本和空间成本方面具有更高的效率。

作者的研究思路是什么?是怎样论述和解决的?

  • 提出了一种名为FRU(Federated Recommendation Unlearning)的方法,该方法通过修改FedRec的历史更新并利用修改过的更新来加速FedRec的重构,从而实现对目标用户的影响进行有效的清除。

  • 为了在每个客户端设备上有效地存储历史更新,作者设计了两个创新组件:基于重要性的更新选择机制和用户-项目混合半难负采样方法。前者在每个训练周期动态选择重要更新存储在每个客户端设备上,而后者通过利用高质量的负样本来训练FedRec,从而达到比传统采样方法使用更少的负样本数量,同时实现相当的模型性能。

  • 为了评估FRU的反学习能力,作者提出了一种攻击方法,通过一组被损坏的客户端来干扰FedRec的训练过程。然后,他们使用FRU来恢复被这些恶意用户影响损害的FedRec。

  • 通过在两个真实世界的推荐数据集(MovieLens-100k和Steam-200k)上进行实验,以及使用两个常用的联邦推荐器(NCF和LightGCN),作者展示了所提出方法的效率和有效性。

    总之,作者通过提出FRU方法、设计创新的组件以有效存储历史更新,并通过实验评估了FRU的反学习能力,从而解决了在联邦推荐系统中如何有效地清除特定用户影响的问题。

这篇文献和同主题的其他文献相比如何?有什么优点,又有哪些局限?

优点:

  • 首次提出了针对联邦推荐系统的联邦忘记方法(FRU),使得联邦推荐系统能够有效地擦除特定用户/客户的影响,并高效地完成恢复。
  • FRU采用了重要性更新选择策略和用户-项目混合半硬负采样方法,有效地减少了设备上存储的历史更新数据量,提高了存储效率。
  • 通过引入攻击方法来评估FRU的忘记能力,实验结果表明FRU能够消除特定用户的影响并高效地恢复联邦推荐系统,比完全重新训练快7倍。

局限性:

  • 文章中提到的FRU方法主要针对基于嵌入的联邦推荐系统,可能不适用于其他类型的联邦推荐模型。
  • 实验部分仅使用了两个真实世界推荐数据集(MovieLens-100k和Steam-200k)以及两种常用的联邦推荐算法(NCF和LightGCN)来评估方法的有效性和效率,可能不够全面。
  • FRU方法在处理用户隐私和数据保护方面具有一定优势,但在面对恶意攻击时,可能需要进一步优化以提高系统的鲁棒性和抵抗力。

什么是重要性更新选择策略以及用户-项目混合硬负采样方法?

重要性更新选择策略和用户-项目混合硬负采样方法是一种在联邦推荐系统(FedRecs)中提高存储效率和模型性能的方法。

  • 重要性更新选择策略:
    该策略仅存储客户端交互项目和抽样负项目的嵌入更新,这些项目占整个项目集的一小部分。然后,FRU进一步减少存储成本,忽略非显著更新。对于一个客户端/用户,FRU仅存储其更新的前几个项目嵌入更新,这些更新基于其更新的显著性。
  • 用户-项目混合硬负采样方法:
    该方法从用户和项目两个方面选择半硬负样本。从用户角度选择硬负样本,计算用户嵌入与候选池中的每个项目嵌入之间的相关性,为每个客户选择硬负样本。为了弥补早期用户嵌入的不可靠性,我们从项目方面整合负样本。具体来说,我们使用用户交互项目的嵌入中心作为早期模型训练阶段的伪用户嵌入,因为在FedRecs中,项目嵌入比用户嵌入更频繁地更新,因此在训练的非常早期阶段更可靠。我们采用元素级平均计算项目嵌入中心。接着,我们通过计算相关性得分选择硬负项目。
    这两种方法结合起来,可以在保持模型性能的同时,提高联邦推荐系统中每个客户端设备上存储空间的利用率。

该领域目前存在什么问题?这篇文章需要解决什么问题?

领域目前存在的问题主要有以下几点:

  • 如何在联邦推荐系统中有效地删除特定用户的影响,以满足用户隐私保护要求。
  • 如何在有限的存储空间和计算资源下,高效地存储和处理历史模型更新。
  • 如何在联邦推荐系统中找到高质量的负采样数据,以提高模型训练效果和收敛速度。

这篇文章需要解决的问题是:提出一种联邦反学习方法(Federated Unlearning),用于在设备上的推荐,以便在保持用户隐私的同时实现高效的模型更新存储和恢复。具体来说,文章提出了以下方法:

  • 利用重要性更新选择机制,仅存储与用户交互项目和采样负项目相关的嵌入更新,从而减少存储成本。
  • 提出一种用户-项目混合半硬负采样策略,从用户和项目两个方面挑选半硬负样本,以提高负采样质量,从而加速模型训练。
  • 通过修复历史模型更新,实现快速的联邦推荐模型恢复,从而有效地消除特定用户的影响。

对于论文所提出的创新点通俗的解释?

  • 1.联邦忘记框架
    这篇论文首次提出了一种新的概念,称为“联邦忘记”,特别是在设备推荐系统中的应用。这个框架,被称为FRU,它像数据库中的回滚机制一样,能够“记住”所有用户在推荐系统中所做的更改(比如他们的偏好或评分)。
    当需要撤销(或忘记)某些用户的数据时,FRU通过调整这些历史更改来重新构建推荐系统,就好像这些用户的数据从未存在过一样。

  • 2.基于重要性的更新选择和新颖的负采样方法:
    为了使FRU在那些存储空间有限的设备上也能有效运行,论文设计了一种特殊的方法来选择哪些用户数据是最重要的,以及一种新的负采样方法。这样可以在有限的空间里有效地存储和管理用户的历史数据。

  • 3.攻击方法和对策:
    论文还提出了一种攻击方法,即利用一些被破坏的客户端(恶意用户)来干扰推荐系统的正常学习过程。
    使用FRU,可以消除这些恶意用户的影响,使推荐系统恢复到没有受到攻击前的状态。

4.FRU的模型无关性和效果验证:

  • FRU框架的一个重要特点是它不依赖于特定的模型,这意味着它可以应用于多种不同的联邦推荐系统。
    在两个真实世界的推荐系统数据集上的实验显示,FRU能够有效地“忘记”特定用户的影响,并且在恢复推荐系统时比传统方法快7倍。

5.消融研究
为了展示FRU的不同部分(比如数据存储方式、更新选择机制等)对其整体性能的贡献,论文进行了消融研究。这是一种研究方法,通过移除系统的某些部分来观察对性能的影响。

FRU算法的伪代码:

图片中描述的是“联邦推荐忘记”(FRU)算法的伪代码,它是一个用于联邦学习环境的算法。FRU旨在使得联邦学习系统能够从模型中移除特定用户的数据,类似于“忘记”这些用户的历史交互信息。以下是对该算法步骤的通俗解释:
在这里插入图片描述
在这里插入图片描述
总结:
FRU算法允许联邦学习系统在不重新训练整个模型的情况下忘记特定用户的数据。它通过在本地更新用户参数,并在必要时加速本地更新来响应忘记请求。这种方法旨在维护用户隐私,同时保持系统的灵活性和效率。在实际操作中,FRU可以帮助联邦学习系统适应用户数据的变化,例如当用户要求删除他们的数据或由于隐私政策需要移除特定信息时。

在不重新训练模型而忘记特定用户对模型的影响,通常意味着去除或减少该用户数据对模型的影响?

在联邦学习的上下文中,这种“忘记“的实现通常包括以下步骤

  • 识别影响:首先,需要识别特定用户的数据在模型中的影响。这可能涉及到追踪用户的数据在模型训练过程中的贡献。
  • 反向操作:接下来,执行一系列操作来逆转这些影响。理论上,这可能涉及到使用用户数据时应用的相同更新步骤的“逆操作”。
  • 参数更新:然后,通过调整模型参数来减少或消除该用户数据的影响。这可能需要精心设计的算法,以确保其他用户的数据和模型的有效性不会受到负面影响。
  • 模型校准:最后,可能还需要在剩余的数据上对模型进行一些校准,以补偿移除数据后的变化。

将一个客户端的数据进行干扰后,是否可以干扰主模型的训练结果?

这种干扰可能表现为以下几种方式:

  • 数据中毒攻击:恶意客户端可能故意发送错误的模型更新,这被称为数据中毒攻击。如果服务器没有有效的检测和缓解措施,这些恶意更新可能被纳入全局模型中。
  • 模型性能下降:错误的更新会导致模型在特定任务上的性能下降,因为模型可能会学习到错误的模式。
  • 泛化能力受损:由于错误的数据反映了不正确的用户行为或偏好,全局模型的泛化能力可能会受到损害。
  • 系统可信度降低:系统的整体可信度和可用性可能会因为包含了干扰数据而降低。
  • 隐私风险:如果干扰涉及到揭露其他客户端的隐私信息,可能还会产生隐私泄露的风险。

因此,为了保证联邦学习系统的健壮性,通常需要实施一些机制,例如:

  • 异常检测:对客户端的更新进行异常检测,以识别和过滤掉可能的恶意更新。
  • 数据验证:验证客户端的数据质量和完整性。
  • 差分隐私:应用差分隐私技术,确保单个更新不会对全局模型产生过大影响。
  • 鲁棒聚合算法:使用如联邦平均(FedAvg)的改进版本,增加对异常值的鲁棒性。
  • 模型修正和更新策略:设计能够纠正或忽略错误更新影响的模型修正策略。

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

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

相关文章

0x53 区间DP

0x53 区间DP 到目前为止,我们介绍的线性DP一般从初态开始,沿着阶段的扩张向某个方向递推,直至计算出目标状态。区间DP也属于线性DP中的一种,它以“区间长度”作为DP的“阶段”,使用两个坐标(区间的左右端点…

Python-面向对象

面向对象 1.初识对象1.1理解使用对象完成数据组织的思路 2.成员方法2.1类的定义和使用语法2.2成员方法的使用 3.类和对象4.构造方法4.1使用构造方法向成员变量赋值 5.其他内置方法5.1__str__字符串方法5.2__lt__小于符号比较方法5.3__le__小于等于比较符号5.4__eq__比较运算符实…

VUE3相比VUE2升级了哪些内容

目录 一、Vue 3 、Vue 2 对比及提升项 二、 Vue 3 创建app.vue示例 三、Vue3 的setup、Vue2 的 data对比 一、Vue 3 、Vue 2 对比及提升项 性能提升:Vue 3 做了大量的优化工作,提升了运行时的性能。例如,在模板编译时进行的静态分析和优化…

如何把苹果手机中的备忘录导入到电脑?这种方法特别方便

作为苹果手机的忠实用户,我深知备忘录在日常生活中的重要性。它是我随手记下的灵感闪现,是工作会议的要点记录,更是生活中的小提醒和重要事务的备忘录。然而,有时我需要将这些信息从手机导入到电脑中,以便更方便地查看…

k8s的存储卷---数据卷

前言 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。其…

【大数据OLAP引擎】StarRocks为什么快?

StarRocks的优势 StarRocks最初主要的优势是性能,当时在单表查询方面与性能标杆ClickHouse不相上下,而join优化特性使其在多表关联查询场景下的性能表现要远远优于ClickHouse,替换ClickHouse自然也就成了StarRocks的第一个目标。 而StarRoc…

three.js实现雷达扫描效果(纹理贴图)

three.js实现雷达扫描效果&#xff08;纹理贴图&#xff09; 图例 步骤 创建两个平面&#xff0c;分别纹理贴图&#xff0c;底图模型.add&#xff08;光波模型&#xff09;关闭材质的深度测试光波旋转 代码 <template><div class"app"><div ref&q…

【算法每日一练]-练习篇 #Tile Pattern #Swapping Puzzle # socks

目录 今日知识点&#xff1a; 二维前缀和 逆序对 袜子配对(感觉挺难的&#xff0c;又不知道说啥) Tile Pattern Swapping Puzzle socks Tile Pattern 331 题意&#xff1a;有一个10^9*10^9的方格。W表示白色方格&#xff0c;B表示黑色方格。每个(i,j)方的颜色由(i…

Unity真机Log工具 SRDebugger使用记录,GM布局管理

SRDebugger 官方文档安装及初始化常用设置选项布局选项快捷键选项高级设置 使用GM工具案例常用特性GM分组排序GM固定页签 官方文档 文档&#xff1a; https://www.stompyrobot.uk/tools/srdebugger/documentation/ 插件地址&#xff1a; https://assetstore.unity.com/package…

数据结构及单链表例题(下)

上次我们已经了解了单链表的数据结构定义以及创建单链表的两种方法,这节介绍几道例题. 文章目录 前言 一、已知L为带头结点的单链表,请依照递归思想实现下列运算 二、单链表访问第i个数据节点 三、在第i个元素前插入元素e 四、删除第i个结点 五、查找带头结点单链表倒数第…

TS 36.322 V12.0.0-过程

​本文的内容主要涉及TS 36.322&#xff0c;版本是C00&#xff0c;也就是V12.0.0。

构建安全可靠的系统:第十一章到第十五章

第三部分&#xff1a;实现系统 原文&#xff1a;Part III. Implementing Systems 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 一旦您分析并设计了您的系统&#xff0c;就该是实现计划的时候了。在某些情况下&#xff0c;实现可能意味着购买现成的解决方案。第十一章…

QT第1天

题目&#xff1a;点击按钮改变文字 需要增加一个count属性&#xff0c;并且只需要定义槽&#xff0c;信号函数已经内置好了 //widget.h#ifndef WIDGET_H #define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Wi…

[C++]多态

目录 C多态&#xff1a;&#xff1a; 多态的概念 多态的定义及实现 多态的构成条件 虚函数 虚函数的重写 虚函数重写的特例 C11 override和final 重载、重写重定义的对比 抽象类 概念 接口继承和实现继承 多态的原理 虚函数表 多态的原理 动态绑定和静态绑定 单继承和…

LeetCode 84:柱状图中的最大矩形

一、题目描述 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 示例 1: 输入&#xff1a;heights [2,1,5,6,2,3] 输出&#xff1a;10 解释&#xff1a…

Jmeter+ant+Jenkins 接口自动化框架完整版

接口自动化测试单有脚本是不够的&#xff0c;我们还需要批量跑指定接口&#xff0c;生成接口运行报告&#xff0c;定位报错接口&#xff0c;接口定时任务&#xff0c;邮件通知等功能。批量跑指定接口&#xff1a;我们可以利用ant批量跑指定目录下的Jmeter脚本生成接口运行报告&…

vue3基础类型和引用类型,和store的使用

案例一&#xff1a; 如果我在store创建一个变量&#xff0c;是读取缓存key为name的数据&#xff0c; store.name 默认值是张三 # 声明一个变量 const title ref(store.name) # 然后修改title.value "李四"&#xff0c; # 问&#xff1a;打印store.name&#xff0…

怎么投稿各大媒体网站?

怎么投稿各大媒体网站&#xff1f;这是很多写作者及自媒体从业者经常面临的问题。在信息爆炸的时代&#xff0c;如何将自己的文章推送到广大读者面前&#xff0c;成为了一个不可避免的挑战。本文将为大家介绍一种简单有效的投稿方法——媒介库发稿平台发稿&#xff0c;帮助大家…

5,sharding-jdbc入门-sharding-jdbc广播表

执行sql #在数据库 user_db、order_db_1、order_db_2中均要建表 CREATE TABLE t_dict (dict_id BIGINT (20) NOT NULL COMMENT 字典id,type VARCHAR (50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 字典类型,code VARCHAR (50) CHARACTER SET utf8 COLLAT…

国产AI工具钉钉AI助理:开启个性化助手服务的新篇章

钉钉AI助理是钉钉平台的一项功能&#xff0c;它可以根据用户的需求提供个性化的AI助手服务。用户可以在AI助理页面一键创建个性化的AI助理&#xff0c;如个人的工作AI助理、旅游AI助理、资讯AI助理等。企业也可以充分使用企业所沉淀的知识库和业务数据&#xff0c;在获得授权后…