System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于模拟数据投毒攻击的推荐系统安全性测试方法及系统技术方案_技高网

基于模拟数据投毒攻击的推荐系统安全性测试方法及系统技术方案

技术编号:40594895 阅读:5 留言:0更新日期:2024-03-12 21:57
本发明专利技术提出一种基于模拟数据投毒攻击的推荐系统安全性测试方法和系统。通过梯度传递技术可以加速替代推荐系统的训练过程,以在有限时间内得到更准确的替代模型。梯度传递技术可以增强现有模拟攻击样本的准确性。通过加速替代模型训练得到更准确的替代模型,可以从替代模型中获得更好的优化指导,从而增强现有模拟攻击样本的准确性。梯度传递可以广泛增强基于替代系统的攻击方法,包括大部分现有的推荐系统模拟投毒攻击,这为后续的研发提供了基础。同时,也可以帮助发现了推荐系统的弱点,为设计更可靠的防御方法提供启示。

【技术实现步骤摘要】

本专利技术涉及推荐系统的安全测试,特别是推荐系统的安全性测试和评估领域。


技术介绍

1、随着互联网的蓬勃发展,推荐系统已经成为各类网络服务的关键组成部分,可以根据用户的历史行为,为用户提供个性化的商品或内容推荐服务。当前,基于协同过滤的推荐技术是研究的热点,其中矩阵分解和基于深度学习的方法应用广泛。这些方法通常采用用户塔和物品塔的双塔结构,分别学习用户和物品的特征表示,最后计算特征间的相似度作为用户对物品的偏好预测。

2、但是,推荐系统也面临着各类安全威胁的挑战,特别是数据投毒攻击。攻击者可以向系统注入少量精心设计的虚假用户,使得某些目标商品被错误推荐给大量真实用户。这类攻击也称为推荐系统模拟投毒攻击或数据中毒攻击。因此推荐系统在设计时要考虑到其在模拟投毒攻击下的安全性,在设计推荐系统时需要开发者模拟生成数据模拟投毒攻击作为训练或测试样本。推荐系统需要经受数据模拟投毒攻击的考验,以数据模拟投毒攻击方式为训练数据可以帮助推荐系统发现其弱点并训练推荐系统不断完善提高自己的防御水平,为设计更可靠的防御方法提供启示。

3、早期的模拟投毒攻击多依赖人工设置的启发式规则,比如随机攻击、bandwagonattack等。近年来,优化指导的模拟投毒攻击方法逐渐成熟,可以分为基于攻击模型的方法和不基于攻击模型的模拟方法:基于攻击模型的方法通常运用强化学习模型或对抗生成网络(gan)来生成攻击;不基于攻击模型的方法直接使用梯度或其他先验信息来优化注入用户。

4、其中,基于攻击模型的攻击方法学习一个单独的攻击模型来生成注入用户;而不基于攻击模型的方法直接对注入用户本身进行优化。但它们面临的共同挑战是,需要频繁地对一个替代推荐系统进行重训练,以评估当前攻击的效果并驱动进一步的优化。这导致了极高的计算成本,严重制约了测试推荐系统安全性的效率。

5、下面介绍三种已有的典型的不基于攻击模型的推荐系统模拟投毒攻击方法:

6、1)pga攻击:来源于neurips2020的论文“data poisoning attacks onfactorization-based collaborative filtering”,其推导出了矩阵分解的评分推荐系统下,中毒模型的最优化参数对于虚假注入用户行为梯度的解析形式,并使用这个梯度信息和投影梯度下降的方式生成注入用户。

7、2)revadv攻击:来源于recsys 2020的论文“revisiting adversarially learnedinjection attacks against recommender systems”,它将中毒模型训练过程进行展开,记录中毒模型每一步训练过程中的中间参数,使用自动求导工具计算这个过程中的梯度。

8、3)dpa2dl攻击:来源于recsys 2021的论文“data poisoning attacks to deeplearning based recommender systems”,它直接使用攻击损失函数去训练一个中毒后的推荐模型,并使用这个中毒模型的预测结果反向预测注入用户的行为,避免了高阶梯度的计算。

9、这三种典型的现代推荐系统模拟投毒攻击方法都有一个共通点,即依赖替代推荐系统。因为它们都需要一个中毒后的模型去指导注入用户的优化,这样的指导信息只能来源于一个本地的替代推荐系统,因为攻击者难以获取真实推荐系统的参数或者控制其训练过程。

10、现有技术中的主要问题是:对推荐系统模拟攻击时,需要多次重复对替代系统进行训练,非常耗时,这严重制约了测试训练推荐系统的效率。具体存在以下问题:

11、(1)替代系统需要尽可能准确地模拟真实推荐系统,才能较准确地评估当前模拟投毒攻击效果,为后续虚假用户的生成或优化提供正确的反馈。但针对大规模推荐系统数据集进行单次训练本身就是非常耗时的过程,常需要数天甚至数周。这导致攻击者需要大量的时间才能训练出一个充分逼近原系统的替代系统。

12、(2)现有攻击方法通常需要进行多轮迭代来逐步优化虚假用户。每轮优化中都需要基于注入了当前虚假用户的训练数据来重新训练替代系统,以评估虚假用户的攻击效果并驱动下一轮优化。因此,重复训练的情况频繁出现,大幅拖累了整个攻击过程。

13、(3)由于训练时间成本过高,现有攻击方法往往只使用经过严格时间限制的简易替代系统。这降低了最终攻击的实际效果,因为替代系统和真实系统存在一定的行为偏差。


技术实现思路

