摘要

我们研究了模型提取是否可以用来“窃取”顺序推荐系统的权值,以及对此类攻击的受害者构成的潜在威胁。这种风险在图像和文本分类中引起了关注,但据我们所知,在推荐系统中却没有。我们认为,序列推荐系统由于特定的自回归机制,受到独特的弱点。

(自回归预测法(Autoregression,AR)是指,利用预测目标的历史时间数列在不同时期取值之间存在的依存关系(即自身相关),建立起回归方程进行预测。

具体说,就是用一个变量的时间数列作为因变量数列,用同一变量向过去推移若干期的时间数列作自变量数列,分析一个因变量数列和另一个或多个自变量数列之间的相关关系,建立回归方程进行预测。

再通俗一点讲,就是用过去时间点的数据预测未来时间点的数据。)

与许多现有的推荐攻击者假设用于训练受害者模型的数据集暴露于攻击者不同,我们考虑了一个无数据的设置,其中训练数据是不可访问的。在此设置下,我们提出了一种基于api的模型提取方法(攻击者在没有任何关于该模型的先验知识(训练数据,模型参数,模型类型等)情况下,只利用公共访问接口对该模型的黑盒访问,从而构造出和目标模型相似度非常高的模型。),

通过有限预算的合成数据生成和知识蒸馏。我们研究了最先进的顺序推荐模型,并显示了它们在模型提取和下游攻击下的漏洞。

我们分两个阶段进行攻击。(1)模型提取:给定从黑盒推荐中检索到的不同类型的合成数据及其标签,我们通过蒸馏法将黑盒模型提取为白盒模型。(2)下游攻击:我们用由白盒推荐器生成的对抗性样本来攻击黑盒模型。实验表明,在轮廓污染和数据中毒条件下,无数据模型提取和下游攻击的有效性。

1介绍

模型提取攻击[26,40]尝试创建一个机器学习模型的本地副本,只允许访问一个查询API。模型提取暴露了敏感的训练信息泄漏[40]和对抗性示例攻击[32]等问题。近年来,这一课题在图像分类[18,30,32,46]和文本分类[20,31]中引起了人们的关注。在本工作中,我们证明了模型提取攻击也对顺序推荐系统构成了威胁。

序列模型是一个流行的个性化推荐框架,通过捕捉用户的兴趣和项目到项目的转换模式。近年来,各种基于神经网络的模型,如RNN和CNN框架(如GRU4Rec[13],Caser[38],NARM[25])和变压器框架(如SASRec[17],BERT4Rec[37])被广泛使用,并始终优于非顺序[12,34]和传统的顺序模型[11,35]。然而,对推荐者的攻击研究较少,并且有一定的局限性:(1)少数攻击方法是为顺序模型量身定制的。通过对抗性机器学习的攻击在一般推荐设置中取得了[4,6,39]设置的最先进的水平,但实验是在矩阵分解模型上进行的,很难直接应用于顺序推荐;虽然一些模型不可知的攻击[2,22]可以用于顺序设置,但它们严重依赖于启发式,其有效性往往有限;(2)许多攻击方法假设受害者模型的完整训练数据暴露给攻击者[4,6,24,39,44]。这些数据可以被攻击者用来训练代理本地模型。然而,这种设置是相当严格的(或不现实的),特别是在隐式反馈设置(例如,点击,视图)中,攻击者将非常难以获得数据。

我们考虑一个无数据的设置,其中没有原始的训练数据可用来训练一个代理模型。也就是说,我们构建了一个代理模型,没有真实的训练数据,但有有限的API查询。我们首先对我们的代理(白盒)顺序推荐器构建下游攻击,然后将攻击转移到受害者(黑盒)推荐器。

顺序推荐器的模型提取提出了几个挑战:(1)无法访问原始训练数据集;(2)与图像或文本任务不同,我们不能直接使用语义相似的代理数据集;(3)api通常只提供排名(而不是概率),查询预算有限。考虑到这些挑战,顺序推荐者似乎相对安全。然而,注意到顺序推荐者通常以自回归的方式训练(即基于之前的方式预测序列中的下一个事件),我们的方法表明推荐者本身可以用来生成类似于“真实”数据分布的训练数据的顺序数据。有了这个特性和一个采样策略:可以构建(1)“假”训练数据,使顺序推荐者容易被模型提取;(2)来自有限数量的API查询的“假”数据可以类似于正常的用户行为,这很难检测

