一种基于对抗矩阵分解的协调过滤卷积神经网络推荐系统及方法转让专利

申请号 : CN202110744530.7

文献号 : CN113486257B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈建峡高奕刘琦张杰汪弘扬潘立纬郑吟秋

申请人 : 湖北工业大学

摘要 :

本发明属于深度神经网络推荐技术领域,公开了一种基于对抗矩阵分解的协调过滤卷积神经网络推荐系统及方法,嵌入层用于输出两个大小为64的表示用户和物品的向量,并将用户、物品的嵌入向量送入外积层;外积层将用户、物品的嵌入向量进行外积得到用户‑物品交互图,利用所述用户‑物品交互图表示基于嵌入层且成对的维数关系;卷积层基于用户‑物品交互图输出表示高纬度的信息的张量,并将输出的张量输出预测层;预测层利用预测函数基于输入张量进行预测,得到预测分数。本发明可以明确捕获成对嵌入维度之间的相关性;保证了模型鲁棒性的同时,提升了整体的推荐效果,模型具有泛用性。

权利要求 :

1.一种基于对抗矩阵分解的协调过滤卷积神经网络推荐系统,其特征在于,所述基于对抗矩阵分解的协调过滤卷积神经网络推荐系统包括:嵌入层,包含两个嵌入方程,分别用于输出两个大小为64的表示用户和物品的向量,并将用户、物品的嵌入向量送入外积层;

外积层,用于将用户、物品的嵌入向量进行外积得到用户‑物品交互图,利用所述用户‑物品交互图表示基于嵌入层且成对的维数关系;

卷积层,用于基于用户‑物品交互图输出表示高纬度的信息的张量,并将输出的张量输出预测层;

预测层,用于利用预测函数基于输入张量进行预测,得到预测分数;

所述将用户、物品的嵌入向量进行外积得到用户‑物品交互图包括:将用户嵌入向量 与物品嵌入向量 进行外积,得到交互矩阵

E中的第(k1,k2)个元素也就是:

对E中所有成对的维数关系进行编码,得到交互图;

将预测层的对抗矩阵分解AMF与卷积协同过滤ConvNCF一同训练得到预测评分;

所述将预测层的对抗矩阵分解AMF与卷积协同过滤ConvNCF一同训练得到预测评分包括:(1)优化模型参数:

其中, 表示干扰项的预测模型,

ω表示预测层中可训练的权值向量; 分别表示用户u和物品i的扰动向量;

(2)给AMF的小批量训练集;给定小批量大小S;从成对训练实例集D中随机抽取S个训练实例并将小批量命名为D';

(3)约束于 的最大范数计算得到干扰向量;

(4)根据小批量D'更新预测模型的参数:LAPR(D'|Θ)=∑(u,i,j)∈D'lAPR((u,i,j)|Θ);

其中,lAPR((u,i,j)|Θ)表示训练实例(u,i,j)的最小化的局部目标函数;

(5)对于在D'中出现的每个用户和物品,使用随机梯度下降算法计算(6)迭代步骤(4)至步骤(5),直到预测模型AMF收敛或者验证性能开始下降为止,得到训练好的AMF,利用训练好的AMF输出预测评分;

所述成对训练实例集D包括:

其中 表示用户u之前交互过的物品集合,I表示整个物品集合;

所述训练实例(u,i,j)的最小化的局部目标函数lAPR((u,i,j)|Θ)如下:其中,

2.如权利要求1所述基于对抗矩阵分解的协调过滤卷积神经网络推荐系统,其特征在于,所述卷积层包括:每个子卷积层中均有32张特征图,各子卷积层之间形成塔式结构。

3.如权利要求1所述基于对抗矩阵分解的协调过滤卷积神经网络推荐系统,其特征在于,所述张量大小为1×1×32。

4.如权利要求1所述基于对抗矩阵分解的协调过滤卷积神经网络推荐系统,其特征在于,所述预测函数为:

2 2 2 2

