APP下载

基于对抗性训练的动态协同过滤推荐算法

2022-12-07黄大巧朱健军曹俊卓

软件工程 2022年12期
关键词:对抗性鲁棒性扰动

黄大巧,朱健军,曹俊卓

(1.浙江通信服务网络科技分公司,浙江 杭州 310000;2.浙江工业大学信息学院,浙江 杭州 310000)

1 引言(Introduction)

因特网的广泛应用带来了爆炸式增长的信息冗余,虽然搜索引擎是当前人们获取目标信息的有效手段,但是仍然无法满足不同用户不同时间的个性化信息需求服务。推荐系统[1]可以通过分析用户的历史购买行为,基于挖掘用户、产品之间的特征相似性,向用户推荐其感兴趣的产品,刺激用户产生新的购买需求。其中,个性化推荐融合了数据处理、特征挖掘和机器学习等多种技术,成为当前数据挖掘和商业应用系统的热点研究领域之一[2]。

目前,通过神经网络进行图像分析和特征分类是推荐系统的重要环节,然而最新的研究发现,当对图像添加微小的扰动后,可能导致神经网络模型输出完全不同的分类结果,即微小的输入或噪声扰动都可能造成生成的推荐结果完全不同,这代表推荐系统的鲁棒性较差。

为了解决此问题,本文提出一种基于对抗性训练改进模型鲁棒性的协同过滤推荐算法。通过构建微小扰动并添加到推荐模型进行对抗性训练,从而调整网络结构参数,增强推荐模型的鲁棒性,算法通过亚马逊数据集进行了有效性验证。

2 推荐系统算法(Recommendation algorithms)

2.1 协同过滤推荐

基于用户的协同过滤[3]是根据用户的购买历史数据,根据特征嵌入将相似用户形成用户偏好组,即相似用户具有同类购买偏好,从而向其他用户预测和推荐物品。

基于用户协同过滤的推荐如图1所示,图1中的用户1和用户2都对物品A和B感兴趣,因此可以将用户1和用户2放入相似偏好的用户组;当发现用户1又喜欢物品C时,推荐算法可将物品C也推荐给用户2。

图1 基于用户协同过滤的推荐Fig.1 Recommendation based on user collaborative filtering

研究人员采用皮尔森相似性表示用户相似度关系,其计算公式如下:

2.2 CP分解算法

CP分解算法[4](图2)是目前数据分析领域常用的高维张量分解方法之一,可以降低参数维度,并且在计算复杂度上低于Tucker分解等方法。

图2 CP分解算法Fig.2 Candecomp decomposition algorithm

CP分解算法模型结构,计算如式(2)所示:

其中,U∈RM×r,V∈RN×r,W∈RK×r。λ是长度为r的向量,符合0<λr≤…≤λ1。向量λ在通常情况下往往被省略,从而得到式(4):

3 推荐模型设计(Design of recommendation model)

3.1 动态协同过滤模型

商品的推荐通常与其时间属性相关,比如季节不同,人们对衣服的色调偏好会有不同。因此,时间属性作为推荐模型中一种时间序列上的感知参量,对精细化和个性化推荐有重要的意义。动态协同过滤(Dynamic Collaborative Filtering,DCF)[5]模型采用时间因子刻画时间尺度上的用户偏好,可以较好地提高推荐质量。

3.2 动态协同过滤模型的对抗性扰动添加

在DCF模型的基础上,研究人员进一步添加对抗性学习机制,提出了基于对抗性扰动的动态协同过滤(Adversarial Dynamic Collaborative Filtering,ADCF)模型(图3)。

图3 ADCF模型框架图Fig.3 ADCF model framework

基于随机梯度下降法(Stochastic Gradient Descent,SGD)[7]训练模型到收敛状态,同时通过添加不同对抗性扰动,使得模型性能和稳定性降低,即该扰动目的就是最大化地降低模型性能,公式如下:

通过训练减弱算法模型对微小扰动的敏感性,从而最终得到在对抗性扰动下具有较高鲁棒性的模型,模型优化目标如式(14)所示:

因此,ADCF模型所进行的对抗性训练类似于进行极大值-极小值的零和博弈,如式(15)所示:

4 实验设计(Experimental design)

4.1 实验数据集

本文采用亚马逊购物网站的鞋子数据集进行算法验证,并与五个常用的基线算法进行性能对比。

表1是数据集的统计特性,数据集被随机分成训练集(80%)、验证集(10%)和测试集(10%),分别用于模型参数训练、超参数验证调整和性能测试。

表1 亚马逊数据集统计特性表Tab.1 Table of statistics characteristics of Amazon dataset

4.2 实验环境

实验验证的硬件环境包括Inteli7-8700的CPU,RTX2080的计算显卡,32 GB的内存;软件环境操作系统为Win10,算法框架为Tensorflow。

4.3 评价指标

本文使用NDCG作为性能评估指标,如式(16)所示:

NDCG表示将推荐结果的Top-K列表中产品i相关度与理想列表相比的排序准确性,该值越大,则表示推荐列表中物品位置顺序越准确。

5 实验结果分析(Experimental results analysis)

研究人员对实验结果进行以下分析:(1)推荐准确度性能对比;(2)模型鲁棒性对比;(3)扰动超参数ε的影响。

5.1 推荐准确度性能对比

表2是和基线算法的对比结果,表明个性化推荐方法可以提高推荐准确度。比如,相比非个性化的POP排序方法,MF、AMR、VBPR、DCF和ADCF等基于隐式反馈算法可以挖掘交易过程隐含的互动特征,超过了简单的产品时间流行度特征排序,从而使针对不同用户的推荐更具个性化,因此总体效果更为好。

表2 NDCG指标下的性能对比Tab.2 Performance comparison based on NDCG index

同时,对抗性训练过后的模型性能都有较大的提升。比如,AMR、ADCF相比MF、DCF的性能提升充分说明对抗性学习可以挖掘更全面的数据特征,从而达到了更显著的推荐效果;进一步,通过横向比较可以发现所有模型随着K的增加都呈下降趋势,但增加了对抗性扰动的ADCF模型的推荐效果更稳定。

5.2 模型鲁棒性对比

为了进行鲁棒性验证,研究人员首先对DCF模型进行迭代训练直至达到收敛状态,然后在该收敛模型参数上进行对抗性扰动,用于破坏当前模型的稳定状态,并且再次通过网络参数的迭代和更新适应不同扰动,从而实现新的收敛状态。

表3中的数据是鲁棒性实验结果对比。表3首先记录了DCF和ADCF模型在加入相同大小扰动后的性能变化幅度,也记录了加入不同大小扰动后的性能下降情况。比如,当ε=0.05时,DCF和ADCF的性能对比无扰动状态,分别下降了10.5%和4.64%,DCF性能的下降幅度远大于ADCF,即表明添加扰动训练后的ADCF模型相比DCF,对于不同程度的扰动和噪声的稳定性更强,即网络参数可以更好地适应外界的微小干扰,从而有效增强了系统的鲁棒性。

表3 NDCG指标下不同的鲁棒性对比Tab.3 Robustness comparison under differentbased on NDCG index

表3 NDCG指标下不同的鲁棒性对比Tab.3 Robustness comparison under differentbased on NDCG index

5.3 扰动超参数 的影响

图4是超参数对模型性能影响的结果图。为了研究控制扰动幅度的超参数ε对模型的影响,研究人员先将另一个正则化超参数λ固定为1,计算了不同ε取值(即不同大小的扰动)情况下对NDCG@5推荐效果的影响。当ε在0.001—1时,模型性能呈显著下降趋势,随后性能呈小幅度变化。

图4 ε对ADCF模型性能的影响Fig.4 Effect of ε on the performance of ADCF model

6 结论(Conclusion)

本文针对改进推荐系统的鲁棒性问题,提出了一种基于对抗性训练的动态协同过滤算法,通过在模型上加入微小扰动并通过对抗性训练方式改进模型参数,从而增强推荐系统的鲁棒性。通过在亚马逊数据集上实验并与基线模型对比,结果表明经过对抗训练的改进算法,相比原始算法可减少推荐性能下降15%以上,即有效改进了模型的鲁棒性,同时有效提升了推荐准确度。接下来可以进一步考虑融入商品视觉和序列交互特征等提升推荐算法的准确度,还可以研究显示反馈对推荐算法的影响。

猜你喜欢

对抗性鲁棒性扰动
Bernoulli泛函上典则酉对合的扰动
技能主导类隔网对抗性项群运动训练特征和实战技巧研究——以网球为例
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
(h)性质及其扰动
基于确定性指标的弦支结构鲁棒性评价
关于羽毛球教学中多球训练的探讨
技战能主导类格斗对抗性项群的竞技特点与训练要求
小噪声扰动的二维扩散的极大似然估计
基于非支配解集的多模式装备项目群调度鲁棒性优化
非接触移动供电系统不同补偿拓扑下的鲁棒性分析