AAAI2023 | 针对联邦推荐场景的非定向攻击与防御

news2024/11/15 20:11:17

嘿,记得给“机器学习与推荐算法”添加星标


TLDR:今天跟大家分享一篇通过利用聚类算法来操纵物品嵌入特征以此针对联邦推荐场景进行非定向攻击的工作,随后作者针对这一攻击又提出了一种基于一致性的对应防御机制,该论文已被AAAI2023接收。接下来让我们具体看看所提算法是如何工作的吧。

9d5e6a3853b98ec6a65fc04e01e28820.png

论文:https://arxiv.org/abs/2212.05399
代码:https://github.com/yflyl613/FedRec

近年来,个性化推荐系统在为用户克服信息过载方面发挥着重要作用。大部分的传统推荐算法基于中心化的训练和存储模式来提供服务,虽然这种方式可以提供优良的推荐性能但会存在数据和隐私泄露的风险。尤其是随着最近隐私保护法(比如GDPR等)的颁布,使得企业越来越困难的对用户数据进行集中式存储与训练。联邦推荐系统可以在不传输和集中存储用户私有数据的前提下进行精准推荐,近年来已经得到了研究者的广泛关注,更多联邦推荐算法的研究工作可以参考基于隐私保护的联邦推荐算法综述和一文梳理联邦学习推荐系统研究进展。

虽然联邦推荐系统通过不传输用户私有数据而实现了隐私保护能力,但最近的研究表明在联邦设置下系统很容易受到投毒攻击(poisoning attack)的影响,其分布式的训练过程允许攻击者任意修改局部训练数据或上传的梯度来达到某些恶意目的。更多关于攻击和防御技术可参考推荐系统中的对抗机器学习技术总结。根据攻击者的目的,投毒攻击可分为定向攻击和非定向攻击。在联邦推荐场景中,以前的研究主要集中在试图促进某些目标物品的定向攻击。而非定向攻击旨在降低联邦推荐系统整体性能的研究工作仍然很少被探索。事实上,如果没有有效的防御机制,非定向攻击会持续破坏用户体验,这将导致用户的流失以及服务提供商的收入损失。因此研究联邦推荐场景下的非定向攻击尤为重要。

联邦推荐场景下的非定向投毒攻击主要有以下挑战。1. 首先,考虑到推荐系统通常拥有数百万用户,攻击者控制大量客户端是不现实的。因此攻击方法必须在很少一小部分恶意客户端参与的情况下仍然有效。2. 其次,攻击者只能访问存储在恶意客户端上的一小部分数据,因为客户端在联邦设置下从不共享他们的本地训练数据。3. 非定向投毒攻击的目的是降低联邦推荐系统在任意输入时的整体性能,它比只操纵特定目标项上的模型输出的定向攻击更具挑战性。4. 许多推荐算法都是在带有噪声的隐式用户反馈上进行训练的,这使得推荐算法本身对恶意扰动具有一定的鲁棒性。

为了应对上述挑战,在本文中,首先提出了一种非定向模型投毒攻击方法ClusterAttack,它可以利用一小部分恶意客户端来有效地降低联邦推荐系统的整体性能。其主要思想是通过上传有毒梯度(poisonous gradients),进而将推荐模型的物品嵌入收敛到几个稠密的聚类中,这样就可以让推荐算法为同一聚类中的这些接近的物品生成相似的分数,从而影响正常的排名顺序。针对现有防御方法大多无法有效防御ClusterAttack的问题,其进一步提出了一种基于一致性的防御机制UNION来保护联邦推荐系统免受此类攻击。

5cbeb5c8596e2f1ccba1dfbf719ac36e.png

首先大致介绍下联邦推荐的流程以及论文中使用的符号系统。设和分别表示推荐系统中个物品和个用户/客户端的集合。这些客户端试图在不共享私有数据的情况下协同训练一个全局模型。我们假设推荐模型的参数由三个部分组成:一个物品模型,它将物品ID转换为物品嵌入,一个用户模型,它从用户特征文件(例如,用户ID或历史交互物品中)推断用户兴趣嵌入,以及一个预测模型,它在给定物品嵌入和用户嵌入的前提下预测排名分数。在每一轮训练中,服务端首先分发当前全局模型参数到个随机选择的客户端。然后每个选定的客户端计算更新梯度的本地数据。然后根据带有正则化的BPR损失来进行训练:

其中,为sigmoid函数,和分别代表正样本和负样本的排序得分。虽然本地客户端将进行更新用户模型,然后将上传到服务端进行聚合更新。最后服务端聚合所有客户端上传的梯度来更新物品嵌入,然后将最新的物品嵌入进行下发。经过多轮训练达到收敛状态。

首先介绍下ClusterAttack,更直观的步骤可参考图1。具体来说,本文使用自适应聚类机制(Algorithm 1)将物品嵌入分割为几个簇(步骤2,3,8),并计算攻击损失进而计算恶意梯度以减少簇内方差。其中表示为:

其中,为聚类个数,为物品的低维嵌入,为聚类中心嵌入。为了使攻击更难以被检测到,文本在将恶意梯度上传到服务器之前,使用从正常梯度估计的范数界来约束恶意梯度,以此让这两者之间的梯度不容易被服务端察觉。

00fe3e73a6d5c19143153b9d44de5ade.png

考虑到聚类的数量会对攻击效果产生很大影响,所以设计了自适应聚类算法,在每一轮攻击(步骤8)后自动调整的值,如算法1所示。由于攻击者唯一的攻击效果反馈是,因此在攻击过程中对它进行跟踪,并计算其偏差修正的指数移动平均八本。同时使用两个计数器和分别记录平滑攻击损失增加和减少的轮数。如果在过去的几轮中大部分增加,就假设当前的K值太小,攻击损失不能很好地收敛。因此,需要增加的值,使攻击更容易。相反,如果继续下降,我们进一步降低的值来进行更强的攻击。

由于现有的防御方法大多无法有效防御ClusterAttack,其进一步提出了一种基于一致性的防御机制UNION来保护联邦推荐系统免受此类攻击。具体的,本文要求所有良性客户端(benign clients)使用额外的对比学习任务来训练局部推荐模型,以此来将物品嵌入进行正则化,使其在空间中均匀分布。然后,服务端通过估计更新物品嵌入的一致性来识别这些恶意梯度。服务端具体的算法执行流程如算法2所示。

02b0c919d100c73af759468c31f05f5e.png

其中,用来评估分布是否一致的Gap Statistics算法的详细执行过程见算法3。大体思路是,它是通过比较在均匀分布下的期望与包含簇内的变化来确定一组数据中的簇数。如果算法估计存在多个聚类,就认为存在一些恶意梯度,使得物品嵌入出现异常分布的情况。

41b745980ba317b71964852831584f01.png

在客户端上主要要求所有良性客户端训练本地推荐模型,并附加一个对比学习任务,并采用InforNCF作为其对比损失。其中,表示用户有过交互的正样本,则表示从用户未交互过的物品集合中采样得到的负样本。

20ee97480c7d9752edae2f7f10873911.png

因此,在使用推荐任务BPR进行训练的同时,额外的对比任务可以将物品嵌入正则化,使其在空间中呈均匀分布。由于这样的优化目标与ClusterAttack的目标相反,对比任务可以减轻其攻击效果,也使服务端更容易区分这些恶意梯度。

最后,在两个经典的推荐模型上测试了在两个数据集上多种攻击方法的实验结果。

79a1f91ec276b9344d815ad971e867ca.png

下图展示了随着迭代轮次的增加带有对比学习任务的防御机制与没有带对比学习任务的方法的对比效果。

77c2e52275b97c351a87fe6a096e9882.png

欢迎干货投稿 \ 论文宣传 \ 合作交流

推荐阅读

论文周报 | 推荐系统领域最新研究进展

SIGIR2022 | 基于生成对抗思想的冷启动推荐算法

TKDE2022 | 基于关系的协同过滤算法

由于公众号试行乱序推送,您可能不再准时收到机器学习与推荐算法的推送。为了第一时间收到本号的干货内容, 请将本号设为星标,以及常点文末右下角的“在看”。

喜欢的话点个在看吧👇

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

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

相关文章

如何在Power BI中使用Python导入数据

在这篇文章中,我们将学习如何在Power BI中使用Python编程语言进行数据源化。 简介 Python可以说是业界最流行、最普遍的编程语言之一。一方面,Python可用于网络和应用程序开发,另一方面,它在数据世界中也非常流行,特…

生产制造业ERP管理系统能解决哪些仓库管理难题?

仓库管理够不够好,安不安全,直接关系到生产制造企业的发展。要知道制造型企业的大部分“身家”,都在仓库里了。来料是否及时,物料是否齐套,库存是否安全,配件品质是否合格,库容是否足够&#xf…

【蓝桥杯备赛系列 | 简单题】素数判断 字符串输入输出

🤵‍♂️ 个人主页: 计算机魔术师 👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。 蓝桥杯竞赛专栏 | 简单题系列 (一) 作者: 计算机魔术师 版本: 1.0 &#xff08…

[leetcode.10]正则表达式匹配

(1)题目分析如下 题目要求完成一个正则表达式的匹配,其中s为目标串,p为正则串 .符号代表任何字符,*符号代表把前一个字符重复n次(可能为0次) (2)具体思路 一开始的时…

c++算法基础必刷题目——贪心