给定提取的代理模型,将执行下游攻击(参见图1)。但是针对顺序推荐者的攻击方法很少有[44]。在这项工作中,我们提出了两种攻击方法,分别针对当前的顺序推荐,包括轮廓污染攻击(通过“添加”项目到用户的日志来操作)和数据中毒攻击(生成“假”用户以使重新训练的模型产生偏差)。在黑盒顺序模型返回排名前k位的情况下,我们广泛地评估了我们的策略的有效性。

2个相关的工作

2.1在图像和文本任务中的模型提取

在[26,40]中提出了模型提取攻击,通过“窃取”模型权重来制作一个局部模型副本[18,20,30-32,46]。以前的工作通常与图像分类有关。为了提取目标模型的权重,JBDA[30]和克隆集[32]假设攻击者可以访问部分训练数据或具有语义的代理数据集的复数形式最近,在无数据环境中提出了一些方法。DaST[46]采用多分支生成对抗网络[7]生成合成样本,然后用目标模型进行标记。MAZE[18]生成的输入可以使攻击者和目标模型之间的分歧最大化。MAZE使用零阶梯度估计来优化发电机模块,以实现精确的攻击。由于输入空间的离散性,上述方法不能直接传输到顺序数据中。对于自然语言处理(NLP)系统,THIEVES [20]研究了基于bert的api[5]的模型提取攻击。尽管NLP存在对基于bert的模型的攻击,作者发现随机单词序列和代理数据集(例如维基文本-103[28]),既可以创建有效的查询和检索标签来接近目标模型,我们发现(1)在推荐中,很难使用语义相似的代理数据集(这在NLP中很常见);我们也采用随机项目序列作为基线,但它们的模型提取性能有限。因此,我们根据顺序推荐的自回归特性生成数据;(2)与自然语言处理相比,在推荐中很难提取“排序”(而不是分类)。我们设计了一个成对的排名损失来解决挑战;模型提取后的(3)下游攻击没有得到充分的探索,特别是在推荐方面,所以我们的工作在这方面也做出了贡献。

2.2对推荐系统的攻击

现有的工作[15,42]将对推荐系统的攻击分类为轮廓污染攻击和数据中毒攻击,分别在测试阶段和训练阶段影响推荐系统。

配置文件污染攻击旨在污染目标用户的配置文件(例如他们的视图历史记录),以操作特定用户的推荐结果。例如,[41]使用跨站点请求伪造(CSRF)技术[43]将“假”用户视图注入到真实世界网站的目标用户日志中,包括YouTube、亚马逊和谷歌搜索。然而,在[41]中使用的决定应该注入哪些“假”物品的策略是一种简单的启发式策略,而不需要受害者推荐者的知识。在我们的工作中,考虑到我们可以提取受害者推荐权值,我们可以研究更有效的攻击,如一般机器学习[8,21,32]中的逃避攻击。注意,在我们的工作中,我们假设我们可以添加到目标用户日志与注入攻击通过植入恶意软件[23,33],项目交互可以代表用户,因此,我们专注于注入算法设计和攻击可转移性(恶意软件开发和活动注入网络安全任务和超出我们的研究范围)。