1、针对现有技术中推荐系统模拟投毒攻击方法重复训练替代系统过程非常耗时的问题,本专利技术的目的是提出一种可以显著加速替代系统训练的梯度传递技术,从而加快用于测试或更新推荐系统的攻击样本集生成速度,提高测试推荐系统的准确性,提高训练推荐系统的效率,提高训练完成后推荐系统的安全性。

2、具体来说针对现有技术的不足,本专利技术提出一种基于模拟数据投毒攻击的推荐系统安全性测试方法,其中包括:

3、步骤1、根据用户商品交互矩阵初始化模拟攻击生成方法中需要的组件,包括用户集合ur、用户数nr、商品数m、注入用户数nf、行为预算τ、目标商品it、替代推荐系统的模型结构和损失函数;

4、步骤2、随机初始化注入用户的交互矩阵且该注入用户的交互数量小于等于该行为预算τ;

5、步骤3,训练该替代推荐系统;

6、步骤4:根据该训练完成的替代系统的输出,计算注入用户的攻击梯度

7、步骤5:根据该攻击梯度进行投影梯度下降,更新注入用户的该交互矩阵if;

8、步骤6:重复步骤3-5,直至达到预定迭代轮数;

9、步骤7:保存当前注入用户行为if作为模拟数据投毒攻击样本,将其注入到待评估安全性推荐系统,以进行模拟攻击,分析该待评估安全性推荐系统在攻击前后给正常用户推荐列表的变化度,作为该待评估安全性推荐系统的安全性测试结果,若该安全性测试结果小于阈值,则以该待评估安全性推荐系统执行推荐任务,得到用户的推荐商品;

10、其中步骤3包括:

11、步骤31,初始化该替代推荐系统的模型参数θ;

12、步骤32,根据该模型结构,基于该模型参数θ前向计算得到n个用户的和m个商品的特征表示矩阵

13、步骤33,根据中毒数据集计算损失函数

14、步骤34,通过自动求导工具反向传播计算得到该特征表示矩阵r的梯度矩阵

15、步骤35,根据交互矩阵i从该特征表示矩阵r中挑选出有交互的用户商品特征对,在所有该用户商品特征对中选择用户特征和商品特征之间的相似度大于阈值ξ的用户商品特征对作为目标特征对,对梯度矩阵中目标特征对的梯度进行传播,得到显式传递有交互的用户和商品特征表示的梯度

16、步骤36,使用该梯度对该替代推荐系统进行梯度下降,以更新该模型参数θ;

17、步骤37,重复步骤33-36直至满足训练轮数,得到训练完成的替代推荐系统。本文档来自技高网...

【技术保护点】

1.一种基于模拟数据投毒攻击的推荐系统安全性测试方法,其特征在于,包括:

2.如权利要求1所述的基于模拟数据投毒攻击的推荐系统安全性测试方法,其特征在于,该替代系统结构采用矩阵分解MF结构,该损失函数为均方误差MSE损失函数。

3.如权利要求1所述的基于模拟数据投毒攻击的推荐系统安全性测试方法,其特征在于,该步骤35包括:

4.如权利要求3所述的基于模拟数据投毒攻击的推荐系统安全性测试方法,其特征在于,在构建传递矩阵时,根据向量表示矩阵R中用户的特征表示ru和商品的特征表示ri,通过得到它们当前特征表示的相似度,根据该相似度,仅在的用户商品对之间进行信息传递,ξ为预设的阈值,即,

5.一种基于模拟数据投毒攻击的推荐系统安全性测试系统,其特征在于,包括:

6.如权利要求1所述的基于模拟数据投毒攻击的推荐系统安全性测试系统,其特征在于,该替代系统结构采用矩阵分解MF结构,该损失函数为均方误差MSE损失函数。

7.如权利要求1所述的基于模拟数据投毒攻击的推荐系统安全性测试系统,其特征在于,该模块35包括:

<p>8.如权利要求7所述的基于模拟数据投毒攻击的推荐系统安全性测试系统,其特征在于,在构建传递矩阵时,根据向量表示矩阵R中用户的特征表示ru和商品的特征表示ri,通过得到它们当前特征表示的相似度,根据该相似度,仅在的用户商品对之间进行信息传递,ξ为预设的阈值,即

9.一种服务器,其特征在于,包括权利要求5-8所述的一种基于模拟数据投毒攻击的推荐系统安全性测试装置。

10.一种存储介质,用于存储一种执行权利要求1-4所述基于模拟数据投毒攻击的推荐系统安全性测试方法的计算机程序。

...

【技术特征摘要】

1.一种基于模拟数据投毒攻击的推荐系统安全性测试方法,其特征在于,包括:

2.如权利要求1所述的基于模拟数据投毒攻击的推荐系统安全性测试方法,其特征在于,该替代系统结构采用矩阵分解mf结构,该损失函数为均方误差mse损失函数。

3.如权利要求1所述的基于模拟数据投毒攻击的推荐系统安全性测试方法,其特征在于,该步骤35包括:

4.如权利要求3所述的基于模拟数据投毒攻击的推荐系统安全性测试方法,其特征在于,在构建传递矩阵时,根据向量表示矩阵r中用户的特征表示ru和商品的特征表示ri,通过得到它们当前特征表示的相似度,根据该相似度,仅在的用户商品对之间进行信息传递,ξ为预设的阈值,即,

5.一种基于模拟数据投毒攻击的推荐系统安全性测试系统,其特征在于,包括:

6.如权利要求1所述的基于模...

【专利技术属性】
技术研发人员:曹婍伍云帆沈华伟陶舒畅孙飞程学旗
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1