阅读笔记[2]Practical Data Poisoning Attack against Next-ItemRecommendation

摘要

在线推荐系统利用各种信息源,为用户提供用户可能感兴趣的项目。然而,由于在线平台的开放性,推荐系统很容易受到数据中毒的攻击。现有的攻击方法要么基于简单的启发式规则,要么针对特定的推荐方法进行设计。前者的性能往往不理想,而后者需要对目标系统的深入了解。在本文中,我们着重介绍了一般的下一推荐设置,并提出了一种实用的中毒攻击方法LOKI针对黑箱推荐系统。所提出的LOKI利用强化学习算法来训练攻击代理,可用于生成数据中毒的用户行为样本。在现实世界的推荐系统中,用户对推荐模型的再培训成本较高,用户与推荐系统之间的交互频率受到限制。考虑到这些现实世界的限制,我们建议让代理与推荐模拟器交互,而不是目标推荐系统,并利用生成的对抗性样本的可转移性来毒害目标系统。我们还建议使用影响函数来有效地估计注入的样本对推荐结果的影响,而不需要在模拟器内重新训练模型。在两个数据集上对四种代表性推荐模型进行的大量实验表明,所提出的LOKI比现有方法具有更好的攻击性能。

介绍:

在大数据时代,网络用户面临的根本挑战之一是信息过载,因为用户很难找到他们确实需要的信息。推荐系统,包括推荐项目(如电影、产品、音乐等)。可能感兴趣的用户基于他们的历史行为,提出以减轻信息过载问题。如今,推荐系统被Web服务平台(如YouTube、亚马逊、淘宝)广泛部署,在指导用户做出决策和选择方面发挥着重要作用。

人们普遍认为,在线推荐系统是光荣和公正的。他们向用户推荐符合他们个人兴趣的物品。然而,推荐系统的开放性和操纵推荐系统的潜在好处为恶意各方发起攻击提供了机会和激励。[11,13,16,18,23]最近的研究表明,推荐系统很容易受到中毒攻击。在这些中毒攻击中,一组恶意用户将精心制作的数据注入到推荐系统的训练集中。这种中毒攻击使系统提供攻击者想要的建议。

现有的中毒攻击可分为两类。第一种工作通常是基于手动设计的启发式规则。例如,利用以下直觉的[18]设计规则:通常由用户一起选择的项目被推荐系统视为高度相关的项目。为了将目标项目提升为目标用户,攻击者利用受控用户来伪造目标项目与流行项目之间的共现性。然而,这种启发式规则并不能覆盖推荐数据中的各种行为模式。因此,这些攻击方法的性能通常不能令人满意。另一种方法是为某些类型的推荐方法设计的,如基于矩阵分解的模型[13]。然而,攻击者通常不知道现实平台中的推荐系统的体系结构和参数。通常,攻击者可以依赖的用来推断推荐系统特征的唯一信息是他们所控制的用户的推荐结果,而这些交互的频率往往是有限的。因此,在实际实践中部署这些攻击方法之前,仍然存在一个明显的差距。

在这项工作中,我们提出了一个新的实用的对抗性攻击框架来对抗复杂的黑盒推荐系统。我们关注于最常见的下一个项目推荐设置之一,它旨在为每个用户推荐top-K潜在的首选项目。提出的基于强化学习的框架LOKI学习一个攻击代理来生成数据中毒攻击的对抗性用户行为序列。与现有的针对某些类型的推荐方法设计的攻击方法不同,强化学习算法可以利用来自推荐系统的反馈,而不是对架构和参数的全面知识,来学习代理的策略。然而,在实践中,攻击者无法控制对目标推荐系统进行再训练,以获得反馈并更新攻击策略。此外,推荐系统服务提供者通常会限制反馈频率,但基于强化学习的框架需要大量的反馈来训练策略功能。由于这种差异,我们不能直接依赖于来自目标推荐系统的反馈来在一个可容忍的时间段内培训一个政策。