数据2,22](即,它们不考虑模型架构的特征),但它们严重依赖于启发式,并经常限制它们的有效性。同时,还针对特定的推荐体系结构提出了中毒攻击方案中毒攻击(a.k.a.先令攻击[9,22])从一些假用户那里产生评级,以毒害训练数据。一些中毒方法是推荐不可知的[。例如,[4,24,39]为矩阵分解推荐和[42]基于共访问的推荐提出了毒算法。近年来,随着深度学习被广泛应用于推荐,[15]在神经协同过滤框架(NCF)[12]中研究数据中毒。最接近我们的工作可能是LOKI[44],因为顺序设置和[4,6,39]采用了对抗性的机器学习技术,为矩阵分解模型生成“假的”用户配置文件。LOKI的一个(相当严格的)限制是假设攻击者可以访问用于训练的完整交互数据。另一个限制是,LOKI对于深度网络(例如RNN/变压器)是不可行的,因为无法负担(即使有技巧)。在我们的工作中,在没有任何真实训练数据的攻击下提取黑箱推荐权值;我们进一步设计了对这些推荐者的近似和有效的攻击。

3框架

我们的框架有两个阶段:(1)模型提取:我们生成信息合成数据来训练我们的白盒推荐,通过知识蒸馏[14]快速缩小受害者推荐和我们之间的差距;(2)下游攻击:我们提出基于梯度的对抗样本生成算法,允许我们从白盒推荐的离散项目空间中找到有效的对抗序列,并成功实现对受害者推荐的轮廓污染或数据中毒攻击。

3.1设置

为了重点关注模型提取和对黑盒顺序推荐系统的攻击,我们首先介绍了关于我们的设置的一些细节。我们用以下设置来形式化这个问题来定义研究范围:

未知的权重:没有提供受害者推荐者的权重或指标。

•无数据:无法获得原始的培训数据,并且无法访问项目统计数据(例如,受欢迎度)。

•有限的API查询:给定一些输入数据,受害者模型API提供了一个项目的排序列表(例如,前100个推荐项目)。为了避免大量的API请求,我们为受害者模型查询的总数定义了预算。在这里,我们将每个输入序列视为一个预算单位。

•(部分)已知架构:虽然权重是保密的,但模型架构是已知的(例如,我们知道受害者推荐者是一个基于转换器的模型)。我们也将这个假设放宽到白盒推荐者使用与受害者推荐者不同的顺序模型架构的情况下。

3.2威胁模型

3.2.1黑箱受害者推荐。在形式上,我们首先将I表示为具有|I|个元素的离散项空间。给定一个按时序排列,长度푇序列,即풙=[푥1,푥2,…,푥푇],其中푥푖∈I,一个受害者序列推荐,풇푏是一个权重未知的黑盒,풇푏应该在项目空间I中的下一个可能的项目上返回一个截断的排名列表,即푰^푘=풇푏(풙),其中푰^푘是前k个推荐项目的截断排名列表。许多平台都以这样的形式呈现出排名列表。

3.2.2白盒替代推荐。我们构建了包含两个组成部分的白盒模型풇푤:嵌入层풇푤,푒和顺序模型풇푤,푚,从而使풇푤(풙)=풇푤,푚(풇푤,푒(풙))。虽然黑盒模型只返回推荐项的列表,但是我现在可以访问白盒模型풇푤的输入空间上I的输出分数为푺^푤,,即푺^푤=풇푤(풙)。

3.3攻击目标

3.3.1模型提取。

正如之前的动机,第一步是从一个训练过的黑盒受害者模型풇푏中提取一个白盒模型풇푤。在不访问풇푏的权重的情况下,我们通过进行有限的查询和从每个查询中保存预测的排序列表푰^푘,从黑盒模型中获取信息。换句话说,我们希望最小化查询结果上的黑盒풇푏和白盒模型풇푤之间的距离。我们能够通过知识蒸馏[14]来实现学习白盒模型的目标。在数学上,模型提取过程可以表述为一个优化问题:

其中,X表示一组序列,而풙(푖)∈X的唯一标识符为푖。我们将I^푘定义为一组排名前k的预测排名列表,其中푰^푘(푖)∈I^푘是풙(푖)的黑盒模型输出。请注意,数据(X,I^푘)并不是真实的训练数据。相反,它们是由特定的策略生成的,其细节将包括在第4节中。Ldis是一个损失函数,测量两个模型输出之间的距离,如排名损失。

3.3.2下游攻击。我们使用提取的白盒模型풇∗푤作为黑盒模型풇푏的代理来构建攻击。在这项工作中,我们研究了有针对性的推广攻击,其目标是尽可能地增加目标物品对用户的暴露,这是一种常见的攻击场景[39]。注意,也可以针对目标降级攻击,使用类似的技术构建。在正式意义上,有针对性的促销攻击的目标是:

轮廓污染攻击:我们定义轮廓污染攻击正式定义的问题寻找最佳注入项目풛∗(应该附加项目后的原始序列풙)最大化目标项目暴露푬푡,可以与常见的排名措施如召回或NDCG[17,25,37]:

 其中[풙;풛]是指序列풙和攻击项풛的连接。请注意,在配置文件污染攻击设置中,不需要再培训,并且假设此用户特定的配置文件풙可以被访问并可以注入(例如,使用恶意软件[23,33];请参见第2.2节)。

数据中毒攻击:同样,中毒攻击也可以看作是寻找有偏差的注入轮廓Z,这样在再训练后,推荐者传播偏差,更有可能推荐目标。Z∪X是指将假轮廓Z注入正常训练数据中,풇‘푏是再训练的推荐者,推荐者训练损失函数Lrec为:

 4方法

4.1无数据模型提取

为了在无数据设置下提取黑盒推荐器,我们分两个步骤完成这个过程:(1)数据生成,生成输入序列X和输出排名列表I^푘;(2)模型蒸馏,使用(X,I^푘)来最小化黑盒和白盒推荐器之间的差异。

4.1.1数据生成。

考虑到我们无法访问原始的训练数据和项目统计数据,一个简单的解决方案是利用随机数据,并获得后期阶段的模型推荐。

•随机:从输入空间中均匀采样项目,形成序列Xrand={Xrand(푖)}퐵 푖=1,其中풙(푖)rand是一个生成的序列,标识符为푖,퐵是预算大小。在我们的实验中,每一步从受害者推荐系统中获得前k项(푘=100),形成输出结果集,即I^푘rand={[풇푏(풙(푖)rand[:1]),…,풇푏(풙(푖)rand[:푇푖]]]}퐵푖=1,其中[:푡]操作截断序列中的第一个푡项(每次点击后对应一个推荐列表)。푇푖是풙(푖)rand的长度,其中푇푖可以从一个预定义的分布中采样,或者简单地设置为一个固定的值。按照这个策略,我们生成输入和标签(Xrand,I^푘rand)用于模型蒸馏。

然而,随机数据不能模拟真实的用户行为序列풙real,其中在不同的步骤之间存在顺序的依赖。为了解决这个问题,我们提出了一种自回归生成策略。受自回归语言模型的启发,生成的句子类似于“真实”数据分布,并且发现序列推荐者经常以自回归的方式[13,17,25]训练,我们自动回归生成假序列。

自回归:为了生成一个序列풙(푖)自动,一个随机项目作为开始项目풙(푖)auto[1]([푡]操作选择序列풙中的第푡项),并提供给顺序推荐者以获得推荐列表풇푏(풙(푖)auto[:1])。我们自动回归重复这个步骤,即풙(푖)auto[푡]=采样器(풇푏(풙(푖)auto[:푡−1]))来生成最大长度푇푖的序列。这里的采样器是一种从给定的前k个列表中采样一个项目的方法。在我们的实验中,从具有单调递减概率的前k个项目中进行抽样与均匀抽样相似,因此我们倾向于在从top-k个列表中选择下一个项目时进行抽样。据此,我们生成了퐵序列Xauto={풙(푖)auto}퐵푖=1,并记录了前k个列表,形成了一个用于模型蒸馏的数据集(Xauto,I^푘auto)。

对于自回归序列生成,图2a可视化地表示了通过重复将当前数据输入推荐者并将模型输出的采样项附加到当前序列来累积数据的过程。自回归方法是有益的:(1)生成的数据更多样化,更能代表真实的用户行为。特别是,抽样而不是选择第一个推荐项目将有助于构建更多样化和“用户式”的蒸馏数据;(2)由于API查询有限,自回归方法通过类似真实数据分布生成数据,可以获得更高质量的数据,有效地训练代理模型;(3)它类似于真实用户的行为,难以检测。然而,由于数据访问受限,自回归方法没有利用输出排名和相似性等项属性,这可能会限制顺序推荐器的充分利用。

4.1.2模型蒸馏。我们使用模型蒸馏[14],通过训练生成的数据(X,I^푘)来最小化풇푤和풇푏之间的差异(见图2b)。为了在蒸馏过程中最大限度地利用单个序列,我们生成子序列和标签来丰富训练数据;对于输入序列풙=[푥1,푥2,…,푥푇]从X,我们将它分成푇−1条目的풙[:2],풙[:3],…,풙[:푇]遵循[13,25]的训练策略。

与传统的模型蒸馏[14,20]相比,该模型是从预测的标签概率中提取的,在我们的设置中,我们只有前k个排名列表,而不是概率分布。因此,我们提出了一种提取具有排名损失的模型的方法。我们可以访问黑盒模型풇푤输出分数到黑盒顶部k列表푰^=풇푏(풙)中的项目,它被定义为푺^푘푤=[풇푤(풙)[푰^[푘푖]]]푘푖=1。例如,对于푰^푘=[25,3,...,99],푺^푘푤=[풇푤(풙)[25],풇푤(풙)[3],……,풇푤(풙)[99]])。我们还对푘阴性项目进行统一抽样,并检索它们的分数为푺^ neg 푘 .我们设计了一个成对排序损失Ldis来测量黑盒和白盒输出之间的距离:

损失函数由两项组成。第一项强调通过计算푺^푘푤中所有相邻项目对之间的边际排序损失来进行排序,使对正项目进行相同顺序排序的概率最大化。当负面样本的得分高于前k个项目时,第二项会惩罚他们,这样,经过提炼的模型就会学习“回忆”相似的前k个项目的推荐组。휆1和휆2是两个需要根据经验设置为超参数的边际值。

4.2下游攻击为了研究攻击是否可以从训练过的白盒模型풇∗푤1转移到黑盒模型풇푏,我们引入了针对顺序推荐系统的两种模型攻击:轮廓污染攻击和数据中毒攻击,这两种攻击场景的说明见图1。

4.2.1配置文件污染攻击。如图3a所示,我们执行配置文件污染攻击来促进项目暴露,并使用算法1在输入空间中构造操纵序列。因为我们可以访问梯度在白盒模型,我们能够添加“对抗”项目通过扩展对抗的例子技术(例如目标快速梯度符号方法(T-FGSM)[8])从连续特征空间(例如图像像素值)离散项目空间(例如项目id),假设最优项目是“接近”目标项目在嵌入空间。因此,我们可以实现黑盒推荐的用户特定的项目推广,而无需进行如下的再培训。

步骤1:计算嵌入层级上的梯度。给定用户历史记录풙,我们通过在풙之后附加对抗性项来构造损坏的序列풛。我们首先将풛初始化为与풙相同,并向其附加目标项。使用上一步中的풇푤,푚,我们将嵌入的输入˜풛提供给模型,并计算反向梯度w.r.t.使用交叉熵损失的输入嵌入,其中目标项目푡被用作标签:∇=∇풛˜Lce(풇푤,푚(˜풛),푡)。