文章目录贪心1、拼数2、排座椅3、矩阵消除游戏4、华华听月月唱歌贪心 贪心算法(greedy algorithm ,又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑&a…

《图解TCP/IP》阅读笔记(第八章 8.5)—— WWW知多少?

8.5 WWW 看到这章的名字,对于日常上网冲浪的我们而言,应该是再熟悉不过了。这不就是常见网址前的那三个字母,号称万维网(WWW,World Wide Web)的东西吗? 确实,我们本篇文章就要介绍与之相关的…

Dimitra 2022: 年度回顾

大家好, 我首先要感谢 Dimitra 社区和我们所有的投资者在 2022 年期间的支持。俗话说,“这些都会过去”,2022 年的宏观加密环境尤其具有挑战性,一些非常糟糕的行为者给广泛的加密行业带来很多痛苦。 2023 年可能是监管框架最终显…

公司来了个新测试开发,一副毛头小子的样儿,哪想到......

最近公司来了个新同事,学历并不高,而且大学也不是计算机专业的,今年刚满25岁。。 本以为也是来干点基础的活混混日子的,结果没想到这个人上来就把现有项目的性能优化了一遍,直接给公司节省了不少成本,这种…

Qt通过QProcess启动进程并传递命令行参数

目录QProcess启动外部程序的两种方式依赖式分离式:启动进程前的预处理设置启动路径设置启动命令参数启动的状态更多说明Public FunctionsSignals设计一个拉起进程的程序基本设计思路效果图核心代码控件对象header file(头文件)member variabl…

java比较器

一、说明: Java中的对象,正常情况下,只能进行比较: 或 ! 。不能使用 >或 如何实现? 使用两个接口中的任何一个: Comparable 或 Comparator 二、Comparable的使用(自然排序) 1.Comparable接口的使用举例: 1.像string、包装类等实现了Comparable接口…

智能优化算法:协作搜索算法-附代码

智能优化算法:协作搜索算法 摘要:协作搜索算法( Cooperation search algorithm ,CSA)是 Zhong-kai Feng等 于 2021 年提出的一种新型元启发式优化算法 。 该算法受现代企业团队协作行为的启发,具有寻优能力强,收敛速度…

Seata-AT模式数据源代理-JDBC中的关键知识点

背景 Seata 对业务无侵入是通过数据源代理实现的,从下图中可看出,数据源代理的实现涉及到 DataSource、Connection 以及 Statement,这几个关键知识属于 JDBC 的范畴,所以本篇从 JDBC 的视角对他们进行介绍。 一、JDBC 概述 JDBC…

【算法】面试题 - 回溯算法解题套路框架

回溯算法解题套路框架前言回溯算法的框架排列(元素无重不可复选)46. 全排列解析子集(元素无重不可复选)78. 子集解析组合(元素无重不可复选)77. 组合解析子集/组合(元素可重不可复选&#xff09…

免费PDF转Word?有这几个网站就够了

如果您想使用 Word 文档,您可能需要将PDF 转换为 Word,以便您可以随意使用该文档。将 PDF 转换为 Word 的过程需要一个好的 PDF 转换器。在本文中,您将探索可用的 5个免费转换器,其中包括 奇客PDF 和PDF2Go。 最好的 6 个 PDF 转 …

【unity笔记】图解Vector3.SignedAngle()方法的返回值

首先看一下官方文档的说明: public static float SignedAngle (Vector3 from, Vector3 to, Vector3 axis); from测量角度差的源向量。to测量角度差的目标向量。axis一个向量,其他向量将绕其旋转。返回 from 与 to 之间的有符号角度(以度为单…

CodeQL 源代码漏洞扫描

目录 1、下载配置 codeql 1.1 配置 codeql 1.2 配置 maven 2、测试 codeql 漏洞检测 2.1 构建 codeql 查询数据库 2.2 漏洞检测 测试环境:centos7 jdk11 maven 1、下载配置 codeql 1.1 配置 codeql 下载安装 codeql-cli: https://github.com/github/code…

大数据系列——什么是Flink?Flink有什么用途?

目录 一、基本概念 批与流 数据可以作为无界流或有界流处理 二、什么是Flink? 三、Flink有什么用途? 四、适用场景 五、flink事件驱动 六、flink拥有分层API flink sql 七、fllink企业级使用 一、基本概念 批与流 批处理的特点是有界、持久、大…

被误认为是外国人开发的4款软件,功能强大到离谱,且用且珍惜

国外的月亮不一定比国内圆,随着国内互联网飞速发展,国内研发出许多实用又良心的软件,由于偏见,功能强大的它们却被误认为是外国佬研发的。 1、Foxit PDF用系统自带的Adobe实在难用,Foxit这款PDF阅读器实在太强大&#…

unity使用RenderTexture可以渲染粒子特效

一,使用UIRawImage,创建材质球,把Shader给材质球,放到RawImage的Material上, // Upgrade NOTE: replaced mul(UNITY_MATRIX_MVP,*) with UnityObjectToClipPos(*)Shader "UI/Default No-Alpha" {Properties{[PerRende…

基于文本和图像的网络舆情分析方法研究

基于文本和图像的网络舆情分析方法研究 一、舆情分析技术 (1)舆情数据采集与提取技术; (2)自动文摘技术; (3)事件发现与追踪技术; (4)舆情情感分…