为了解决这一挑战,我们提出构建一个局部推荐模拟器来模拟目标模型,并让强化框架从推荐模拟器中获得奖励反馈,而不是目标推荐系统。通过构建多个具有代表性的推荐模型的集合,构建了局部推荐模拟器。这种设计背后的直觉是,如果两个推荐者可以在给定的数据集上都得到相似的推荐结果,那么为其中一个推荐者生成的对抗性样本就可以用来攻击另一个这种可转移性使得推荐模拟器在指导攻击代理方面可以很好地替代目标推荐系统。此外,即使在本地模拟器的帮助下,使用受污染的数据对模拟器内的推荐系统进行攻击结果的再训练仍然是耗时的。为了缓解这一问题,我们设计了一个基于影响函数的分量结果估计器。结果估计器可以有效地估计注入的对抗性样本对攻击结果的影响。这些设计确保了所提出的推荐系统的对抗性攻击框架是实用和有效的。

在实验中,我们采用具有代表性的推荐模型作为目标,并对真实数据集进行攻击,以评估所提出的中毒攻击框架。实验结果表明,该LOKI方法优于基线攻击方法。我们还进一步分析了影响攻击结果的因素。

2威胁模型

为了便于本文其余部分的讨论,我们指定并制定了下一个项目的建议任务如下:

定义2.1(下一个项目的建议)。

让你的用户u和项目V,我们使用Xu=[x1u,x2u,····xumu]表示用户u按照时间顺序选择的一系列项目,xuv⊆R表示用户选择的项目的数量。给定现有的序列,下一个项目推荐的目标是输出一个k大小的排序项目列表,它预测用户将选择的下一个项目。

根据上述定义,让我们详细说明针对下一项建议的攻击的威胁模型。

攻击目标:攻击者的目标是向尽可能多的目标用户推广一组目标项目。具体来说,假设系统向每个用户推荐K个项目,攻击者的目标是最大化一组目标平均显示率,这表示其最高K个推荐结果包括目标项目的目标用户的比例。请注意,攻击者还可以降级一个目标项目。降级可以视为升级的特殊情况,因为攻击者可以升级其他项目,以便目标项目在推荐列表中降级。因此,在本文中,我们主要关注推广攻击。

攻击方法:为了实现攻击目标,我们考虑了最一般的场景,即攻击者可以将受控的用户注入到推荐系统中。这些受控的用户访问或评价精选的项目,这些项目被逐步命名为代理项目。因此,每个受控用户的精心设计的活动形成了一个行为序列。为了使注入不被注意到,每个受控用户进行的访问次数或评级次数最多被限制为M。

攻击者的知识和能力:在本文中,我们假设攻击者被授予以下知识和能力。

(1)攻击者可以访问推荐系统中所有用户的完整活动历史记录

(2)攻击者的资源有限,因此攻击者只能注入有限数量的受控用户,用户可以很容易地从地下市场购买1。

(3)攻击者不知道关于目标推荐系统的详细信息,例如,推荐模型的参数和体系结构。这种设置也被称为黑盒设置。

(4)攻击者只能从黑盒推荐模型中接收到有限数量的反馈(例如,显示率)。

(5)攻击者不知道何时重新训练目标黑盒推荐模型。

METHODOLOGY

在本节中,我们首先概述了所提出的基于强化学习的框架。然后,我们描述了框架的每个组件的详细设计。

3.1框架概述

直观地说,数据中毒可以被看作是创建了新的顺序模式,其中涉及到目标推荐系统的训练集中的目标项目。在一个精心制作的顺序对抗性样本中用户行为历史在决定下一个行为时天生就至关重要。这些顺序的对抗性样本一起有助于实现操作目标。生成对抗性样本本质上是一个多步骤的决策过程,其中生成器应该为受控用户选择特定的动作,以最大限度地提高攻击结果。这适合于强化学习的设置。从强化学习的角度来看,目标是学习一个策略函数来生成顺序的对抗性用户行为样本,可以使目标用户的平均显示率最大化。

基于上述动机,我们提出了一个基于强化学习的框架来学习策略功能。所提议的LOKI框架的总体架构如图1所示。目标黑盒推荐系统被部署在一个电子商务平台上。该框架由三个组成部分组成:(1)推荐模拟器、(2)结果估计器(3)对抗性样本生成器。在下面的部分中,我们将逐个描述这些组件的详细信息。

