基于DQL的推荐系统鲁棒增强方法与流程

摘要: 本发明涉及推荐系统领域,更具体地说,涉及一种基于dql的推荐系统鲁棒增强方法。背景技术:1、随着信息时代的发展,互联网中海量的信息往往会导致用户无法快速、精准的...
基于DQL的推荐系统鲁棒增强方法与流程

本发明涉及推荐系统领域,更具体地说,涉及一种基于dql的推荐系统鲁棒增强方法。

背景技术:

1、随着信息时代的发展,互联网中海量的信息往往会导致用户无法快速、精准的找到目标内容。推荐系统作为一种智能化的信息过滤和匹配技术,可以通过分析用户的历史行为、性格爱好以及社交关系等多维度数据信息,从而提供个性化的推荐服务。由于深度神经网络(deep neural network,dnn)在表征学习中的优秀表现,能够解决各种复杂的预测任务,通过研究深度学习方法可有效提高推荐的准确性,但推荐模型的训练需要依赖于大量的数据,当存在中毒数据时,将会受到中毒攻击,模型可能会学习到不恰当的推荐逻辑,抑或存在偏见,从而导致将不合适的内容推荐给用户,攻击者甚至可以通过注入中毒数据使推荐系统模型产生后门,进而具有操控模型输出结果的能力。在确保数据干净的前提下,dnn虽然具有优秀的表征能力,但其容易受到对抗样本的影响,从而产生错误的判断。如在电影推荐系统中,模型通过学习用户的浏览历史、兴趣爱好等特征,为用户提供个性化的电影推荐,但攻击者通过生成对抗样本,将其注入到用户的特征行为中,进而会导致推荐系统向用户推荐他们不感兴趣的电影,降低了系统的准确性。可见当推荐系统鲁棒性差时,这不仅会影响模型的准确率,还容易受到来自攻击者的恶意样本的影响,导致增加了不恰当信息的曝光率,降低用户的体验。因此如何确保推荐系统既具有良好的推荐准确性又能有效应对异常信息变得尤为重要。

2、目前现有技术中为了研究机器学习模型在面临对抗攻击时,其存在的鲁棒性问题,he xiang nan等人通过利用贝叶斯个性化排序(bayesian personalized ranking,bpr)模型的参数生成对抗样本和对数据样本添加随机扰动的方式进行了一个对比实验,结果表明推荐模型的归一化折损累计增益(normalized discounted cumulative gain,ndcg)值分别下降了21.2%和1.6%,可见对抗攻击对所部署的机器学习模型的安全性造成了重大的隐患。针对模型的鲁棒性问题,防御策略主要可以分为对抗训练和知识蒸馏两种方式。对抗训练作为一种最常用的防御策略,其目标不是检测对抗性样本,而是建立与对抗性样本和干净样本同样出色的模型,通过将原始样本和对抗样本作为新的训练数据来继续训练模型,从而使模型在面对小扰动的输入时,仍可以保持较高的预测精度,从而提高了模型的鲁棒性,经过实验证明,以ndcg作为评价指标,对抗训练与传统的训练相比可有效的降低对抗攻击造成的负面影响。知识蒸馏是一种新颖的防御手段,在机器学习中为了提升模型的效果,减少泛化偏差和方差,可以利用集成学习使用多个学习器对同一个问题进行学习,然后把各个学习器的输出结果结合起来作为预测值。但是这种组合模型需要大量计算资源,特别是当单个模型都非常复杂的时候,复杂的模型结构虽然能提高预测精度,却在实际的应用中存在计算资源大、时延等问题,由于模型的功能主要是学习输入向量到输出向量的映射,故而知识蒸馏就是把一个大模型或者多个模型集成学到的知识迁移到另一个轻量级的单模型上,让该单模型去学习复杂模型的泛化能力并可以避免攻击者直接接触到模型。在知识蒸馏中超参数温度t(temperature,t)可以有效的控制输出结果的分布,t越大时,各个类别输出的概率分布越平缓,即神经网络的平均梯度越小,不能轻易地生成具有足够威胁的对抗样本,从而间接地提升了模型的鲁棒性,并保证了模型精度。在推荐系统领域,现多以对抗训练的防御策略为主,关于利用蒸馏提升推荐模型的鲁棒性的研究较少,因此现有的推荐系统还是存在系统鲁棒性不足的问题。

技术实现思路

1、针对现有技术存在的不足,本发明的目的在于提供一种基于dql的推荐系统鲁棒增强方法。结合了对抗训练和深度强化学习,能够有效提高推荐系统的鲁棒性,从而降低虚假信息等噪声扰动对推荐性能的影响。

