原文链接:
https://dl.acm.org/doi/10.1145/3383313.3412243
ABSTRACT
1.发现现有文献的两个局限:
(1)它们不能精确地解决优化问题,从而降低了攻击的危害。
(2)他们假设对攻击有完美的知识,导致对现实的攻击能力缺乏理解。
我们证明,生成假用户的精确解决方案作为一个优化问题可能会导致更大的影响。我们在真实数据集上的实验揭示了攻击的重要特性,包括攻击可转移性及其局限性。这些发现可以启发对这种可能存在的攻击的有效防御方法。
1 INTRODUCTION
提到推荐系统模型:基于邻域的方法[38],基于因子分解的方法[23,37],以及最近的深度神经网络(又称深度学习)模型[9,19]。
由于推荐系统依赖于用户贡献的判断和主观评分数据[6],因此可能会被滥用和恶意攻击。
1.1 Injection Attack against Recommender Systems (注入攻击)
假定攻击者可以使用数据集,但目标模型未知。为了达到他们的恶意目的,例如,影响某项(s)被推荐的可用性,攻击者会在局部用代理模型制造假的用户概要,并在目标推荐者被训练之前将它们注入目标推荐者。
在文献中,对推荐系统进行注入攻击的早期研究是受到启发式算法的启发。由于这些攻击是启发式创建的,注入攻击的威胁可能无法完全实现。
1)注入假用户高度相关,有时甚至是自我形成的集群,容易被检测到。
2)此外,启发式方法严重依赖于背景知识,因此,为一种恶意目的而设计的方法很难用于另一种恶意目的。
3)启发式方法不能直接优化对抗目标,这限制了其可用性和威胁。
最近,我们看到了对抗性攻击的巨大影响,通过对抗性机器学习来优化对抗性目标,而不考虑模型类型和任务:在网络搜索中,对手可以通过改变网页内容来获得高搜索引擎排名[7];在众包中,对手可以为利润提供无用的答案;在社交网络中,对手可以根据所需的节点属性[43]修改节点关系;在图像识别中,对手可以对图像像素进行扰动,从而得到想要的识别结果。
这项研究中,我们旨在通过研究使用对抗学习攻击推荐系统的挑战和局限性来重新审视这一方向。在接下来的两部分中,我们将使用与对手相同的视角来理解如何执行攻击。在第2节中定义了威胁模型后,我们发现现有的工作并没有很好地解决这个问题,导致攻击的威力没有达到应有的程度。在第3节中,我们提出了一个更精确但效率较低的解决方案来生成攻击,并伴随着对解决方案的两个有效逼近。在第4节中,我们将探讨攻击对真实数据集的影响,并识别其弱点并找到此类攻击的线索。我们希望这些发现可以帮助我们更好地理解攻击,从而发展防御技术。
2 BACKGROUND
在本节中,首先介绍推荐任务的基本知识,并定义威胁模型。为了便于演示,还将介绍一些符号。然后,简要地回顾现有的解决方案及其局限性,这鼓励我们在下一节中提出更精确的方法。
2.1 Recommendation Goal (推荐的目标)
有一组用户U = {u1,u2, …,u| u|},集合I = {i1,i2, …,i|I |}(如产品、视频、场馆等),反馈/互动数据(如用户购买产品、观看视频、场馆签到)。隐形反馈在真实系统中比显性反馈更普遍[213,32],因此在本研究中考虑到了这一点。我们用X∈{0,1} ^ (|U |× |I |) 表示二值化隐式数据,1表示正反馈,0表示未知条目。基于用户历史数据建立的推荐模型可以做出预测R∈R ^ (| u |× | i |) 。推荐模型的学习目标是为每个用户提供预测相关度最高的相关条目。
2.2 Threat Model(威胁模型)
为了攻击部署在系统中的目标推荐器(又称受害者模型),攻击者会使用自己的局部模型(又称代理模型),制造假用户,并将其注入到受害者模型的原始训练数据中。下面,我们将从几个方面阐述威胁模型。
攻击者的目标: 有针对性和无针对性。这里主要研究有针对性的攻击。我们考虑推广(或推)攻击:给定一个目标物品,攻击者的目标是增加其被受害者模型推荐的机会;或者核攻击,降低一个目标被推荐的可能。
攻击者的知识: 我们假设攻击者对用于训练目标(受害者)推荐模型的数据集具有(全部或部分)知识。任何关于受害者模型的知识(如模型参数、模型类型等)都是可选的,因为攻击者可以先用有毒的假用户攻击自己的局部(代理)模型,希望这些假用户也可以用来攻击目标(受害者)模型。如果两个模型共享相似的属性[33],这种攻击转移是可能的。
攻击者的能力: 攻击发生在受害者模型的训练时间,而不是测试时间。后者被称为逃避攻击,在对抗性学习中更常见。在推荐的情况下,测试时间攻击需要攻击者侵入其他正常用户的账户,并改变他们的偏好,这是一个网络安全问题,超出了我们的工作范围,且训练时间攻击更实际。
2.3 Adversarial Injection Attack: a bi-level optimization problem(对抗输入攻击:一个双层优化问题)
回想一下,作为第一步,对手将学习假冒用户攻击他们自己的代理模型。给定一个受到攻击的训练有素的代理模型和一组假用户V = {v1,v2, …,v| v|},伪数据Xb∈{0,1} |V |× |I |会被学习来优化一个对抗性目标函数Ladv
其中θ为代理模型的一组参数,Rθ为代理模型在参数θ和Ltrain表示代理模型的训练目标。如图所示,一个优化问题(即式(2),称为内目标)嵌入(嵌套)在另一个优化问题(即式(1),称为外目标)中,这就形成了一个双层优化问题[12]。内部目标显示,在注入假数据Xb之后,代理模型将首先使用它们(即,用有毒的数据集从头开始训练),然后我们得到训练好的模型参数θ *。
不同的对抗目标可以用于不同的恶意目的。在本文中,我们关注的是将目标商品k推广到所有普通用户,因此一个典型的对抗性目标可以是交叉熵损失:
如果普通用户对目标商品k的预测大于其他商品,则目标最小化,从而达到恶意推广目标商品的目的。
由于资源有限,不能用暴力解法,可采用梯度下降法。如算法1:
在每次迭代t∈{1,…,T}用于更新伪数据,我们首先L次迭代,来重新训练代理模型(第7行)更新模型参数。然后使用投影梯度下降(PGD)更新假用户数据,用ProjΛ(·)作为投影算子,将假数据投影到可行集上(即xˆvi∈{0,1})。 在最后一次迭代T后,伪数据Xb(T)是用来最小化Ladv的,它们能够攻击代理模型,我们希望它们也能以类似的方式攻击目标(受害者)模型:一旦在中毒数据集上训练,就会造成很小的对抗性损失Ladv。
2.4 Limitations in Existing Studies and Our Contributions(现有研究的局限性和我们的贡献)
文献中有一些研究[11,13,14,26]试图将注入攻击视为一个优化问题,学习针对对抗目标的假数据。在现有的工作中,我们发现两个局限。
梯度计算不精确。 从算法1可以看出,求解代理模型训练的内部目标简单而传统,挑战在于获取对抗梯度∇bX Ladv来更新假数据。在文献中,已有的工作要么试图估计这个梯度[11],要么试图直接计算。但是在方程的问题公式下。(1)到(2),它们在梯度计算中都缺乏精确性。更具体地说,通过应用链式法则,精确的对抗梯度可以写成:
在现有的研究中[11,13,14,26],我们发现Eq.(4)的第二部分被完全忽略了。这表明最终的替代模型参数θ *与伪数据bx无关,但显然是不正确的。
贡献: 给出了梯度精确计算方法并给出了两种估计方法(在第三部分),在一个合成的和真实的数据集上,我们经验地证明了这两种方法的有效性和只计算偏导数进行近似的不良结果,
缺乏重要的实验研究。 所有以往的研究中,目标模型被设定为与代理模型相同,这就是所谓的“白盒攻击”。实际上,目标模型未知。知道了这一点,攻击者将通过使用可转移到不同目标模型的代理模型来学习虚假用户数据,从而设计更有效的攻击。最终目标是防御攻击,这需要考虑更实际的设置,并理解攻击的特征和限制,以激发更好的防御策略。
贡献 我们利用用户-地点签入数据集来研究从一个代理模型精心设计的攻击如何转移到另一个受害者模型,并检查影响可转移性的关键因素(在第四部分)。更重要的是,我们分析了这种对抗性学习的注入攻击的局限性,这可以启发有用的防御技术。
3 SOLVING THE BI-LEVEL OPTIMIZATION PROBLEM
我们将重点放在算法1的第9行,描述如何精确计算Eq.(4)中的对抗梯度(见3.1节),并提供两个近似解(见3.2节和3.3节)。首先,我们将使用加权正则化矩阵分解(WRMF)[21,32],作为代理模型的一个例子,这是一个基本的、典型的基于隐性反馈的推荐模型,并演示了如何计算精确的对抗梯度。然而,精确的梯度计算既不节省时间,也不节省资源。因此介绍两个近似方法,达到效率和有效性的平衡。在一个合成玩具数据集上,我们根据经验评估近似的解决方案的效果。
WRMF model 一组用户潜在因子P∈R |U |×K,项目潜在因子Q∈R |I |×K用于对正常数据X进行预测R = PQ^⊤。当注入假数据Xb时,设F∈R |V |×K表示用户潜在因素,Rb = FQ ^⊤表示对虚假用户的预测。在此公式下,θ = {P,Q, F},代训练目标为:
其中wui和wvi是实例权重,用于区分从正常数据和假数据中观察到的和缺失的反馈(例如,当xui = 1时wui = 2,当xui = 0时wui = 1, wvi类似) ,λ是控制模型复杂性的超参数。
toy dataset 具体来说,X中每个数据点由x =µν^⊤生成,其中ν∈Rd和μ∈Rd都从Nd (0, I)中采样,d << min(|U|,|V|)。通过为∀x∈x生成数据点,合成的数据集可能具有低秩,类似于其他真实世界的推荐数据集。最后,我们将X进行二值化,通过设置阈值(e)将其转换为隐式反馈数据。通过控制(|U|, |V |,d,e)的值,我们就可以拥有任意大小的不同秩和稀疏度的合成数据集。
3.1 Exact Solution(精确解)
值得注意的是,WRMF对正常用户R = PQ^⊤的预测不直接依赖于伪数据Xb,因此Ladv®对Xb不可微分或等价地,我们可以指定为∂Ladv / ∂Xb = 0。事实上,这是大多数基于嵌入的推荐模型的常见情况[19,20,37],其中数据(X和Xb)仅用于计算训练目标(作为标签),而不涉及计算预测(R和Rb)。
在不失一般性的前提下,假设内目标只优化了一次(即L = 1),则θ(1) = {P(1),Q(1), F(1)}为对抗目标Ladv(Rθ (1)) = Ladv(P(1)·Q(1))的最终参数集。此外,我们还可以得到θ(1) = opt(θ(0),∇θ Ltrain),其中opt(,)表示从θ(l−1)到θ(l)的过渡函数。如算法1,在随机梯度下降的情况下(SGD), 会变成:
现在,当使用WRMF和T = 1时,应用链式法则可以很容易地计算出∇Xb Ladv的对抗梯度:
类似地,当T >1时,我们只需要累积梯度:
在上述求和中,∂θ (l) / ∂Xb是微不足道的,如式(6)所示,而∂Ladv / ∂θ (l)可以按顺序进行。也就是在得到∂Ladv / ∂θ (l+1)之后,我们可以得到∂Ladv / ∂θ(l):
在图2a中,我们展示了计算对抗梯度∇XbLadv过程的总体计算图。注意,如果它们的内部目标也使用SGD(或SGD的变体,如Adam[22])进行了优化,则此过程适用于大多数基于嵌入的推荐模型,而不限于WRMF。值得一提的是,尽管Eq.(6)和Eq.(8)所示的微分中包含了Hessian矩阵的计算,但自动微分[18]为我们提供了一种方便的求解方法。
为了研究使用上述精确解的攻击有效性,我们在一个合成数据集上设计了一个概念证明实验,在白盒攻击设置下,使用WRMF作为代理模型学习虚假用户数据。
设置。 基于我们之前描述的合成数据生成方法,我们创建了一个包含900名普通用户、100个假用户和300件物品的玩具数据集。即| U | = 900, | V | = 100,| I | = 300。当生成数据时,我们将其“rank”d设为20,二值化阈值柱一设为5,该设置下的数据稀疏度为88%。我们使用的模型是隐含维数K = 16的WRMF,其训练目标如式(5)所示。在实例权值方面,我们经验地在xui = 1时设置wui = 20,在xui = 0时设置wui =1,这样推荐效果最好。同样的权重也适用于wvi。最后,使用Adam对代理模型(即内部目标)进行了100次优化(L =100),对假数据(即外部目标)进行了50次优化(T = 50)。
实现细节。 回想一下,在用精确的对抗梯度更新假数据后,我们必须将它们投影到可行域(即xˆvi∈{0,1})。要实现这一点,最直接的方法是使用阈值:
根据经验,当攻击影响较大时,可以采用网格搜索的方法来求ρ值。在我们的实验中,我们使用ρ = 0.2。
结果。 首先,为了评估代理模型的性能以及学习到的注入攻击的性能,我们使用截断为10的命中率(HR@10)作为度量。为了评估代理模型的推荐性能,我们随机为每个用户保留1个交互条目(表示为测试条目),测量HR@10上的测试项目,并平均到所有普通用户。为了评估攻击性能,我们使用了相同的策略和度量HR@10,但是是在目标项目上。图3显示了我们所关心的两种性能的结果。从图3(a)中我们可以看出,当使用WRMF作为代理模型及其精确的对抗梯度来求解方程中的双层优化问题时。通过迭代成功最小化对抗目标Ladv。对抗目标Ladv通过迭代成功最小化。从图3(b),我们注意到攻击性能(即HR@10对目标物品)也随着Ladv越来越好。更有趣的是,我们发现攻击对WRMF的推荐性能没有太大的影响(即测试项目上的HR@10)。
通过上述实验,我们说明了当(1)使用用Adam的WRMF作为代理模型,(2)使用在内优化目标所有迭代过程中计算的精确的对抗梯度时,学习到的注入攻击的有效性。理想情况下,我们可以用其他代理模型(或者几个模型的集合)替代WRMF以达到对大多数受害模型的最佳攻击性能。这种有效的方法已经在其他领域[31]中进行了尝试,但对针对推荐系统的注入攻击的研究还不够充分。
然而,由于该方法在时间和空间上都具有较高的复杂性,它有很大的缺点。起初,在优化内目标时,我们通过前向和后向传播来更新代理模型参数θ,并且只保留这些参数的最新值。而如果我们想要计算出准确的梯度(如图2a所示),则需要存储每次单次迭代l∈{1,…L}。所以空间复杂度随总迭代次数L线性增长。即代理模型尺寸|θ | = m,则总共需要O(Lm)空间。至于时间复杂度,我们需要额外的时间来计算∂θ(l+1) / ∂θ(l)和∂θ(l) / ∂Xb为每个l∈{1,…L}。根据反向模式算法微分[3],这两种计算的时间复杂度与模型大小m成正比。因此,时间复杂度也随L线性增长,因此,对于虚假数据的一次更新,需要额外的O(Lm)时间来积累所有的梯度。结果,计算出准确的梯度▽XbLadv在需要对大型代理模型多次迭代进行优化时是不切实际的,而这在现实世界的推荐场景中非常常见。这就是为什么在下一篇文章中,我们展示了两种∇XbLadv精确梯度的近似。
3.2 Approximated Solution i: Unrolling fewer steps(展开更少的步骤)
一个直接的解决方案是积累 ∂Ladv / ∂θ (l) · ∂θ (l) / ∂Xb,∀l∈{l, l−1,…1} 时展开更少的步骤。当用(7)计算准确的梯度时,人们可以将l = L返回到 l = L − τ 的梯度相加,而不是 l = 1。也就是说,式(7)的近似值为:
其中τ∈[1,L]表示展开步长。这要求我们仅在最后τ个步骤中保留代理模型参数,并仅在最后τ个步骤中反向传播对抗梯度。因此,它将时间和空间复杂度从O(Lm)降低到O(τm)。我们可以根据可用资源选择展开步骤τ,但理论上,τ越大,逼近越好。
结果. 在图4(a)中,我们展示了前一小节中相同实验的结果,改变展开步骤的数量τ。当τ = 100时,我们得到与图3相同的结果。当使用WRMF(使用Adam优化)作为代理模型,当我们展开更多步骤时,我们可以获得更好的攻击性能(通过目标物品更高的HR@10或更低的Ladv衡量),正如预期的那样。值得注意的是,即使展开一些步骤(例如,总步骤的%5),我们也可以用近似因子0.65达到合理的攻击性能(目标条目为HR@10中的0.368 vs. 0.568)。虽然在这个合成数据集上取得了有希望的结果,但我们想指出的是,近似因子并不能保证,并且可能因不同的数据集和不同的代理模型而不同。
3.3 Approximated Solution ii: Using special surrogate models(特殊代理模型)
通过展开更少的步骤,我们仍然需要额外的时间和空间。而在这一小节中,我们重温了现有著作[13,26]采用的另一种方法,即用梯度的偏导数近似梯度:
使用这种近似,我们不需要展开任何步骤(或τ = 0),它几乎不需要额外的时间或空间。
回想一下,对抗性目标Ladv被定义为对正常数据R的预测函数(例如,见式(3))。在3.1节中,我们得到∂Ladv / ∂bX = 0,因为优化了基于SGD的方法,WRMF的预测不依赖于数据,既不依赖于X也不依赖于Xb,而只依赖于其参数R = P^⊤Q。
然而,Li等人[26]表明,当WRMF用交替最小二乘(ALS,或块坐标下降)优化时,它的预测明确地依赖于数据,,因此我们可以有非零的偏导数。总之,当WRMF(用ALS优化)的训练收敛时,其相应的预测为R和Rb为:
ri和rbi是R和Rb的第i列,类似的表达式也适用于xi和xbi. 保持P和F为常数,我们就可以计算期望的偏导∂Ladv / ∂bX=∂Ladv / ∂R·∂R / ∂Xb.Fang等[14]利用类似的思想,证明了在使用重启随机漫步(RWR)作为代理模型时,偏导数是存在的。
然而,这些方法的一个局限性是,用ALS和RWR解决的WRMF都没有得到现有机器学习库(如TensorFlow[1]或PyTorch[35])的良好支持,这些库主要是为使用基于SGD的方法优化的模型而设计的。因此,用自动微分[18]计算所有期望的导数(包括(10)中的偏导数和(9)中的累积梯度)是有意义的。
在本文中,我们提出了另一个代理模型。在承认其局限性的基础上,受到前人的启发,我们希望模型的预测明确地以数据为条件(也就是说,在计算R时,X和Xb应该出现在计算图上),并使用基于SGD的方法进行优化。此外,该代理模型由神经网络组成,有望更好地将攻击转移到其他深度推荐器。所得到的代理模型如图Fig2(b)所示。与WRMF类似,我们从用户嵌入表中检索用户潜在表示(红色圆圈)。而项目i的项目潜在表示(蓝色圆圈)是使用数据xi和xbi作为输入的前馈层来计算的。这使得Ladv对Xb(红色虚线)可微,因此我们可以得到非零的偏导数。
值得注意的是,图2b中描绘的模型也可以被视为基于项目的自动编码器(ItemAE)。将第i项的正常数据和假数据拼接后,即xi+ = [xi;xbi], ItemAE首先使用一个由θE参数化的编码器网络E,将这个高维输入投射到一个低维潜在空间zi = E(xi+;θE),其中zi∈R^K是维数为K的输入xi+的潜在码(表示)。 ItemAE还使用以θD为参数的解码器网络D从其潜在码ri+ = D(zi;θD)重建输入。在[39,42]中,对ItemAE的推荐性能进行了研究,但在我们的论文中,我们发现ItemAE也可以帮助我们获得学习注入攻击所需的偏导数。
结果。 在图4(b)中,我们可以看到使用Adam经过100次迭代优化的ItemAE,以网络架构(|U|→64→32→64→|U|)作为代理模型时的攻击性能。当只使用偏导数∂Ladv / ∂Xb去近似∇Xb Ladv(即展开步τ = 0),攻击较弱,但没有额外的时间和空间。此外,由于我们讨论的两个近似是相互正交的,我们仍然可以为ItemAE添加一个展开步τ > 0,以获得更好的攻击性能,如图4(b)所示。我们观察到,通过合并一个大的展开步τ,与纯粹基于偏导数(PD)相比,实现了显著更好的性能。这表明,通过忽略(4)中的第二项,注入攻击的潜力是无法实现的。令人惊讶的是,我们发现使用精确的梯度(τ = 100)并不能提供最佳的攻击性能。我们猜想这是因为方程中的优化问题(1)~(2)是非凸的,因此在注入温和噪声时,可以将其最小化到较好的局部极小值。这是用SGD训练非凸模型时常见的现象,SGD虽然注入了噪声,但便于训练。
注意,图4(b)中的攻击性能与图4(a)中的性能是不可比较的,因为攻击是在不同的受害者模型上评估的。
3.4 Summary
最后,我们通过提供一个简要的总结来完成这一部分。要用基于梯度的方法解决双级优化问题,关键是在(4)中获得对抗梯度∇Xb Ladv,它是由偏导数项∂Ladv / ∂Xb 和代理模型参数θ上的累积梯度组成的。精确梯度的计算需要很高的时间和空间复杂度。但我们可以使用偏导数来近似梯度(需要特殊的代理模型)或在积累梯度时展开更少的步骤。现有的工作[11,13,14,26]只考虑了一阶近似方法,使攻击比它可以达到的程度更弱。在安全军备竞赛的背景下,低估对手是危险的[4,40]。这是本研究的主要动机之一。
4 EMPIRICAL STUDIES(实证研究)
本节中的实验分为两部分,且在一个真实的数据集上进行。首先,我们从代理模型(在第3节中介绍)分析攻击对不同类型的受害推荐系统的可转移性。接下来,我们的目标是确定这种反向学习的注入攻击的局限性。源代码和处理过的数据集在网上公开。
源码: https://github.com/graytowne/revisit_adv_rec
数据集: http://snap.stanford.edu/data/loc-Gowalla.html
4.1 Setup
数据集。 对于真实的数据集,我们使用Cho等人[10]构建的Gowalla,其中包含通过用户场所签入的隐式反馈。在之前的研究[2,41]中,它被广泛用于兴趣点推荐。在[41]之后,我们对原始数据进行处理,去掉冷启动用户和反馈小于15的条目。处理后的数据集包含13.1k个用户,14.0k个场地(项目),稀疏度为99.71%。我们随机20%的数据用于测试集,剩余的数据用于训练集。由于有超过1个测试项目,我们使用Recall@50来衡量推荐性能,而不是命中率。
评估协议。 为了公平地研究黑盒设置下的攻击可转移性,每种攻击方法都会产生固定数量的对代理模型攻击影响最大的假用户(占真实用户的1%,即|V|=0.01,|U|=131)。然后,我们将每个假数据与正常数据结合起来,让不同的受害者模型与组合的毒数据从零开始训练。然后,我们将每个假数据与正常数据结合起来,让不同的受害者模型与组合的假数据从零开始训练。对于Gowalla上的攻击性能,我们随机抽取5个物品作为目标物品集,并测量目标物品集上的HR@50(如果这些物品中有一个出现在排名列表中,就认为是命中)。目标项越多,攻击性能越显著,越稳定。
4.2 Analyses on Attack Transferabilities
在这一小节中,我们旨在探讨影响攻击从一个代理模型转移到其他受害者模型的关键因素。对于攻击方法,我们使用第3节中描述的方法。即被比较方法有:
RandFilter: Lam和Riedl[25]提出的一种基本攻击方法。虽然最初的版本是明确的评级,但我们通过让每个假用户点击目标商品(集合)和其他一些随机选择的商品(称为flter商品),在隐式反馈数据上调整了这种方法。该方法可作为启发式基线。
WRMF+ALS: 使用与ALS作为代理模型优化的WRMF来制造虚假用户。与[13,26]一样,只使用偏导数作为对抗梯度。
WRMF+SGD: 在3.1节中提出,该方法使用以Adam为优化器的WRMF作为代理模型。当积累对抗梯度时,我们通过展开总训练步骤的10%来近似准确的对抗梯度。
ItemAE: 在3.3节中提出,该方法使用以Adam为优化器的基于项目的自动编码器作为代理模型。ItemAE的特殊设计使我们可以得到非零的偏导数。因此,当积累对抗梯度时,我们展开0步(只使用偏导数)或全部训练步骤的10%。
对于受害模型,我们精心挑选了以下常用的推荐系统模型:
NCF 神经协同飘浮是一个流行的框架,探索复杂用户-物品交互建模中的非线性。我们采用NeuMF作为NCF的实例化。
multi - vae[27] 多项式似然变分自编码器(multi - vae)是一种最先进的隐式反馈推荐模型。它利用VAE学习健壮的用户表示,并显示出比其他基于因子分解的方法更好的性能。
CML[20] 协同度量学习(CML)使相关用户-物品对的潜在空间的欧氏距离最小化,增加不相关用户-物品对的欧氏距离。这里用它来判断评分函数的差异是否(即CML中的欧氏距离与WRMF和ItemAE中的点积)可以影响攻击转移。
ItemCF [38] 据推测,上述所有受害者模型都基于用户/物品嵌入,这是我们的代理模型共享的类似属性。因此,我们选择了经典的基于邻域的ItemCF方法,看看攻击是否可以转移到不同模型类型的受害者模型。
为了提高再现性,在表1中,我们报告了推荐性能(不含攻击)和本节中使用的每个模型的配置。注意,我们没有对每个模型进行彻底的调优,而是对超参数进行粗略的网格搜索,直到达到合理的推荐性能,因为比较推荐性能并不是我们的主要关注点。除了上述的受害者模型,我们还测量了受害者模型与代理模型(即WRMF和ItemAE)相同时的攻击性能。
图5给出了黑箱设置下每种方法的攻击性能结果。所采样的道具被限制为受欢迎的道具,因此在攻击发生前拥有相对较高的HR@50。如预期的那样,当选择WRMF和ItemAE作为受害模型,且相同的模型(即WRMF+SGD和ItemAE)作为代理模型时,受害模型被影响最大。启发式方法RandFilter有时可以达到恶意目标,但在不同的受害模型中攻击性能不稳定。WRMF+SGD产生的攻击可以很好地传递到其他所有模型中,但在现有的工作中采用的WRMF+ALS,大多数情况下的结果要差得多。至于ItemAE,展开更多的步骤(ItemAE)并不能提供更好的攻击性能,也不能提供更好的攻击可转移性,在大多数情况下,只使用部分导数(ItemAE(PD))。同时,当攻击对象模型为multi - vae时,ItemAE(PD)表现出显著的攻击影响,这可能是因为两种模型的共同结构。最后,我们发现了评分函数的差异(即CML中的欧氏距离与替代模型中的点积)对攻击没有太大影响。这一发现表明,在潜在空间上,被注射的假用户实际上将目标物品“拉”向普通用户,使两者的余弦距离(从325点积)和欧氏距离变小。然而,受害者模型选择的差异(即使用ItemCF作为受害者模型)可以恶化攻击的影响很大,除了当使用WRMF+SGD产生攻击时的情况。
4.3 Limitations of the Attack
如前所述,只知道攻击的严重程度并不总是对防御攻击有用。在本小节中,我们将讨论我们从所提出的注入攻击中发现的两个主要限制,目的是为进一步理解这种类型的攻击提供见解,并启发防御技术。
对冷项目不太有效。 注意,在前面的小节中,我们只展示了一组随机抽样的流行物品的攻击有效性。在表2中,我们展示了WRMF+SGD攻击对各种受害者模型的结果,但这次的目标物品集采样具有不同的流行度。我们将标题条目定义为总点击量(#点击量)超过95%的条目。类似的定义也适用于上部(75百分位< #点击量< 95百分位)、下部(75百分位< #点击量< 50百分位)和尾部(#点击量< 50百分位)。从表2中,我们可以看到WRMF+SGD的攻击,虽然仍然增强了目标物品集,但对于不太受欢迎的目标物品效果较差。换句话说,冷的物品更难得到提升。这可能是因为冷物品在潜在空间上距离正常用户更远,从而给攻击带来了更多的困难。
学习到的假用户是可以被发现的。 下一步,我们的目标是找出是否有任何线索的让我们识别学习到的假用户。当目标物品是头部物品时,我们首先观察那些已知的假用户点击了哪些物品,点击的物品的流行度和相应的密度。图5b给出了RandFilter和WRMF + SGD攻击的结果。为了参考,我们还绘制了500个正常用户的子样本。从图中,我们可以看到被点击的项目RandFilter攻击完全随机流行,正如预期的那样。但WRMF+SGD攻击的虚假用户分布与正常用户(标记为normal)有边际差异,说明从分布差异中识别虚假数据存在困难。然后在PCA(主成分分析)的帮助下,从潜在空间中寻找线索。在图5c中,我们在WRMF和MultVAE的潜在空间中绘制了来自RandFilter和WRMF+SGD攻击的虚假用户。从图5c的第一行,我们验证了[6]中关于启发式方法(这里是RandFilter)生成的假用户可以在潜在空间中自我形成簇的说法。尤其是来自WRMF+SGD攻击,虽然没有在WRMF的潜伏空间形成集群,被怀疑是在MultVAE的潜在空间。这表明,习得的虚假用户在某些潜在空间中仍然可能自我形成集群,一旦我们能够识别出一些虚假用户,他们在潜在空间中的邻居也可能是可疑的。
5 CONCLUSION
在本文中,我们重新讨论了针对推荐系统的反向学习注入攻击问题。通过将攻击问题建模为一个双层优化问题,指出了现有解决方案中存在的问题,提出了解决问题的精确解,并在一个合成数据集上验证了其有效性。由于精确解既不节省时间也不节省资源,我们还引入了两种方法来近似精确解。在一个真实的数据集上,我们进行了广泛的实验来评估攻击的可转移性和局限性,希望这些实证分析可以在未来启发有效的防御策略。