3.2采用多重攻击方法

[3,7,19]采用了构建代理模型和利用对抗性样本的可转移性来攻击目标机器学习模型的思想。本文利用所提出的推荐模拟器模拟了目标模型的推荐偏好。该模拟器由多个独立的推荐模型组成,它们在同一数据集上进行训练。这些模型的推荐结果通过加权投票进行汇总假设部署了M个不同的推荐模型来为用户u推荐项目,并且在第m个模型中的项目i的排名表示为rankm(i)。项目i的排名越高,rankm(i)就越小。在这里,我们通过等式定义模拟器中项目i的偏好得分 (1).然后根据这个评分函数对所有的项目进行排序:

其中,Wm代表它们的推荐模型的权重。理想情况下,这些权重被用来调整模拟器,以匹配目标推荐器的特性。

3.3结果估计器

如第3.1节所述,我们需要利用当前对抗样本的操纵结果作为奖励反馈,来更新对抗样本生成器的策略网络。获得结果的最直接的方法是重新训练整个模型。然而,在线推荐系统的再培训非常慢(一次再培训从几个小时到几天)。为了使攻击方法实用,我们建议使用影响函数来有效地估计操作结果,基于稳健统计。 

从形式上讲,推荐模型在干净数据集上的参数估计量为:,其中θ表示参数向量,L表示推荐模型的损失函数。Zi表示数据集中的一个样本,N表示训练集中的样本总数。对于协同过滤模型,一个样本是单个用户-项目对(u,v)。对于基于会话的推荐模型,给定用户u的行为序列xu=[x1u、x2u、···、xum],每个训练样本由子序列和下一项组成,即([x1u]、x2u)、([x1u、x2u]、x3u)、···、([x1u、x2u、··])。

现在让我们继续讨论影响函数。

假设我们在训练集中用一个ϵ增加样本zδ,给出θ的新估计为:

当ϵ→0时,根据[6]中的经典结果,上调zδ对参数θ的影响为:

式中,为损失函数的海森矩阵。鉴于推荐数据集中的用户数量很大,注入一个数据样本与通过ϵ≈1N提高样本的权重是相同的

在这里,关键的计算瓶颈在于计算了巨大的逆黑森矩阵Hθ−1。给定一个样本zj,我们使用隐式黑森向量积(HVPs)[1,10]来有效地近似−Hθ−1∇θL(zj,θˆ)。

在近似估计样本上升权重对参数θˆ的影响的基础上,进一步计算了其对预测评分函数w.r.t.的影响所有的扰动。具体来说,假设我们想将一个产品v‘推广给用户u’,我们可以将其作为测试集中的目标样本zu测试‘v’。对预测评分函数w.r.t.的影响可写成:

其中,ftest为推荐系统在测试阶段使用的预测评分函数。该结果进一步用于设计有效的代理策略培训的奖励.

3.4对抗性攻击 

对局部推荐模拟器的攻击本质上被解释为一个多步决策问题。在本节中,我们将这个决策问题转化为一个马尔可夫决策过程(MDP)。MDP被定义为一个元组(S、a、P、R、γ),其中S是一组状态,A是一组行动,P是转移概率,R是即时奖励,γ是折扣因子。

在本文中,MDP可以指定如下:

动作空间A:如第3.1节所述,攻击者为每个受控用户确定按适当顺序组织的特定项目。我们没有将所有可能的项目的集合作为动作空间,而是将项目集划分为组,并使用所有组的集合作为动作空间。在动作空间中使用粗组而不是项目的主要原因是对学习效率的关注。学习每一个项目的行动策略不仅代价昂贵,而且对攻击目标也是不必要的。这是因为对抗性的样本不需要遵循精确的样本模式。在这里,我们将其中一个组定义为所有目标项的集合,其中一个组定义为目标用户已经选择的所有项的集合,其余的组通过项目聚类获得,其中每个组表示具有相似属性的项目。该项聚类以所有项的特征向量和一个整数c作为输入,并将这些项划分为c簇。本文利用非负矩阵分解[12]提取项目特征,并使用K-means[14]算法进行聚类。在获得项目组后,在代理的训练和测试阶段,从策略中逐步采样组级的动作,形成一个组级的动作序列。然后从组级动作序列的当前步骤所表示的相应组中逐步采样顺序中毒样本。这个过程如图2所示。图2的左侧显示了将项目聚类为组的过程,右侧显示了生成中毒样本的过程。