2、为实现上述目的,本发明提供了如下技术方案:一种基于dql的推荐系统鲁棒增强方法,其特征在于:包括如下步骤:

3、步骤一,训练强化学习的模型;

4、步骤二,利用步骤一训练获得的初始强化学习智能体模型mo生成对抗样本,并将生成的对抗样本与目标推荐系统模型进行交互,根据推荐系统模型的输出情况,设计奖励函数reward,利用奖励函数来引导智能体的学习以及策略优化;

5、步骤三,将智能体模型mo生成的对抗样本进行过滤,确保生成的对抗样本所受到的噪声扰动在阈值范围内,且对推荐系统的准确性具有较好的攻击性,将过滤后的对抗样本与干净样本数据混合,训练推荐模型armo,用干净样本数据训练推荐模型rm0,对这两个模型进行推荐准确性与受到对抗攻击的鲁棒性对比实验,并在交叉验证集所生成的对抗样本表现良好时,之后进行过滤后放入训练数据中,从而提高推荐系统模型的鲁棒性。

6、作为本发明的进一步改进,所述步骤一中训练强化学习的模型的具体步骤如下:

7、步骤一一,搭建基于深度强化学习的对抗样本生成器,利用基于强化学习的深度q网络算法,构建两个深度神经网络q-target和q-predict进行模型的训练;

8、步骤一二,根据策略π,通过添加一定的噪声扰动生成对抗样本,将步骤一构建的两个深度神经网络q-target和q-predict的初始化参数相同,q-target的策略为π-,q-predict的策略为π;

9、步骤一三,每执行一个动作a后,状态s将变为状态s',并获得一个奖励回报r,将该四元组(s,a,r,s')存入经验缓冲区中,用来对基于强化学习的深度q网络算法进行训练。

10、作为本发明的进一步改进,所述步骤二中生成对抗样本和策略优化的具体步骤如下:

11、步骤二一,将初始强化学习智能体模型mo生成的对抗样本与目标推荐系统模型进行交互,对抗样本将最大化推荐系统模型的损失函数,从而使推荐系统模型的输出结果错误;

12、步骤二二,根据目标推荐系统模型的输出结果设计奖励回报函数,强化学习智能体模型mo将根据奖励reward更新神经网络的权重参数,最终获得最优策略:

13、

14、其中,为了避免推荐系统模型损失函数的增加仅仅是依靠对抗样本噪声的规模,故而需要限定噪声扰动的幅度,旨在利用一定的噪声获得效果最佳的对抗样本。作为本发明的进一步改进,所述步骤一二中的基于强化学习的深度q网络算法通过贝尔曼方程更新目标值td target如下:

15、yt=rt+γ·maxaq(st+1,a;π-)

16、通过计算q-target和q-predict的均方差来定义损失函数:

17、l=1/2[yt-q(s,a;π)]2

18、通过梯度下降的方式不断更新q网络参数π使得q(s,a;π)尽可能接近td target。

19、作为本发明的进一步改进,所述步骤一三中进行训练的方式为:使用ε-greedy策略,将智能体的初始值置为1,在训练初期智能体会以ε的概率,随机选择动作,以1-s的概率选择当前价值函数认为的最优动作。

20、作为本发明的进一步改进,所述步骤三中所述的训练推荐模型armo,用干净样本数据训练推荐模型rm0的具体方式为:在干净的样本数据集上对比研究rmo和rm1模型的泛化能力,用对抗样本研究rmo和rm1模型的鲁棒性。

21、作为本发明的进一步改进,所述步骤二中的设计奖励函数reward的具体方式为通过根据该推荐系统模型对于输入的扰动图片特征,根据最终推荐内容的排序情况设置奖励回报,即可以通过目标图片在列表中的位置信息,构建奖励函数。

22、本发明的有益效果,与现有技术相比,本技术的技术方案的有益效果是:与现有的直接利用梯度信息生成对抗样本的方法相比,利用深度强化学习作为推荐系统模型的对抗样本生成器,所生成的对抗样本可以针对更广泛的黑盒攻击场景,找到更优且更隐蔽的对抗扰动,从而实现更成功的对抗攻击,该方法具有更好的适用性、隐蔽性、可迁移性、兼容性、智能性以及更高的攻击成功率,然后通过样本过滤的方式,筛选符合条件的最佳对抗样本集合,将其放入干净样本序列中对推荐系统模型进行对抗训练,从而在保证推荐系统模型泛化能力的前提下,提高其鲁棒性。