L=LAPR(D'|Θ)+λ1||ΘU||+λ2||ΘI||+λ3||ΘCNN||+λ4||ω||;

U

其中,λ*表示控制正则化的超参数,ΘU表示用户嵌入向量方程f (·)中的参数,ΘI表示I物品嵌入向量方程f(·)中的参数,ΘCNN表示卷积层中的参数,ω表示预测层中的参数。

5.一种应用于如权利要求1‑4任意一项所述基于对抗矩阵分解的协调过滤卷积神经网络推荐系统的基于对抗矩阵分解的协调过滤网络推荐方法,其特征在于,所述基于对抗矩阵分解的协调过滤网络推荐方法包括:步骤一,利用两个嵌入方程分别输出两个大小为64的表示用户和物品的向量,并将用户、物品的嵌入向量送入外积层;

步骤二,将用户、物品的嵌入向量进行外积得到用户‑物品交互图;

步骤三,基于用户‑物品交互图输出表示高纬度的信息的张量,并将输出的张量输出预测层;

步骤四,将预测层的对抗矩阵分解AMF与卷积协同过滤ConvNCF一同训练得到预测评分。

6.一种存储在计算机可读介质,包括计算机可读程序,供于电子装置上执行时,提供用户输入接口以实施如权利要求5所述基于对抗矩阵分解的协调过滤网络推荐方法。

说明书 :

一种基于对抗矩阵分解的协调过滤卷积神经网络推荐系统及

方法

技术领域

[0001] 本发明属于网络推荐技术领域,尤其涉及一种基于对抗矩阵分解的协调过滤卷积神经网络推荐系统及方法。

背景技术

[0002] 序列推荐系统是指以用户的行为轨迹为输入,然后采用推荐算法,向用户推荐合适的物品或服务的系统。因为序列推荐SR(Sequential Recommend,SR)能够考虑用户交互之间的顺序依赖,对用户偏好可以提供更准确的建模。传统序列推荐方法包括频繁模式挖掘、K‑近邻、马尔科夫链、基于因子化的方法等方法,通常会采用矩阵分解法MF(Matrix factorization,MF)来解决用户在不同序列中的长期偏好,同时使用一阶马尔可夫链来捕捉用户在一个序列中的短期兴趣。
[0003] 传统方法虽然能够迅速产生推荐,但不能考虑物品之间的顺序依赖性。相比之下,基于深度神经网络DNN(Deep neural networks,DNN)的SR方法能够利用更长的序列进行预测,适应不同长度的输入序列,比传统模型获得更好的准确性。近年来,在电子商务、POI(Point‑of‑Interes)、音乐和电影/视频等领域已经取得了最先进的性能。因此,基于深度神经网络的序列推荐技术研究在学术界和企业界都具有重要的研究意义和应用价值。
[0004] 目前,基于DNN的SR模型主要包含基于循环神经网络RNN(Recurrent neural networks,RNN),卷积神经网络CNN(Convolutional neural networks,CNN)和图神经网络GNNs(Graph neural networks,GNNs)等神经网络模型。其中,RNN模型占大多数。因为RNN可以很好地捕捉到一个会话内或不同会话之间的物品依赖关系,但是在较长的序列中建立依赖关系的模型相对困难。CNN模型的优势是可以很好地捕捉会话中的局部特征和时间信息。GNN可以包含用户的长期偏好和短期兴趣在一个会话中。然而,基于DNN的序列推荐方法存在共同的问题:(1)推荐结果缺乏可解释性和鲁棒性;2)对于复杂的网络需要更多的训练数据。
[0005] 对抗性机器学习(Adversarial Machine Learning,AML)是一个新兴的研究领域,它结合了机器学习、鲁棒统计和计算机安全领域的最佳做法,能够设计抵抗对抗性攻击的学习算法。AML的关键特点是“min‑max”博弈的概念——两个竞争对手进行零和博弈——也就是说,攻击者试图将攻击成功的可能性最大化;而另一个,即防御者——试图在这种最糟糕的情况下去最小化风险。在RS背景下,防御者可以是机器学习模型,如BPR或神经网络,而攻击者是对抗模型。抗性训练AR(Adversarial Training,AR)是AML提出的一种防御机制,其目标不是检测对抗性实例,而是构建在含有对抗性或者不含有对抗性实例中同时表现良好的模型。AR包括将通过特定攻击模型生成的对抗性样本注入到训练过程的每一步,使得模型对敌对样本有更高的鲁棒性,以及对干净样本具有更好的泛化性能。现有技术1表明AR可以使对抗攻击的负面影响从‑8.7%减少到‑1.4%。
[0006] 综上所述,本文提出了能同时解决模型鲁棒性及泛用性的模型——ConvNCF‑AMF(Convolutional Neural Collaborative Filtering with Adversarial Matrix Factorization,ConvNCF‑AMF)。ConvNCF‑AMF模型将用户、物品的嵌入向量送入外积层,在外积层中,两向量做外积得到用户‑物品交互图(特征图E),再将特征图E送入卷积层,最终卷积层输出一个张量,最终将此向量送入预测层,获得最终的推荐结果。保证了模型鲁棒性的同时,提升了整体的推荐效果,模型具有泛用性。

发明内容

[0007] 针对现有技术存在的问题,本发明提供了一种基于对抗矩阵分解的协调过滤卷积神经网络推荐系统及方法。
[0008] 本发明是这样实现的,一种基于对抗矩阵分解的协调过滤卷积神经网络推荐系统,所述基于对抗矩阵分解的协调过滤卷积神经网络推荐系统包括:
[0009] 嵌入层,包含两个嵌入方程,分别用于输出两个大小为64的表示用户和物品的向量,并将用户、物品的嵌入向量送入外积层;
[0010] 外积层,用于将用户、物品的嵌入向量进行外积得到用户‑物品交互图,利用所述用户‑物品交互图表示基于嵌入层且成对的维数关系;
[0011] 卷积层,用于基于用户‑物品交互图输出表示高纬度的信息的张量,并将输出的张量输出预测层;
[0012] 预测层,用于利用预测函数基于输入张量进行预测,得到预测分数。
[0013] 进一步,所述卷积层包括:每个子卷积层中均有32张特征图,各子卷积层之间形成塔式结构。
[0014] 进一步,所述张量大小为1×1×32。
[0015] 进一步,所述预测函数为:
[0016] L=LAPR(D'|Θ)+λ1||ΘU||2+λ2||ΘI||2+λ3||ΘCNN||2+λ4||ω||2[0017] 其中,λ*表示控制正则化的超参数,ΘU表示用户嵌入向量方程fU(·)中的参数,IΘI表示物品嵌入向量方程f (·)中的参数,ΘCNN表示卷积层中的参数,ω表示预测层中的参数。
[0018] 本发明的另一目的在于提供一种应用于所述基于对抗矩阵分解的协调过滤卷积神经网络推荐系统的基于对抗矩阵分解的协调过滤网络推荐方法,所述基于对抗矩阵分解的协调过滤网络推荐方法包括:
[0019] 步骤一,利用两个嵌入方程分别输出两个大小为64的表示用户和物品的向量,并将用户、物品的嵌入向量送入外积层;
[0020] 步骤二,将用户、物品的嵌入向量进行外积得到用户‑物品交互图;
[0021] 步骤三,基于用户‑物品交互图输出表示高纬度的信息的张量,并将输出的张量输出预测层;
[0022] 步骤四,将预测层的AMF(Adversarial Matrix Factorization,对抗矩阵分解)与ConvNCF(Convolutional Neural Collaborative Filtering,卷积神经协同过滤)一同训练得到预测评分。
[0023] 进一步,步骤二中,所述将用户、物品的嵌入向量进行外积得到用户‑物品交互图包括:
[0024] 将用户嵌入向量 与物品嵌入向量 进行外积,得到交互矩阵
[0025]
[0026] E中的第(k1,k2)个元素也就是:
[0027] 对E中所有成对的维数关系进行编码,得到交互图。
[0028] 进一步,步骤四中,所述将预测层的AMF(Adversarial Matrix Factorization,对抗矩阵分解)与ConvNCF(Convolutional Neural Collaborative Filtering,卷积神经协同过滤)一同训练得到预测评分包括:
[0029] (1)优化模型参数:
[0030]
[0031]
[0032]
[0033]
[0034]
[0035] 其中, 表示干扰项的预测模型,ω表示预测层中可训练的权值向量; 分别表示
用户u和物品i的扰动向量;
[0036] (2)Mini‑batch Training for AMF(给AMF的小批量训练集).给定小批量大小S;从成对训练实例集D中随机抽取S个训练实例并将小批量命名为D';
[0037] (3)约束于 的最大范数计算得到干扰向量;
[0038] (4)根据小批量D'更新预测模型的参数:
[0039] LAPR(D'|Θ)=∑(u,i,j)∈D'lAPR((u,i,j)|Θ);
[0040] 其中,lAPR((u,i,j)|Θ)表示训练实例(u,i,j)的最小化的局部目标函数;
[0041] (5)对于在D'中出现的每个用户和物品,使用随机梯度下降算法计算[0042] (6)迭代步骤(4)至步骤(5),直到预测模型AMF收敛或者验证性能开始下降为止,得到训练好的AMF,利用训练好的AMF输出预测评分。
[0043] 进一步,所述成对训练实例集D包括:
[0044] 其中 表示用户u之前交互过的物品集合,I表示整个物品集合。
[0045] 进一步,所述训练实例(u,i,j)的最小化的局部目标函数lAPR((u,i,j)|Θ)如下:
[0046]
[0047] 其中,
[0048] 本发明的另一目的在于提供一种存储在计算机可读介质,包括计算机可读程序,供于电子装置上执行时,提供用户输入接口以实施所述基于对抗矩阵分解的协调过滤网络推荐方法。
[0049] 结合上述的所有技术方案,本发明所具备的优点及积极效果为:
[0050] (1)用户嵌入和物品嵌入层之上,采用外积(而不是连接或内积),以明确捕获成对嵌入维度之间的相关性;
[0051] 与广泛使用的inner product(内积)和element‑wise product(元素积)相比,本发明认为做outer product(外积)的优势体现在以下四个方面:
[0052] ①它弥补了元素积只考虑交互图中对角线元素的缺点;
[0053] ②通过对维数关系的编码,可以获得更多的信息;
[0054] ③比简单的连接操作更有意义,连接操作仅保留嵌入向量的原始信息,不对其它任何信息有计算;此外,有研究表示在深度学习模型中,显示地计算特征嵌入向量间的关系对处理稀疏数据有优势,但此时连接操作表现出效率低的缺点。
[0055] ④可以将交互图视作图像来处理;众所周知,CNN在图像处理领域取得了非常不错的效果,例如ResNet(残差网络)和DenseNet(密集卷积网络)在处理2D图像时表现不俗;因此,选择CNN来处理2D交互图可以发挥其长处来提升推荐效果。
[0056] (2)在外积层产生的矩阵之上,本文采用卷积神经网络(CNN)来学习高维信息;
[0057] 本发明认为采用卷积神经网络(CNN)的优势体现在以下四个方面:
[0058] ①CNN的参数较MLP少,不容易过拟合;
[0059] ②CNN更契合用户‑物品交互图的2D交互图;
[0060] ③CNN更便于获取高纬度的信息,能从局部到整体学习到全部的信息。
[0061] 因此,本模型保证了模型鲁棒性的同时,提升了整体的推荐效果,模型具有泛用性。

附图说明

[0062] 图1是本发明实施例提供的基于对抗矩阵分解的协调过滤卷积神经网络推荐系统框架图。
[0063] 图2是本发明实施例提供的基于对抗矩阵分解的协调过滤网络推荐方法流程图。
[0064] 图3是本发明实施例提供的AMF原理图。
[0065] 图4是本发明实施例提供的MF对APR和BPR训练的实验结果对比示意图。
[0066] 图5是本发明实施例提供的MF对APR和BPR训练的实验结果对比示意图。
[0067] 图6是本发明实施例提供的ConvNCF‑AMF模型和AMF模型的实验结果对比图。

具体实施方式

[0068] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0069] 针对现有技术中对敌对样本缺少鲁棒性,以及对干净样本缺少泛化性能的问题,本发明提供了一种基于对抗矩阵分解的协调过滤卷积神经网络推荐系统,下面结合附图对本发明作详细的描述。
[0070] 如图1所示,本发明实施例提供的基于对抗矩阵分解的协调过滤卷积神经网络推荐系统包括:
[0071] 嵌入层,包含两个嵌入方程,分别用于输出两个大小为64的表示用户和物品的向量,并将用户、物品的嵌入向量送入外积层;
[0072] 外积层,用于将用户、物品的嵌入向量进行外积得到用户‑物品交互图,利用所述用户‑物品交互图表示基于嵌入层且成对的维数关系;
[0073] 卷积层,用于基于用户‑物品交互图输出表示高纬度的信息的张量,并将输出的张量输出预测层;
[0074] 预测层,用于利用预测函数基于输入张量进行预测,得到预测分数。
[0075] 本发明实施例提供的卷积层包括:每个子卷积层中均有32张特征图,各子卷积层之间形成塔式结构。
[0076] 本发明实施例提供的张量大小为1×1×32。
[0077] 本发明实施例提供的预测函数为:
[0078] L=LAPR(D'|Θ)+λ1||ΘU||2+λ2||ΘI||2+λ3||ΘCNN||2+λ4||ω||2#(12)[0079] 其中,λ*表示控制正则化的超参数,ΘU表示用户嵌入向量方程fU(·)中的参数,IΘI表示物品嵌入向量方程f (·)中的参数,ΘCNN表示卷积层中的参数,ω表示预测层中的参数。
[0080] 如图2所示,本发明实施例提供的基于对抗矩阵分解的协调过滤网络推荐方法包括:
[0081] S101,利用两个嵌入方程分别输出两个大小为64的表示用户和物品的向量,并将用户、物品的嵌入向量送入外积层;
[0082] S102,将用户、物品的嵌入向量进行外积得到用户‑物品交互图;
[0083] S103,基于用户‑物品交互图输出表示高纬度的信息的张量,并将输出的张量输出预测层;
[0084] S104,将预测层的AMF与ConvNCF一同训练得到预测评分。
[0085] 本发明实施例提供的将用户、物品的嵌入向量进行外积得到用户‑物品交互图包括:
[0086] 将用户嵌入向量 与物品嵌入向量 进行外积,得到交互矩阵
[0087]
[0088] E中的第(k1,k2)个元素也就是:
[0089] 对E中所有成对的维数关系进行编码,得到交互图。
[0090] 本发明实施例提供的将预测层的AMF与ConvNCF一同训练得到预测评分包括:
[0091] (1)优化模型参数:
[0092]
[0093]
[0094]
[0095]
[0096]
[0097] 其中, 表示干扰项的预测模型,ω表示预测层中可训练的权值向量; 分别表示
用户u和物品i的扰动向量;
[0098] (2)Mini‑batch Training for AMF(给AMF的小批量训练集).给定小批量大小S;从成对训练实例集D中随机抽取S个训练实例并将小批量命名为D';
[0099] (3)约束于 的最大范数计算得到干扰向量;
[0100] (4)根据小批量D'更新预测模型的参数:
[0101] LAPR(D'|Θ)=∑(u,i,j)∈D'lAPR((u,i,j)|Θ);
[0102] 其中,lAPR((u,i,j)|Θ)表示训练实例(u,i,j)的最小化的局部目标函数;
[0103] (5)对于在D'中出现的每个用户和物品,使用随机梯度下降算法计算[0104] (6)迭代步骤(4)至步骤(5),直到预测模型AMF收敛或者验证性能开始下降为止,得到训练好的AMF,利用训练好的AMF输出预测评分。
[0105] 本发明实施例提供的成对训练实例集D包括:
[0106] 其中 表示用户u之前交互过的物品集合,I表示整个物品集合。
[0107] 本发明实施例提供的训练实例(u,i,j)的最小化的局部目标函数lAPR((u,i,j)|Θ)如下:
[0108]
[0109] 其中,
[0110] 下面结合具体实施例对本发明的技术方案做进一步说明。
[0111] ConvNCF‑AMF(Convolutional Neural Collaborative Filtering Model Based on Adversarial Matrix Factorization,基于对抗矩阵分解的卷积神经协同过滤模型)模型框架如图1所示,本发明选择NCF(Neural Collaborative Filtering,神经协同过滤)作为基本模型框架。
[0112] 本发明采用的技术方法的主要步骤如下
[0113] 步骤1:在ConvNCF‑AMF(Convolutional Neural Collaborative Filtering Model Based on Adversarial Matrix Factorization,基于对抗矩阵分解的卷积神经协同过滤模型)模型框架中,嵌入层向量大小为64,示例展示了有6层卷积层;嵌入层包括两个U I嵌入方程f(u)、f(i),输出两个大小为64的向量,分别表示用户u和物品i。
[0114] 步骤2:在嵌入层之上是外积层,通过构造交互图 来表示基于嵌入层且成对的维数关系,交互图E是嵌入层中用户嵌入向量与物品嵌入向量做外积得出的。
[0115] 步骤3:将特征图E送入卷积层中,从而可以获得高纬度的信息;
[0116] 步骤4:在每个子卷积层中都有32张特征图,各子卷积层之间形成塔式结构[0117] 步骤5:输出一个大小为1×1×32的张量,将得到的张量送入预测层的AMF中,使得AMF与ConvNCF一同训练得到预测评分
[0118] 本发明提出的模型架构如图2所示,以下将根据模型架构中的各个部分进行详细阐述。
[0119] 1、外积层
[0120] 步骤1:让用户嵌入向量 与物品嵌入向量 做外积,得到交互矩阵
[0121]
[0122] E中的第(k1,k2)个元素也就是:
[0123] 步骤2:对E中所有成对的维数关系进行编码,因此,本发明称E为交互图[0124] 与广泛使用的inner product(内积)和element‑wise product(元素积)相比,本发明认为做outer product(外积)的优势体现在以下四个方面:①它弥补了元素积只考虑交互图中对角线元素的缺点;②通过对维数关系的编码,可以获得更多的信息;③比简单的连接操作更有意义,连接操作仅保留嵌入向量的原始信息,不对其它任何信息有计算;此外,有研究表示在深度学习模型中,显示地计算特征嵌入向量间的关系对处理稀疏数据有优势,但此时连接操作表现出效率低的缺点。④可以将交互图视作图像来处理;众所周知,CNN在图像处理领域取得了非常不错的效果,例如ResNet(残差网络)和DenseNet(密集卷积网络)在处理2D图像时表现不俗;因此,选择CNN来处理2D交互图可以发挥其长处来提升推荐效果。
[0125] 2.对抗性个性化排序算法(APR)
[0126] 对抗训练方法是通过动态生成对抗例子来增强训练过程。对敌训练的思想已经被推广到深度神经网络。APR使推荐模型既适合个性化排名,又具有鲁棒性。
[0127] 对抗性个性化排序的目标函数如下:
[0128]
[0129]
[0130] Δ为模型参数的摄动量,ε≥0控制扰动变量, 为当前模型参数。
[0131] 步骤1:对抗项 通过稳定BPR中的分类函数来正则化模型,用λ来控制其正则化的效果。
[0132] 步骤2: 为成对训练实例集 其中 表示用户u之前交互过的物品集合,I表示整个物品集合。
[0133] 步骤3:变量Δ使目标函数最大化而变量Θ使得目标函数最小化,两个变量轮流训练模型直到收敛。
[0134] 步骤4:指定BPR(Bayesian Personalized Ranking,贝叶斯个性化排序)中的超参数以及APR中的ε和λ两个超参数。
[0135] 步骤5:针对随机采样实例(u,i,j)优化模型参数。
[0136] 构造对抗扰动因子的问题可以表示为最大化:
[0137]
[0138] 是将关于Δ的目标函数近似为一个线性函数。为了使近似的线性函数最大化,只需要朝着目标函数关于Δ的梯度方向移动,由最大范数约束||Δ||≤ε,可得出:
[0139]
[0140] 学习模型参数Θ。对于一个训练实例(u,i,j),最小化的局部目标函数如下:
[0141]
[0142] 由方程5得到的Δadv及方程(6)对Θ求导,可得到更新参数Θ的随机梯度下降方法:
[0143]
[0144] η代表学习率。
[0145] 3.对抗性矩阵分解算法AMF
[0146] 如图3所示,本发明采用以矩阵分解实例化的APR(Adversarial Personalized Ranking,对抗个性化排序)也就是AMF作为本模型的预测函数。
[0147] 根据AMF:给定一对(u,i),具有干扰项的预测模型定义为:
[0148]
[0149] 步骤1:ω是预测层中可训练的权值向量; 分别表示用户u和物品i的扰动向量。在AMF中应用SGD Algorithm for APR,;对于方程(5),给出关键求导公式:
[0150]
[0151]
[0152] 对于方程(7),给出关键求导公式:
[0153]
[0154]
[0155]
[0156] 步骤2:Mini‑batch Training for AMF(给AMF的小批量训练集).给定小批量大小S。
[0157] 步骤3:从D中随机抽取S个训练实例并将小批量命名为D'。
[0158] 步骤4:约束于 的最大范数来计算出干扰向量。
[0159] 步骤5:接下来,根据小批量D'来更新预测模型的参数。APR的目标方程为:
[0160]
[0161] 其中,lAPR((u,i,j)|Θ)在方程(8)中定义了。
[0162] 步骤6:对于在D'中出现的每个用户和物品,本发明使用随机梯度下降算法(SGD)来计算
[0163] 步骤7:迭代上述两个步骤,直到预测模型AMF收敛或者验证性能开始下降为止。
[0164] 综上所述,本发明提出的ConvNCF‑AMF模型的目标函数为:
[0165] L=LAPR(D'|Θ)+λ1||ΘU||2+λ2||ΘI||2+λ3||ΘCNN||2+λ4||ω||2#(12)[0166] 其中λ*是控制正则化的超参数,ΘU代表用户嵌入向量方程fU(·)中的参数,ΘI代I表物品嵌入向量方程f(·)中的参数,ΘCNN代表卷积层中的参数,ω是预测层中的参数。
[0167] 实验证明部分
[0168] 1、实验环境设置
[0169] 本发明的相关实验基于Python 2.7的TensorFlow1.12环境,Ubuntu18.04,主要的数据包为TensorFlow1.12版本,cuda v10.2,cudnn 16.4,pytorch v1.7。
[0170] 1.1.数据描述
[0171] 本发明在三个公开数据集上进行了实验,分别是:Yelp、Pinterest‑20和Ml‑1M。
[0172] Yelp:这是Yelp数据挑战赛提供的用户对商家评分的数据集,包含25,815个用户、25,677个物品和730,791个评分。
[0173] Pinterest‑20:这个数据集是为基于内容的图像推荐而构建的隐式反馈数据集,包括55,187个用户、9,916个物品和1,500,809个评分。
[0174] Ml‑1M:一个关于电影评分的数据集,包含了6,040个MovieLens用户对约3,706部电影的1,000,209个匿名评分。
[0175] 1.2评价指标
[0176] 对于数据集中的每个用户,保留最新的一个交互作为测试集,然后将剩余的交互作为训练集,在训练集上训练模型。模型训练后,本发明通过对训练集中与用户没有交互的所有物品进行排序,来为用户生成个性化的排名列表。为了研究top‑K推荐的性能,本发明将排序列表在位置K处截断。然后本发明采用命中率(HR@k)和归一化折现累积增益(NDCG@k)来评价排名列表。HR@k是一个基于召回的度量,用来衡量测试物品是否位于top‑k列表中;NDCG@k是对排名顺序敏感的指标,排名越靠前的物品计算出的NDCG值越高。对于这两个指标,值越大代表生成的个性化排名列表越好,推荐效果越理想。为了消除随机振荡的影响,本发明报告了近十次收敛的平均分数。
[0177] 1.3参数设置
[0178] Table 1Parameters in ConvNCF‑AMF
[0179]
[0180] 2与其他模型比较的实验结果
[0181] 为了证明本发明提出方法的有效性,本发明与以下的方法进行了对比:
[0182] MF‑BPR(Matrix Factorization Based on Bayesian Personalized Ranking,基于贝叶斯个性化排序的矩阵分解):该方法把BPR目标函数作为矩阵分解的目标函数,是一个有竞争力的协同过滤算法。
[0183] AMF:在MF‑BPR的基础上采用对抗训练来提升模型整体的鲁棒性,也是本发明模型的一部分。
[0184] FISM(Factored Item Similarity Models,因素项相似模型):与MF仅仅嵌入用户ID相比,该模型在用户向量的表示上加入了与用户有过交互的历史记录,是一个有竞争力的基于物品的协同过滤推荐模型。
[0185] SVD++(Singular Value Decomposition++,奇异值分解):结合了MF与FISM在用户向量设计上的做法,是一个强大的协同过滤推荐模型,在Netflix挑战赛中取得了非常好的成绩。
[0186] MLP(Multi‑layer Perceptron,多层感知机模型):是一种NCF模型,将用户嵌入向量与物品嵌入向量连接后送入MLP,但没有嵌入维数间的关系。
[0187] JRL(Joint Representation Learning,联合表示学习):是一种NCF模型,通过增加隐藏层提高了GMF的性能。
[0188] NeuMF(Neural Matrix Factorization,基于神经网络的矩阵分解):是一种先进的推荐模型,它集成了GMF和MLP来学习用户‑物品交互信息。
[0189] ConvNCF‑MF(Convolutional Neural Collaborative Filtering Model Based on Matrix Factorization,基于矩阵分解的卷积神经协同过滤模型):是一种先进的推荐模型。基于MF,通过外积来获取维数的信息。
[0190] ConvNCF‑FISM(Convolutional Neural Collaborative Filtering Model Based on Factored Item Similarity Models,基于因素项相似的卷积神经协同过滤模型):是一种先进的推荐模型。基于FISM,通过外积来获取维数的信息。
[0191] ConvNCF‑SVD++(Convolutional Neural Collaborative Filtering Model Based on Singular Value Decomposition++,基于奇异值分解的卷积神经协同过滤模型):是一种先进的推荐模型。基于SVD++,通过外积来获取维数的信息。
[0192] Table 2Top‑k recommendation performance where k∈{5,10,20}[0193]
[0194]
[0195] 可以从Table 2中看出,在Yelp数据集上,本发明提出的ConvNCF‑AMF在上HR@k和NDCG@k都取得了最佳结果;在Pinterest‑20和Ml‑1M数据集上也取得十分理想的结果。
[0196] 3实验过程与分析
[0197] 3.1对抗学习的实验效果
[0198] 为了确保对抗学习对有效性,本发明将MF‑BPR预训练了500个周期(接近完全收敛),然后接着训练MF‑APR(AMF);为了对比,本发明继续完成对MF‑BPR的训练,使两者的训练周期一致。
[0199] 在top‑k@10的条件下,图4中所有的图表体现了相同趋势——500个训练周期后,采用APR来训练MF取得了不错的结果,而采用BPR来训练MF的提升不明显,甚至有所下降(例如Pinterest‑20和Ml‑1M)。
[0200] 3.2卷积神经网络的效果
[0201] 图5可以看出,在top‑k,k∈{1,2,…,100}的条件下,HR@k和NDCG@k均有所所提升,但是仍然处于较低水平,尤其是NDCG@k;这是因为AMF不能够学习到足够的信息。
[0202] 为解决这个问题,本发明采用ConvNCF‑AMF来训练,ConvNCF中的外积层能够显示地对嵌入向量间维数关系进行编码,CNN也能很好地处理特征图。在top‑k@10的条件下,采用AMF预训练1500个周期,接着采用ConvNCF来训练1500个周期以学习高维的信息。从图6可以看出,本发明提出的ConvNCF‑AMF在三个数据集上都取得了极为理想的效果。在Yelp数据集中,采用ConvNCF‑AMF,HR@10和NDCG@10分别提高到了0.6538和0.4203;在Pinterest‑20数据集中,HR@10和NDCG@10分别高达0.7651和0.4808;在Ml‑1M数据集上,HR@10和NDCG@10分别高达0.6592和0.3942。
[0203] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。