状态S:该状态被定义为当前步骤t之前的动作子序列,并且所有的动作都来自于上面提到的动作空间。

•RewardR:如上所述,攻击者的目的是操纵本地推荐模拟器,并进一步操纵目标推荐模拟器。因此,RL框架应该学习一种策略,以尽可能多地促进目标用户给出的目标项目的估计预测分数。因此,我们将奖励设计为对预测评分函数的加权平均影响,即等式(3),所有目标样本。这些权重被手动分配,以指示每个推荐模拟器的重要性。 

 在这里,我们应用深度q网络(DQN)来估计动作值函数。现有序列的表示,即状态,通过GRU(门控循环单元)层建模,每种类型的动作的表示通过嵌入层提取。最后,我们部署了一个完全连接层,它将GRU层的最终输出作为输入,并输出估计的动作值。

DQN通过迭代算法进行训练。在每次迭代中,都有两个阶段,重放内存生成阶段和参数更新阶段。在重放内存生成阶段,代理根据ϵ贪婪策略和当前状态st生成组级动作。然后,从组级序列中每一步建议的相应组中采样项目,生成项目级序列。之后,代理从结果估计器中观察奖励rt,并更新状态。对于参数更新阶段:代理从重放内存中采样a(st、at、rt、st+1),然后更新参数。

4实验

在本节中,我们针对不同的推荐方法对所提出的LOKI进行了实际测试。实验结果表明,该方法优于现有的攻击策略。此外,我们还系统地研究了一些关键因素的影响。

4.1数据集

为了证明所提出的中毒攻击框架的性能,我们采用了Amazon Beauty,这是广泛使用的推荐数据集系列Amazon[8]中的一类。本文使用的数据集主要集中在头发和护肤产品上,是从Amazon.com中提取的大型产品评论中提取的。数据集中的用户数量和项目数量分别为22363和12101。用户活动(即购买和审查)为146031。平均每个用户参与6.53个活动,每个项目参与12.06个活动。我们遵循了[9,22]中引入的类似的预处理程序,并过滤掉了反馈少于5个活动和项目少于5个的用户

4.2实验设置

4.2.1基线攻击方法。如前所述,目前还没有解决与本文所考虑的完全相同的任务。虽然现有的一些攻击方法[13]针对推荐方法,但它们大多是为白盒设置而设计的,需要对相应模型的架构和参数有丰富的知识。因此,这些方法不能用于本文所讨论的黑箱设置。因此,我们将提出的LOKI与几种基于启发的攻击策略进行比较。

none:这表示没有进行攻击的情况。

•随机:在这种基线方法中,攻击者将目标项目和随机选择的项目混合,为每个受控帐户形成一个存储库。在每个步骤中,受控的用户从项目存储库中随机选择项目,而不需要重复。

•流行:这是[23]的一个变体。在这种基线方法中,攻击者在流行项目和目标项目之间注入虚假的共访问,以提升目标项目。

4.2.2目标推荐方法。

在本节中,我们将考虑以下用来进行性能比较的目标方法。这些目标方法的参数是按照本文的建议设置的。

•BPRMF[20]是一种基于因子分解的个性化排序方法。它是一种最先进的非顺序项目推荐隐式反馈数据的方法。

•FPMC[21]是一个经典的混合模型,结合马尔可夫链和矩阵分解,为下一个项目推荐。FPMC可以模拟用户的长期偏好和短期的项目间转换。

对于每个用户u在数据集,假设u的序列的长度是你,我们持有第一个屠−2动作序列作为训练集和使用下一个动作作为验证集搜索这些最优超参数设置的推荐模型。攻击方法的目的是操纵对下一个项目的预测,即项目Tu。