第二步:寻找有敌对性的候选人。基于풛和∇前一步,我们首先执行T-FGSM计算干扰嵌入˜풛‘=˜풛−휖sign(∇),然后嵌入注入项目的余弦相似性˜풛”计算所有项目嵌入在我我们选择푛对抗候选人最高的余弦相似度。这些项目用풇푤进行测试,使目标排名最高的候选人保持为对抗性项目。他为了获得更好的攻击性能,可以重复使用多个注入项目,为了避免注入中不成比例的目标项目,我们要求目标项目不连续出现。

4.2.2数据中毒。数据中毒攻击通过虚假的档案注入来操作,以尽可能地促进目标项目的暴露(在对虚假和正常的档案进行再训练后)。我们提出了一个简单的对抗策略(如图3b所示)来生成白盒模型풇푤生成中毒数据。我们生成中毒数据背后的直觉是,即使给定了一些看似无关的项目序列,下一个项目也应该是目标。

在这种情况下,我们遵循共访方法[36,42],并应用对抗性示例技术[8]来生成中毒数据。(1)我们考虑使用交替项目对的一个中毒序列(例如,풛=[目标,푧2,目标,푧4,目标,……);(2)我们试图找到不相关/不太可能的项目来填充풛中的푧2푑。详细地说,我们使用了一种与算法1类似的方法,其中生成过程首先计算反向梯度,类似于交叉熵损失和T-FGSM。然而,在缩小候选项目时,我们选择与˜풛−휖sign(∇)相似度最低的I(而不是最高的);(3)我们重复(1)和(2)来生成中毒数据;细节可以在算法2中找到。

请注意,尽管共访问的交替模式似乎是可检测的,但我们可以控制目标项目的比例(应用噪声或添加“用户样”生成的数据),以避免这种刚性模式,使其不那么明显。来自白盒模型的梯度信息也增强了更适合定制的顺序推荐中毒方法。

5实验

5.1设置

5.1.1数据集。我们使用三个流行的推荐数据集(见表1)来评估我们的方法:电影-1M(ML-1M)[10]、Steam[27]和亚马逊Bealoty[29]。我们遵循BERT4Rec[37]中的预处理,将评级数据处理为隐式反馈。我们遵循SASRec[17]和BERT4Rec[37],保留每个序列中的最后两个项进行验证和测试,其余的用于训练。我们将黑盒API返回设置为前100个推荐项。

5.1.2模型。为了评估我们的攻击性能,我们对三个具有代表性的顺序推荐实现了模型提取攻击,包括我们的NARM[25]、BERT4Rec[37]和SASRec[17]的PyRorch实现,具有不同的基本块和训练模式,如表2所示。

NARM是一个注意力推荐系统,包含嵌入层、门控循环单元(GRU)[3]作为全局和局部编码器、用于计算会话特征的注意模块和相似层,它输出与会话特征最相似的项目作为推荐[25]。

•SASRec包括一个嵌入层,包括项目嵌入和位置嵌入,以及一堆单向变压器(TRM)层,其中每个变压器层包含一个多头自注意模块和一个位置前馈网络[17]。

•BERT4Rec具有类似于SASRec的架构,但使用双向转换器和自动编码(掩蔽语言建模)任务来训练[37]。

5.1.3实现细节。

给定一个长度为푇的用户序列풙,我们遵循[17,37]使用풙[:푇−2]作为训练数据,并分别使用最后两个项进行验证和测试。我们使用了来自网格搜索的超参数和来自原始论文[16,17,25]的建议。为了提高再现性,我们在表3中总结了重要的训练配置。此外,所有模型都使用Adam[19]优化器进行训练,权重衰减0.01,学习率0.001,批大小128和100线性预热步。我们遵循[17,37],将ML-1M、Steam和Beauty的允许序列长度分别设置为{200、50、50},这也应用于我们生成的序列长度。我们遵循[39],使用真实档案大小的1%作为中毒档案大小。代码和数据被发布2。

5.1.4评估协议。我们遵循SASRec[17],通过为每个用户统一抽样100个负样本项目来加速评估。然后,我们用阳性项目对他们进行排名,并报告这101个测试项目的平均表现。我们的评估集中在两个方面:

排名性能:我们在我们的评估中使用相当于Hit Rate (HR@K)的截断Recall@K,以及归一化贴现累积增益(NDCG@K)来衡量在SASRec[17]和BERT4Rec[37]之后的排名质量,越高越好。

•协议度量:我们定义Agreement@K(Agr@K)来评估黑盒模型和我们提取的白盒模型之间的输出相似性:

 其中,BtopK是来自黑盒模型的top-K预测列表,而WtopK是来自我们的白盒模型。我们用퐾=1,10报告平均Agr,K来度量输出相似性。

5.2 RQ1:我们能在没有真实数据的情况下提取模型权重吗?

5.2.1标准模型提取。我们评估了两种方法(生成合成数据的标签如第4.1.1节中提到的随机和自回归)。在标准模型提取中,我们假设模型架构是已知的,因此白盒模型使用与黑盒模型(例如SASRec→SASRec)相同的架构,而没有真实的训练数据。我们在表4中报告了使用固定预算的퐵=5000的结果。

观察结果。从表4中我们有一些观察结果:(1)有趣的是,在没有训练集的情况下,随机和自回归可以获得与黑盒相似的排名性能(N@10和R@10)。例如,与ML-1M上的黑盒NARM相比,R@10的随机下降为1.34%,自回归下降仅为0.98%。平均而言,被提取的推荐者的R@10约为原始值的94.54%。特别是,随机数据是在随机数据上进行训练的,但标签却是从黑盒模型中检索,反映了正确的最后点击关系。最后的点击有助于很好地进行随机排名,但是agr@K比自回归要差得多(见表4)。(2)自回归在缩小所有数据集中两个推荐者之间的距离方面具有显著的优势,平均Agr@10为0.574,而随机生成的数据为0.452。(3)图4a显示了自回归比随机更类似于真实的训练数据分布,因为自回归在与推荐项目交互后生成数据。虽然从流行度分布中进行抽样也可以类似于原始数据分布,但它打破了我们不了解训练集的假设,并且不能从顺序依赖关系中捕获相似性。(4)我们还注意到,数据集在蒸馏过程中有很大的差异。例如,相对密集的数据集具有许多用户交互,如ML-1M和Steam,增加了正确推荐的可能性。基于这种数据分布的提取推荐者与黑盒输出分布保持高度的相似性,而在较稀疏的数据中,这可能会导致更高的散度和更差的推荐协议等问题,我们将在下一节中讨论。(5)此外,表4表明,NARM提取黑箱模型的总体能力最好,因为NARM能够恢复大部分的黑箱模型,其相似性和推荐指标都是最高的。至于SASRec和BERT4Rec,两种架构在ML-1M和Steam数据集上都显示出了令人满意的提取结果,在大多数情况下,SASRec比BERT4Rec有轻微的改进。

5.2.2交叉模型提取。基于对不同架构的分析,一个很自然的问题是:哪个模型在不同的黑箱架构上表现最好?在这种情况下,我们采用相同的预算并进行交叉提取实验,以了解白盒推荐器在提取不同的黑盒体系结构时在相似性方面的不同。在这三个数据集上评估了跨架构模型的提取。观察结果。结果通过图4b中的热图进行可视化,其中水平/垂直轴表示白盒/黑盒体系结构。作为一个白盒架构,NARM模型总体上表现最好,成功地复制了大多数目标推荐系统,在前10个推荐中的平均一致性为0.597,而SASRec为0.548,BERT4Rec为0.471。

5.3 RQ2:数据集的稀疏性和预算如何影响模型的提取?

数据稀疏性。在之前的实验中,我们注意到训练黑盒的原始数据集的稀疏性可能会影响我们的蒸馏模型的质量,这与表4中Beauty数据集的结果有关。对于稀疏性问题,我们在最稀疏的数据集(美丽)上进行了一系列的实验;这三个模型都被用来研究模型提取性能的下降是否与数据集有关。我们选择了略微不同的预处理技术来构建푘-coreBeauty数据集(即强化交互,直到项目/用户频率都是≥푘)。随着푘值的增加,处理后的푘-core数据集更加密集。我们的候选项目的大小(100个阴性)在评估中没有改变。黑盒模型在这些处理过的数据上进行训练,然后进行表5中具有5000个序列预算的自回归提取实验。随着稀疏性的下降,与5核Beauty数据相比,黑盒模型和提取的模型都表现得更好,其中Agr@10的增加表明提取的模型与黑盒模型更“相似”。我们的结果表明,数据痉挛性是影响模型提取性能的一个重要因素,在更密集的数据集上进行训练通常会导致更强的提取模型。

预算。我们还想找出查询预算对精馏性能有多重要。在我们的框架中,我们假设攻击者只能查询有限的次数的黑箱模型(对应于有限的预算)。直观地说,一个更大的预算将产生一个更大的生成数据集用于蒸馏,并导致一个更好的蒸馏模型,具有更高的相似性和更强的推荐分数。然而,最好是找到一个最佳的预算,这样白盒系统就能“足够接近”,以产生敌对的例子和形成威胁。我们在表6中的实验表明,增加预算将导致快速的初始改进,从而产生一个高度相似的白盒模型。超过一定点,收益是边际的。

5.4 RQ3:我们是否可以使用提取的模型进行轮廓污染攻击?

设置。在配置文件污染中,我们在原始用户历史记录之后注入对抗性项,并在黑盒推荐器上测试损坏的数据。ML-1M、Steam和美容的平均长度分别为166、13和9;在此基础上,我们为ML-1M生成10项对抗项,为蒸汽和美容生成2项。我们对所有用户执行轮廓污染攻击,并在图5中给出了平均指标。我们避免在注入项中重复目标,以排除像单独目标项的序列这样的琐碎解决方案。在此基础上,我们引入了以下基线方法:(1)随机化方法:与随机项目和目标项目(s)[36]交替交互;(2)深度Q学习(DQN):基于RNN架构的朴素Q学习模型,目标项目的排名和数量在前k推荐作为训练奖励[44,45];(3)WhiteBox模拟器:与相似项目和目标项目交替交互,其中相似项目可以基于白盒项目嵌入的相似性计算。(4)此外,我们实验使用黑盒推荐器作为替代模型,并执行我们的攻击(黑盒-our.)。

一般攻击性能比较。在图5中,我们展示了三个不同数据集与基线的污染性能。(1)将我们的结果与黑盒-我们的结果进行了比较。黑盒模型显示了提取白盒模型对污染攻击的弱点。我们注意到蒸馏模型的攻击性能比较ML-1M,但导致恶化指标数据集变得稀疏和推荐者变得难以提取,例如,平均指标NARM ML-1M达到94.8%攻击性能的黑箱模型,相比之下,蒸汽66.2%和55.6%的美丽。(2)在所有的数据集上,我们的方法达到了最佳的目标项目推广结果。例如,在Steam上,目标项目的N@10分数从0.070显著提高到0.381。这说明了从模型提取中利用代理模型的好处,我们的攻击方法被设计为一个对抗性的示例方法[8],它超过了缺乏受害者模型知识的启发式方法。(3)典型地,我们发现不同的受害者推荐者的鲁棒性是不同的。例如,在Steam和Beauty数据集上的结果表明,SASRec是我们实验中最容易受到攻击的模型。例如,在Steam和Beauty数据集上,SASRec的N@10平均从0.071增加到0.571,而NARM的N@10平均从0.0680增加到0.286。

项目与不同的人口。表7显示了我们对具有不同流行程度的项目的污染攻击的概况。我们使用以下规则对目标项目进行分组[1]:head表示前20%,尾部为后20%,中间根据项目出现频率(流行)。从表7可以看出,我们的攻击方法对于不同流行程度的项目是有效的。但在所有情况下,攻击后的排名结果都会随着目标物品的受欢迎程度的下降而下降;流行的物品在目标攻击下通常更脆弱,并且很容易被操纵以获得注意力。然而,不受欢迎的物品往往更难被攻击。

5.5 RQ4:我们是否可以使用提取的模型来执行数据中毒攻击?

设置。与轮廓污染不同的是,我们不选择单个项目作为目标,而是使用目标组作为攻击目标,以避免大量相似的注入轮廓,加速再训练。目标选择与档案污染相同,在生成对抗性档案的过程中,我们从每一步的25个项目中随机选择一个攻击目标。然后,对黑盒推荐器进行一次再训练,并对每个目标项目进行测试,我们在图6中给出了平均结果。我们遵循[39],从原始数据集中生成相当于用户数量的1%的剖面,并在剖面污染中采用相同的基线方法.

一般攻击性能比较。(1)我们的方法超过了其他基线,但总体推广不如轮廓污染有效。这是因为我们采用多个目标同时中毒,档案污染用档案信息攻击特定用户,攻击的例子可以更强。(2)与RandAlter相比,我们提出的对抗性轮廓生成通过将不太可能出现的流行项目与目标联系起来,并放大我们对目标项目更多暴露的偏差,进一步增强了这种优势。例如,在Beauty中,通过我们的方法在三个模型中攻击0.240之前的平均N@10是0.066。此外,我们注意到DQN的性能比剖面污染更差,偶尔会导致性能恶化。性能下降的潜在原因可能是:与共访问方法相比,目标项目出现的频率较少;更新的模型参数独立于生成的假轮廓,如在[39]中.(3)黑盒-我们的比较结果。和我们的。这表明,数据中毒的瓶颈可能是生成算法,而不是白盒相似性。项目与不同的人口。表8显示了中毒效果作为目标流行程度的函数。与表7中的数字相比,中间项目和尾部项目的相对改进更为显著。例如,头部的相对改善为30.8%,而在N@10中,中间项目超过300%,尾部项目超过1000%。结果表明,数据中毒更有助于提高不太受欢迎的物品的暴露率,而在这种情况下,通过侧面注射对流行物品的促销攻击可能更困难。

总结

在本研究中,我们系统地探讨了使用不同的先进架构来窃取和攻击顺序推荐系统的可行性和有效性。首先,我们的实验结果表明,黑盒模型可能会受到模型提取攻击的威胁。也就是说,我们能够学习一个黑盒模型,它的行为与黑盒模型相似(例如,在ML-1M数据集上符合0.747名),而无需访问训练数据。这表明,对白盒的攻击可以转移到黑盒模型上。为了验证这一直觉,我们进行了进一步的实验,研究了使用轮廓污染和数据中毒攻击的黑盒模型的脆弱性。我们的实验表明,一个训练良好的黑箱模型的性能在两种攻击下都会有极大的偏差和破坏。

对于未来的工作,首先,我们可以将我们的框架扩展到更普遍的设置。特别是,我们如何对矩阵分解模型或基于图的模型执行模型提取攻击?第二,它将会是很有趣的开发防御算法或其他新的鲁棒训练管道,使序列推荐系统对对抗性和数据中毒攻击更有鲁棒性。第三,主动学习可以找到更有效的采样策略,以更少的查询。

好文链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: