APP下载

联合轻量图卷积网络和注意力机制的推荐方法

2021-12-08黄夏炎

小型微型计算机系统 2021年12期
关键词:卷积矩阵物品

郑 诚,黄夏炎

(安徽大学 计算机科学与技术学院,合肥 230601)(安徽大学 计算智能与信号处理教育部重点实验室,合肥 230601) E-mail:huangxy94@foxmail.com

1 引 言

由于互联网的快速发展,人们需要面对与日俱增的海量数据,从而出现了信息过载的问题.而推荐系统的出现则有效地缓解了信息过载对互联网用户的困扰.推荐系统主要依赖推荐算法进行有效的推荐.在一系列相关的算法中,协同过滤(Collaborative Filtering,CF)算法使用最为广泛[1].该算法的核心思想是根据用户和物品产生的交互来预测用户可能感兴趣的其它物品.

协同过滤算法主要通过学习潜在特征(Factor Feature)来对用户和物品进行表示,潜在特征也可以称为嵌入(Embedding).而协同过滤算法主要利用潜在特征向量进行预测[2].矩阵分解(Matrix Factorization)算法是该类算法的早期代表,该算法直接将单个用户映射到嵌入中.随后的研究又发现,根据用户的交互历史,增加所需要映射的用户数量可以有效地提升嵌入的质量.例如,Yehuda Koren提出的SVD++算法验证了使用用户的历史交互信息可以明显提升评分预测的准确性[3],He等人提出的NAIS(Neural Attentive Item Similarity)模型对与用户产生过交互的物品按重要程度进行了区分,也取得了较好的结果.但是上述方法均只使用了与用户产生过直接联系的邻域的信息(即图1中的L=1范围).

图1 用户与物品交互示意图Fig.1 Example of users interaction with items

近年来,图卷积网络(Graph Convolution Network,GCN)在很多领域取得了非常好的成果,也越来越多的被应用于推荐系统任务.GCN网络可以更有效地利用用户的高跳邻居(high-hop neighbors)的信息.Wang等人在图卷积网络的基础上提出了NGCF模型[4],该模型完全继承了标准图卷积模型的一系列规则:特征变换、邻域融合、非线性激活.尽管该模型也取得了非常好的结果,但模型过于复杂,时间复杂度也偏高.He等人在NGCF模型的基础上去除了特征变换和非线性激活两个规则,提出了LightGCN[5]模型.但该模型对所有邻域的权重统一给定了一个固定值,并未进行区分.

针对以上问题,本文构建了LGCA(LightGCN with Attention)模型.该模型基于LightGCN模型的构建思想,并通过引入注意力机制,根据不同邻域的重要程度对各个邻域的权重进行区分,并赋予不同的权重,提升了模型预测的准确性.

本文主要贡献如下:

1)提出了一个联合轻量图卷积网络和注意力机制的推荐模型,在模型中,轻量图卷积网络舍弃了传统图卷积网络里特征变换、非线性激活等步骤,使得模型的性能得到了较大的提升.注意力机制为目标用户和目标物品分配了不同的权重,使得模型的思想更为合理.

2)模型在3个真实数据集上均取得了较好的结果,验证了模型的有效性.

2 相关工作

2.1 图卷积网络

图卷积网络(GCN)是近些年出现的一个比较热门的神经网络模型,它也是多层神经网络结构.该模型的主要操作在图结构上进行.

给定一个图G=(V,E),V(|V|=n)是节点的集合,E为边的集合.假设每个节点均存在自连接,则对任意给定的v,有(v,v)∈E.设X∈n×m为包含全部n个节点及其特征的矩阵,m是特征向量的维数,每一行的xv∈m是v的特征向量.引入图G的邻接矩阵A及其度矩阵D,令Dii=∑jAij.因为存在自连接性,邻接矩阵A的对角线元素均设为1.如果GCN的层数只有1层,该网络仅可捕获其直接邻居的信息.而当多个GCN网络堆叠在一起的时候,则可以集成较大邻域的信息.对于单层GCN网络,新的k维节点的特征矩阵定义为L(1)∈n×k,该矩阵的计算方式定义为:

(1)

(2)

其中,j表示GCN网络的层数且L(0)=X.

2.2 注意力机制

注意力机制在计算机视觉、自然语言处理等领域都取得了较好的成果.注意力机制可以对输入数据的噪声进行过滤,减少某些噪音数据对结果造成的影响,并增大某些重要信息的权重.近年来,注意力机制也被引入了推荐系统任务中,在推荐系统中可以使用注意力机制来为不同的用户和物品分配不同权重,进而以此获取有一定代表性的用户对或者物品对,以提升推荐结果的准确性.注意力机制的核心在于通过神经网络来计算各个部分的权重.Liu等人提出的DAML(Dual Attention Mutual Learning)[6]模型使用双重注意力机制来提取用户和评论之间所存在的潜在特征的相关性.Dong等人利用BP神经网络来对某个目标用户和其邻居节点之间的复杂关系进行探索,使用注意力机制来获取每个用户对所有最近邻用户的总体影响[7].Jhamb等人使用注意力机制来提升一种基于自编码器的协同过滤算法的性能[8].

3 融合轻量图卷积网络和注意力机制的推荐

本节将详细阐述融合轻量图卷积网络和注意力机制的推荐算法模型LGCA(LightGCN with Attention).该模型主要可分为两个部分,一个是轻量图卷积网络模型,这是该算法的主要部分,用于实现整个推荐过程.另一个是引入注意力机制对不同邻域进行区分.图2为LGCA模型框架示意图.

图2 LGCA模型架构Fig.2 Illustration of LightGCN model architecture

3.1 轻量图卷积网络模型

GCN的基本思想是通过平滑图上的特征来学习节点的表示,因此需要反复地迭代图卷积操作,也就是将邻居的特征进行聚合作为目标节点的新表示.本文的聚合操作抽象表示为:

(3)

(4)

(5)

(6)

(7)

其中,ak≥0表示第k层嵌入的重要程度.该参数的获取方式将在3.2小节进行阐述.

模型最后将用户和物品的最终表示的内积作为预测结果:

(8)

为提升模型的效率,将公式改写为矩阵形式.设R∈M×N为用户与物品的交互矩阵.M和N分别表示用户和物品的数量.如果用户与物品发生过交互,则矩阵元素Rui为1,否则为0.可以得到用户-物品图的邻接矩阵:

设第0层的嵌入矩阵为E(0)∈(M+N)×T,T为嵌入的维度.之后可得下列等式:

(9)

其中,D是规模为(M+N)×(M+N)的对角矩阵.最后得到最终用于模型预测的嵌入矩阵:

(10)

图3 3层嵌入传播示例Fig.3 Illustration of third-order embedding propagation

3.2 融合注意力机制

设用户和物品的历史交互矩阵为Rm×n,m为用户的数量,n为物品的数量.

本文的方法采用一个多层感知机来实现注意力机制:

f(pi,qj)=hTReLU(w(pi⊙qj)+b)

(11)

其中,wk×d,bd×1分别表示从输入层到隐藏层的权重矩阵和防止过拟合的偏置项.hT表示从隐藏层到输入层的权重向量.最后使用一个softmax函数对最终的输出结果进行归一化:

(12)

其中,β为一个平滑系数,用于防止softmax函数对活跃用户的权重惩罚过度,其取值范围为[0,1].

3.3 模型训练

本文的模型所需要训练的参数记为Θ={E(0),β},其中E(0)是第0层的嵌入.同时,受到文献[13]的启发,本文使用了BPR(Bayesian Personalized Ranking)模型所采用的损失函数:

(13)

在这里,λ是控制L2正则化的一个超参数.同时使用Adam(Adaptive Moment Estimation)算法来优化这个损失函数.

4 实验及结果分析

在这一节中,我们首先介绍实验所使用的数据集、实验的各项设置和所使用的对比方法.最后介绍本文提出的模型与各个对比方法的性能比较.

4.1 实验设置

本文的工作选用3个不同领域的真实数据集:Gowalla、Yelp2018和Amazon-book.下面简单地对这3个数据集进行介绍.

Gowalla:这个数据集来自签到网站Gowalla,用户通过签到来分享他的位置信息.

Yelp2018:这个数据集是Yelp网站2018年挑战赛所采用的公开数据集,也是各个推荐任务中所广泛采用的数据集之一.它包含了用户查看过的餐厅、酒吧等等当地的所有商家.

Amazon-book:亚马逊的评论数据集是一个广泛应用于推荐任务以及如情感分析等自然语言处理领域的公开数据集.本文选取其中的书籍领域的子数据集.

参考文献[14],在本文的实验中,以上3个数据集均只保留发生过10次以上交互的用户或者物品.表1为3个数据集经过预处理之后的统计情况.

表1 数据集信息Table 1 Statistics of datasets

对于所有数据集,本文选取每个用户的历史交互中的80%作为训练集,剩余的20%作为测试集.同时,随机选取训练集中的10%作为验证集以用于参数的调试.

在本文的实验中,文献[15]嵌入的维度设置为64.在利用Adam算法对损失函数进行优化的过程中,本文使用默认的学习率0.001.L2正则化系数λ在{1e-6,1e-5,…,1e-2},在大部分推荐任务中,该系数都设为1e-4.注意力网络的平滑系数设为0.5.

本文采用召回率(recall)和归一化折扣累计增益(Normalized Discounted Cumulative Gain,NDCG)作为性能评价指标.

4.2 对比方法

为更明确地评估模型的性能,本文采用以下模型作为对比方法:

Mult-VAE[16]:这是一个基于变分自编码器(Variational Autoencoder)的协同过滤方法,它假设数据来自多项式分布,并使用变分推理进行参数估计.

GRMF[17]:该方法增加了图的拉普拉斯正则化器,借此来平滑矩阵分解.

NGCF[18]:该方法将图卷积网络的思想引入推荐系统的任务中,是目前为止比较新的方法之一.

LightGCN[5]:该方法基于NGCF模型,去除了NGCF模型中特征变换和非线性激活两个部分,有效提升了算法的性能,也是目前比较新颖、性能较好的方法之一.

4.3 实验结果

如表2所示,本文探讨了图卷积网络的层数对实验结果的影响.从实验结果可知一下几点:1)在所有场景下,LGCA都取得了比LightGCN更好的性能表现;2)增加图卷积网络的层数可以在一定程度上提升模型的性能,当层数设定在2层或者3层时,所得到的性能表现都比较好.而当层数设定为4层时,在Amazon-book数据集上出现了过拟合现象,性能有所降低.这可能是因为图卷积网络结构加深时,有较多的噪音数据被送入模型中,从而降低了模型的性能.

表2 层数对性能的影响Table 2 Performance comparison at different layers

从表3中可以看出,LGCA模型在3个数据集上的性能表现均优于其它模型,这证明了LGCA模型的有效性,表明了引入注意力机制对不同的邻域进行区分来提升推荐系统的准确性是可行的.

表3 实验结果比较Table 3 Performance of compared methods

图4、图5为L2正则化系数λ的取值对模型性能的影响.这里选取两层图卷积网络,分别在Yelp2018和Amazon-book数据集上进行实验.

图4 正则化系数对召回率的影响Fig.4 Impact on recall

图5 正则化系数对NDCG的影响Fig.5 Impact on NDCG

从图中可以看出,当λ的取值大于1e-2时,模型的性能会迅速衰减,由此表明正则化过强对模型的性能有很大的负面影响,在推荐任务中都是需要注意的

5 结束语

本文提出了一个联合轻量图卷积网络和注意力机制的推荐算法,其中轻量图卷积网络舍弃了传统图卷积网络里特征变换、非线性激活等步骤,使得模型的性能得到了较大的提升.注意力机制为目标用户和目标物品分配了不同的权重,使得模型的思想更为合理.模型在3个真实数据集上均取得了较好的结果.在未来的工作中,可以考虑引入更多的辅助信息,如利用知识图谱或者评论文本等来进一步提高物品和用户的嵌入表示,以提升模型的准确性.

猜你喜欢

卷积矩阵物品
基于全卷积神经网络的猪背膘厚快速准确测定
称物品
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
多项式理论在矩阵求逆中的应用
图画捉迷藏
矩阵
矩阵
矩阵