为了模拟目标黑盒推荐系统与推荐模拟器之间的交互作用,我们采用了“留一策略”。也就是说,我们使用一个特定的推荐模型作为目标,它对攻击者是盲的,并使用所有方法的聚合作为推荐模拟器。本文中的目标项目和目标用户的数量均固定为20个。

4.2.3评估度量。

我们使用平均显示率,即排名前k的推荐结果包括目标项目的目标用户的比例,作为我们的评估指标。显示速率越大,攻击方法的性能就越好。

4.3结果分析

图3总结了所有攻击方法的结果。在这里,我们将控制用户的百分比固定为3%,每个用户的操作数量固定为15。返回的项目的数量固定为10个。在攻击结果方面,所提出的LOKI取得了最佳的性能,改进效果显著。例如,与最佳基线相比,所提议的LOKI的显示率平均增加了8倍以上。在基线方法中,Random只是简单地让目标项目出现在中毒序列中,而无需实际创建任何有利于目标项目推荐的新模式。因此,随机有性能最差。流行物品伪造了流行物品和目标物品之间的共同访问,而没有考虑这些流行物品是否确实与目标用户的偏好重叠。因此,他们也不能得到令人满意的表现。

与这些基线相比,所提出的LOKI利用了来自本地模拟器的反馈来训练一个攻击代理。学习到的代理能够创建更复杂的模式来实现数据中毒的目标。我们还注意到,目标模型越复杂,所提出的LOKI在性能度量上的提高就越高。例如,攻击FPMC时的性能差距比攻击BPRMF更大。这是因为高级方法能够在用户行为序列中捕获更复杂的用户模式。一般来说,捕获各种用户模式的能力会带来更好的预测性能,但同时,也为所提议的LOKI的攻击改进提供了更大的空间,因为它能够创建新的模式来破坏推荐。也就是说,在某些情况下,提议的LOKI可以创建特定的顺序模式。然而,由于相对简单的方法不能捕获这些精心制作的模式,这些方法对所提出的LOKI生成的对抗性样本不那么敏感。

4.4参数分析

在讨论了总体实验结果和脆弱用户的特点后,我们演示了两种攻击预算的影响,即(1)是攻击者招募的受控用户的百分比;(2)每个受控用户进行的活动数量。

对受控用户的百分比的影响。在本实验中,我们考虑了受控用户的百分比较低的情况,并在该百分比发生变化时评估LOKI的性能。这里的“百分比”是指受控用户的数量与正常用户的数量之间的关系。每个受控用户的活动数量固定为15个,推荐系统返回前10个项目。真实世界数据集的显示速率如图4所示。从图中我们可以清楚地看到,所提出的LOKI在所有情况下都优于基线,并且可以成功地推广目标项目。例如,当攻击FPMC时,即使受控用户的百分比低至3%,显示率也会增加到0.055。因此,我们可以得出结论,本文提出的攻击即使在较少的攻击预算下也是有效的。

每个受控用户的活动数量的影响。当给出受控用户的百分比时,每个受控用户进行的活动的数量是另一个重要的攻击因素。在这个实验中,我们将受控制用户的百分比固定为3%,并将每个数据集的受控制用户进行的活动数量从5到15。推荐系统将返回前10个项目。结果如图5所示。这些结果表明,所提出的LOKI在所有情况下都优于基线方法。随着每个用户的活动数量的增加,显示率也会增加。这是因为更多的活动使受控用户有更多的能力将被操纵的偏差信息注入系统。如果我们看看Amazon数据集中的长度顺序用户行为样本的分布,例如,从图6中的数据集派生出来的分布,我们可以看到注入前后的分布是相似的。因此,从实践中在线平台运营商的角度来看,将这些生成的顺序样本注入数据集是不值得注意的。

 

 5相关工作

在本节中,我们从两个方面调查了相关的工作:一般的数据中毒攻击和针对推荐系统的中毒攻击。

数据中毒攻击:针对机器学习算法的数据中毒攻击已经成为对抗性机器学习领域的一个重要研究课题。这种类型的攻击发生在机器学习模型的训练阶段。攻击者试图通过注入设计良好的样本来污染训练数据,以迫使学习者建立一个邪恶的模型。数据中毒攻击已经被广泛研究针对学习系统,包括SVM[4]神经网络[10,17]、潜在狄利克雷分配[15]、基于矩阵分解的协同滤波[13]和自回归模型[2,5]。现有的工作几乎只集中于(1)白盒设置,攻击者在那里观察模型架构;(2)连续数据,如图像或声学数据。在本文中,我们关注的是一个更具挑战性的黑盒设置,即攻击者不知道目标模型的体系结构或参数。相反,攻击者只是从目标模型中得到很少的隐式反馈。

中毒推荐系统:类似于一般的数据中毒攻击,中毒推荐系统旨在通过注入对抗性样本来欺骗推荐系统,以便系统根据攻击者的意愿进行推荐。第一个关于中毒推荐系统[18]的研究是在十多年前进行的。在早期的工作中,所提出的攻击通常是由启发式驱动的。例如,在随机攻击[11]中,攻击者为每个注入的受控用户随机选择一些项目,然后从正态分布中为每个选择的项目生成一个评分,其均值和方差与未污染数据集相同。这些方法依赖于在下一个项目推荐设置中不存在的用户-项目评级。中毒攻击最近提出的[13,23]会产生虚假行为,并根据特定类型的推荐系统进行优化。具体来说,Li等人[13]提出了基于矩阵分解的推荐系统的中毒攻击。Yang等人[23]提出了基于关联规则的推荐系统的中毒攻击,即每个用户在项目之间注入虚假的共同访问,而不是虚假的项目评分分数。与这些方法不同,本文提出的框架不需要将目标系统的细节作为先验知识。因此,所提议的框架可以用于更广泛的上下文。

6结论

在本研究中,我们提出了一种针对黑盒下一项推荐系统的数据中毒攻击方法。将中毒攻击问题表述为一个多步骤的决策问题,并通过深度强化学习方法进行解决。在实践中,由于推荐数据集的巨大规模、昂贵的训练时间和真实推荐系统的访问限制,这项任务可能会更加复杂。该框架利用了影响逼近技术和推荐模拟器。实验结果表明,在向目标用户推广目标项目方面,所提出的框架始终优于所有基线。我们还研究了不同因素对中毒结果的影响。在未来,我们将研究针对本文所讨论的脆弱性的防御策略。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
“Poison frogs! targeted clean-label poisoning attacks on neural networks”这是一个关于对神经网络进行有针对性的干净标签中毒攻击的研究项目。在这种攻击中,研究人员通过修改训练数据集中的特定标签,以欺骗神经网络模型以误分类输入样本。 干净标签中毒攻击是一种隐蔽的攻击方式,因为攻击者不需要修改图像本身或添加任何可见的攻击标记。相反,他们通过对训练数据集进行精心设计的修改,使神经网络在应用中出现错误分类。这种攻击方法可能会导致严重后果,例如在自动驾驶汽车或安全系统中造成事故或功能失效。 这个项目的目的是研究这种攻击方法的可行性和效果,并提出对抗这种攻击的解决方案。研究人员首先对训练数据集进行修改,以使特定类别的图像被误分类为其他类别。然后,他们使用已经训练好的神经网络模型,通过修改训练数据集中的特定图像标签,使模型在测试阶段错误地将这些特定图像分类为不同的类别。 结果表明,即使在高性能的神经网络上进行干净标签中毒攻击也是可行的。这些攻击可以在不影响模型在其他正常输入上性能的情况下,误导模型对特定图像的分类。这使得攻击者能够操纵模型的行为,甚至可能导致系统的安全漏洞和错误决策。 为了对抗这种攻击,研究人员提出了一种改进的训练策略,称为“防御机制”。这种方法可以增强模型对干净标签中毒攻击的鲁棒性,并提供了一种有效的方法来检测和解决这种攻击。 总体而言,这个项目揭示了干净标签中毒攻击在神经网络中的潜在威胁,并提供了对抗这种攻击的解决方案。这有助于进一步加强神经网络模型在面临安全挑战时的鲁棒性,并推动相关领域的研究和技术发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值