APP下载

基于切比雪夫一阶截断式的谱卷积协同过滤

2022-12-30王嘉豪梅红岩李晓会

计算机工程与设计 2022年12期
关键词:滤波器卷积矩阵

王嘉豪,梅红岩,刘 鑫,李晓会

(辽宁工业大学 电子与信息工程学院,辽宁 锦州 121001)

0 引 言

推荐系统(recommendation system,RS)的有效性通常取决于用户的兴趣或偏好如何被理解以及用户和项目之间的交互如何被建模。协同过滤(collaborative filtering,CF)[1]是RS中广泛使用和突出的技术之一,现有的基于CF的方法,包括基于模型和基于内存的方法,并且取得了良好的效果,但是依然存在着以下问题:①在基于内存的推荐中,当用户与项目的交互少,就会面临矩阵稀疏性问题,使其计算出来的用户相似性也是不准确的,随着用户和项目的逐渐增多,该方法的推荐性能也会下降,如果用户跟一个项目从未存在过交互,则这个项目不可能被推荐;②在基于模型的推荐中,如逻辑回归(logistic regression,LR)无法进行特征交叉、特征筛选、表达能力差;后期研究者虽然对模型进行改善,但是令数据更加稀疏,难以收敛并且特征权重增加,训练成本变大;因子分解机(factor factorizer,FM)面临组合爆炸,不易做到高阶的特征相融合;域感知分解机模型(domain sense factor decomposer model,FFM)使模型的训练开销进一步加大;此外还面临并行训练难,时长加大等问题。为了解决上述问题,提出了一种推荐方法,称为切比雪夫谱卷积协同过滤推荐方法(chebyshev-SCF)。该方法能够在频谱域间进行谱卷积运算,能够挖掘用户与项目隐藏在图中的关联信息,揭示图中隐藏的连通性信息。由切比雪夫一阶截断式来动态的调整每个频域的大小,通过一种新方法,将谱卷积运算转换为建立一个深度前馈神经网络,通过优化卷积核,降低模型复杂度,达到发现用户和项目建的深层关联性,从而缓解CF的冷启动问题。

1 相关工作

1.1 基于深度学习的推荐系统

受限玻尔兹曼机器法(restricted Boltzmann machines,RBM)是深度学习中较早应用于缓解推荐系统的方法,该方法能够利用用户的评级来发现用户的偏好,从而进行建模,并且优于传统的矩阵分解技术,为深度推荐系统提供了广阔的应用前景。在该方法的启发下,Yin Zheng等[2]提出了用于协同过滤任务的CF神经自回归分布估计器(CF neural autoregressive distribution estimator,CF-NADE)模型,CF-NADE能够实现在不同的评级之间共享参数,可扩展性也得到了大幅度的提升。后来,Jun Wang等[3]采用生成模型和判别模型来玩极大极小博弈,对这两个模型进行了迭代优化,并为缓解项目推荐问题取得了良好的结果。Liu H等[4]借助注意力网络将基于矩阵分解的协同过滤与深度对抗网络相结合,该方法能够从源用户和目标用户与项目的交互矩阵中学习每个用户和每个项目特定的领域表示,有效缓解了数据稀疏性问题。文献[5]提出多层感知器(multilayer perceptron,MLP)可以用来建模用户-项目之间的交互,进一步优化了CF内因反馈问题,为基于深度学习的推荐开辟了新的研究途径。除此之外,递归神经网络(recursive neural network,RNN)、卷积神经网络(convolutional neural network,CNN)、深度强化学习(deep reinforcement learning,DRL)等方法都被用于CF,对缓解CF的冷启动、数据稀疏性一些列问题都有了新的突破,并且对推荐质量的提升也有较大的贡献。

1.2 基于图的推荐系统

另一个相关的研究方向是利用用户-项目图结构进行推荐,将图神经网络方法应用于推荐系统的动机在于两个方面:首先RS中的大部分数据本质上具有图结构,其次GNN技术在捕获节点间的连接和对图数据的表示学习方面非常强大,比如在学习节点表示[6],提升社交网络性能[7],优化节点嵌入[8]都取得了极大的进步。从图中能够学习用户和项目的潜在因素,许多研究者提出了基于图的RS,有用于文档推荐的半监督学习模型,该模型通过结合多个图,能够达到衡量项目相似性的目的。后来受图/节点嵌入方法的启发,Berg等[9]提出了一种基于图卷积网络的推荐模型—图形自动编码器,通过学习图形的结构信息来识别用户和项目的潜在因素。针对传统推荐以及深度学习中矩阵补全存在的问题,在矩阵分解模型中加入基于正则化的方法来学习图结构,从而有了基于图的正则化方法。此后,许多基于图神经网络的推荐系统被提出,这些方法也对缓解CF的问题起到了很大的作用。

相比之下,本文提出的算法可以直接从用户-项目构建的二部图中来进行学习,不需要添加边的信息,并且可以减少模型训练时长,达到快速发现用户-项目隐含性信息的目的。传统CF的方法一直致力于缓解用户冷启动问题,但还是存在着相关的弊端:首先面临冷启动问题,系统无法为新用户提供有效的推荐,这些用户没有对任何商品进行评级,或只对少数物品进行评级;其次,当面临海量数据的时候,模型加载耗时较大,会使算法效率下降。

2 模型框架

在本节中,首先在二部图G上执行图傅里叶变换的过程。然后在二部图的顶点(用户和项目)上放置一个新的谱卷积滤波器,以动态滤波来衡量每个频率分量在谱域中的大小。随后,采用切比雪夫多项式来克服卷积运算的缺点。最后通过卷积运算,引入了最终的推荐方法—chebyshev-SCF,由多个谱卷积层堆叠而成。用户与项目的交互图由空域转换到谱域如图1、图2所示。

图1 用户-项目二部图

图2 用户-项目频谱转换

2.1 二部图

一个具有N个顶点和E个边的二部用户项图被定义为G(U,I,E), 其中U和I是两个不相交的用户和项目的集合。每条边e∈E都遵循e=(u,i) 的形式,u∈U,i∈I, 代表有交互记录的用户u和项目。

2.2 隐式反馈矩阵

隐式反馈矩阵R为 |U|×|I| 定义如下

(1)

2.3 邻接矩阵

对于二部图G,其对应的邻接矩阵W可以定义为

(2)

2.4 拉普拉斯算子矩阵

2.5 相关问题定义

2.6 图傅里叶变换

给定任何图G={V,E}, 其中V,E分别是一个顶点和边的集合,在所有顶点上,图信号被定义为形式为x∈R|V|×1的状态向量,xj则表示在图G中,观察到的x的第j个值。

经典傅里叶变换定义为函数f,复指数展开如式(3)所示

(3)

i表示数值为一个虚数,经过组合变为指数e2πiwt, 是一个标准正交基的形式。

(4)

类似地,图傅里叶变换定义为观测图信号根据L特征向量的展开,特征向量是谱域的基。如果图信号 (x∈R|V|×1) 是在图G上观察到的,如式(5)所示,图的傅里叶变换定义为

(5)

图傅里叶的逆变换如式(6)所示

(6)

因为用户-项目交互二部图G存在着两种类型的图信号:xu∈R|U|×1和xi∈R|I|×1, 表示有联系的用户和项目顶点。从空域转换到谱域,以及从谱域逆转换为空域如式(7)所示

(7)

2.7 谱卷积流程

图结构的广泛信息存在于谱域,在谱域中,拉普拉斯特征向量构成的傅里叶基,能够将图信号投影到正交空间中,在这些空间中不同频域可以发现用户与项目之间不同类型的连接信息。能够动态调整每个频域对推荐系统来说是非常重要的。通过借助于卷积定理的思想,本文将其应用于推荐系统,探索空域转换到谱域之间的潜在关联性信息,卷积定理式如式(8)所示

f1(t)*f2(t)=f-1[F1(w)·F2(w)]

(8)

式中:f(t) 为输入信号,f2(t) 为卷积核,则对应的图卷积的输入信号为x, 卷积核为gθ, 则图卷积过程如式(9)所示

gθ*x=f-1(f(x)⊙f(g))=U(UTx⊙UTg)

(9)

(10)

2.8 局部滤波器多项式参数化

滤波器有两个限制,首先它们不是在空间中被局部化的,其次是它们的学习复杂性为O(n), 当节点数量过于庞大的时候,会影响数据加载的速度和模型训练的时长。上述两个问题可以通过使用多项式滤波器来克服,如式(11)所示

(11)

式中: (gθ(L)δm)p=(gθ(L))m,p=∑kθK(Lk)m,p表示以顶点m为中心的滤波器gθ在顶点p处的值,参数θ∈RK是一个多项式系数的向量,其中卷积核通过与克罗内克函数δm∈Rn的卷积进行局部定位,当dG(m,p)>K, 意味着(Lk)m,p=0,dG表示最短路径,即图上连接两个顶点的最小边数。因此,用拉普拉斯矩阵的k阶多项式表示的光谱滤波器恰好是k邻域的。此外,学习复杂度为O(K), 即滤波器的支持大小。

2.9 快速滤波的递归公式

(12)

(13)

2.10 切比雪夫简化

当切比雪夫多项式的阶数为1的时候,对应的卷积核也就只有一个参数,如式(14)所示

(14)

则可以得到经过谱域图卷积后如式(15)所示

(15)

进一步简化,使得每个卷积核只有一个可学习的参数。θ0=θ1=θ, 如式(16)所示

(16)

(17)

2.11 可学习参数优化

用户和项目的输入xu∈R|u|×1和xi∈R|I|×1变换为了一个C维的图信号,xu∈R|u|×c和xi∈R|I|×c, 为了便于计算,降低循环的复杂性,将卷积滤波器推广变换为一个带有C个输入通道和F个滤波器的卷积滤波器矩阵Θ∈RC×F, 因此,最终的光谱卷积操作如式(18)所示

(18)

式中:xu∈R|u|×c和xi∈R|I|×c分别表示从用户和项目的谱域使用F滤波器学习的卷积结果;σ和xi∈R|I|×c表示逻辑回归函数,前馈的流程如图3所示。

图3 chebyshev-SCF卷积信号处理流程

2.12 多层叠加

(19)

为了利用来自Chebyshev-SCF的所有隐藏层内的特性,本文进一步将它们连接到用户和项目的最终潜在因素中,如式(20)所示

(20)

式中: Φu∈R|u|×(C+KF)和Φi∈R|i|×(C+KF)。

在损失函数方面,采用了常规BPR损失,BPR为无偏成对损失函数,一般用于隐式项目的推荐,与逐点损失函数有所不同,通过BPR生成一个三元组 (r,j,j′), 其中j表示被用户r喜欢/点击/查看过的项目,而项目j′则表示未被用户r喜欢/点击/查看过的项目。通过最大化j和j′之间的偏好差 (r,j,j′), 给定一个用户矩阵Iu和项目矩阵Ii如式(21)所示,chebyshev-SCF的损失函数如式(21)所示

(21)

式中:pos和neg表示用户和项目的潜在因素,λreg表示正则化项的系数,训练的数据如式(22)所示

(22)

2.13 优化函数与预测结果

本文使用的优化算法为Adam[10],是一种自适应估计的优化方法,因其对内存占用率较低,计算耗时低,方法简便,该方法计算不同参数下的个体自适应学习速率是通过梯度的不同阶而实现的,Adam名字来源于自适应矩估计。该方法结合了两种方法的优点:AdaGrad[11],它在稀疏度上效果显著,RMSProp,它在在线和非平稳设置下效果明显,此外Adam对梯度的对角线缩放不变非常适合于数据和/或参数较大的问题。该方法也适用于非平稳目标和非常噪声和/或稀疏梯度的问题,而且超参数有直观的解释,通常不需要调优。

2.14 算法设计

步骤1 输入用户-项目隐式矩阵R, 邻居矩阵W, 批尺寸B, 迭代次数E, 潜在因素维度C。 卷积核层数F, 学习率lr, 正则化系数λreg。

步骤2 构建用户与项目的隐式反馈矩阵,并通过高斯混合函数N(0.0001,0.0002) 来获取初始Xu,Xi的数值,保证初始数据分布的稳定性。

步骤3 在数据集中采样的批次大小为B, 获取向量,循环迭代E次。

步骤6 通过反向传播算法优化梯度。

步骤7 通过Adam算法更新梯度。

3 实验及结果分析

3.1 数据集

MovieLens-1M:该电影评级数据集已被广泛用于评估协同过滤算法。我们使用的版本包含1 000 209个评分,来自3900部电影。该数据集是一个具有显式反馈的数据集,本研究利用隐式数据,所有项目均被调整为0或1两种数值,表示用户是否对该项目进行了评级。经过转换后,本研究保留了一个密度为1.0%的数据集。

3.2 对比方法

为了验证chebyshev-SCF的有效性,本研究将其与7种具有代表性的模型进行了比较。

eALS[12]:这是一种基于矩阵分解的项目推荐方法。该模型将所有未观察到的交互作为负实例,并根据项目的受欢迎程度对其不均匀地进行加权。

NCF[5]:神经协同滤波,融合矩阵分解和多层感知器(MLP),从用户与项目交互中学习。MLP赋予了NCF建模用户和项目之间的非线性能力。

GCMC[9]:图卷积矩阵补全,利用图自动编码器来学习用户和项目的潜在因素,即二部交互图的连通性信息。

SpectralCF[13]:一种直接在谱域上进行卷积的协同过滤算法,改进用户冷启动问题。

NGCF[14]:一种在用户与项目交互图上采用了3个GNN层,旨在通过最三跳邻居的信息来细化用户和项目表示。

Light-GCN[15]:是一种基于GNN的CF方法,能够选择GCN作为聚合技术,选择身份函数作为激活,即去除非线性计算,选择Mean作为层组合函数。

DGCF[16]:一种解纠缠GNN模型,它利用邻居路由和嵌入传播来解开图边后的潜在因素。

3.3 参数设置

本文所需要的重要参数数值见表1。

表1 参数设置

3.4 评估方法

理想情况下,推荐模型不仅应该能够从所有项目中检索所有相关项目,而且还能够对推荐系统的准确度进行度量。因此,在本实验中,使用Recall@20和P@20 (Precision)来评估推荐系统的性能。使用Recall@20来测量从所有相关项目中检索到的相关20个项目的比例。P@20 (Precision)表示前20个项目中正确推荐的项目的数量。

3.5 实验测试

在本文提出的方法中,卷积层数、图信号维度、滤波器层数对该方法最终的性能有着重要的影响,因此,本研究对有关联的参数K,C,F进行取值验证。在数据集中,本研究选取训练集为每个用户相关的80%的项目,测试集为所有其余的项目,并使用来自每个数据集的训练集的验证集来寻找最优超参数。

首先调整滤波器数,本研究发现,当滤波器数量在18~24之间的时候,对算法效率的影响明显不同,并且在数量为22的时候可以得到评估指标的最大值,如图4所示。

图4 MovieLens-1M数据集滤波器F对Recall@20和Precision@20的影响

对于每个评估场景,本研究用不同的随机选择的训练集重复评估5次,并在以下章节中报告性能。本研究将K的范围确定在2~6之间,C的范围为10~26之间,F的范围为16~24,将相关实验数据统计见表2。

表2 算法chebyshev-SCF在不同权重下的Recall@20值

从图5中可以看出,在数据集MovieLens-1M上进行验证以后,本文所提出的算法chebyshev-SCF相比其它7种算法,性能是最好的。相比算法eALS、NCF、GCMC、

NGCF、Light-GCN、DGCF,在召回率上均有大幅度的提升,并且与谱域最前沿的推荐算法SpectralCF相比,也有了3%的提升。对于准确率的提升,与eALS、NCF、GCMC、NGCF、Light-GCN、DGCF相比,性能依旧是最佳的,因此算法chebyshev-SCF在冷启动环境下的推荐效果是最好的。经过分析,之所以可以取得这样的效果是因为算法chebyshev-SCF能够直接在图谱域内进行卷积运算,不仅能依靠图独特的性质,优化邻接矩阵潜在属性,从而挖掘图的邻近信息,而且还能够揭示隐藏在图中的连通性信息,借助于精简的卷积方式,简化特征分解,达到快速发现用户和项目间深层联系的目的,对缓解CF冷启动问题效果显著。

3.6 实验结果分析

性能一验证:chebyshev-SCF在谱域可以挖掘到的隐性连通性信息究竟有多少?

在图5中,本文提出的算法chebyshev-SCF与两种基于CF的经典模型和5种基于图的模型进行了对比。总的来说,chebyshev-SCF能够产生最佳性能。在基于图的传统模型中,Light-GCN在数据集中的性能是最差的,虽然Light-GCN对GCN中的特征转换和非线性激活进行了简化,只保留邻域聚合的部分,并且取得了一定的进步,但是对于小型数据集效果并不好。对于NGCF。在基于CF的模型中,NCF和eALS的性能都要好于其它基于图的模型,虽然GCMC直接在用户与项目二部图上执行卷积操作,但图中的每个顶点只允许向它的邻居学习,这限制了它在图中捕获全局结构的能力。由于NCF具有建模用户与产品之间非线性关系的能力,因此它击败了所有其它模型,成为最强大的模型。然而,以上的模型均不能直接在光谱域进行推荐,唯独chebyshev-SCF能够以一种独特的方法,在谱域空间中挖掘用户和项目的关联性,为缓解用户冷启动问题效果显著。

图5 召回率对比

性能二验证:chebyshev-SCF在谱域中可以学习到的有效性信息有多少?

在图6中,本文提出的算法chebyshev-SCF与P@20中的所有比较模型进行了比较。同样,chebyshev-SCF总是产生最好的性能。简化的Light-GCN在所有模型中表现依旧最差,进一步显示了该模型不适用于小型数据集。与NCF和eALS相比,基于图的模型再次未能显示出令人信服的排名表现。对于基于CF的模型,NCF在数据集上的表现优于eALS模型。总的来说,如图5和图6所示,当数据集变得稀疏时,所有模型的性能都会下降,这是确定的。然而,无论数据集的稀疏性如何,chebyshev-SCF总是优于所有的比较模型。通过与传统基于CF的模型的比较,本文验证了在谱域隐藏的丰富的隐性连通性信息有助于chebyshev-SCF更好地学习用户和物品的潜在因素。通过比较chebyshev-SCF和基于图的模型,实验结果表明chebyshev-SCF可以有效地从谱域中学习用户和项目潜在性关联信息,未来可以通过改变谱图卷积方式来进一步提升模型的能力,如谱图注意力网络[17](graph attention network,GAT)以及通过变换波形的图谱小波神经网络[18](graph wavelet neural network,GWNN),还有简化谱卷积神经网络(simple spectral graph convolution,S2GC)[19],都为未来运用谱卷积神经网络提供了新的思路,未来将这些方法运用于推荐系统,拥有非常广阔的前景。

图6 准确率对比

性能三验证:chebyshev-SCF对时间的性能提高有多少?

本文提出的算法chebyshev-SCF与最具有代表性的谱卷积方法SpectralCF相比,模型运行的效率大幅度提升,训练时间大大减少,SpectralCF虽然是谱域最为前沿的算法,但是在训练数据的过程中因其需要计算大量的特征值和特征向量,而使模型训练时间大幅度增加,通过简化卷积过程,设置新的深度前馈神经网络,从而能够省略拉普拉斯复杂的特征分解,经过实验验证,chebyshev-SCF在据集上训练数据所用的时间为SpectralCF训练时间的八分之一,训练时长对比如图7所示。

图7 训练时长对比

4 结束语

在谱域中存在的隐性连通性信息对推荐系统中建立用户和项目之间的联系意义重大。本文提出了一种基于切比雪夫优化的谱卷积推荐算法,不仅可以省略拉普拉斯矩阵复杂的特征分解,达到直接从谱域学习用户和项目的潜在因素的目的,还能提升模型效率,减少模型训练时间。实验结果表明,所提出的方法优于其它先进的算法。未来可以通过改变谱卷积方式来进一步提升模型的性能。

猜你喜欢

滤波器卷积矩阵
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
从滤波器理解卷积
开关电源EMI滤波器的应用方法探讨
基于傅里叶域卷积表示的目标跟踪算法
一种微带交指滤波器的仿真
多项式理论在矩阵求逆中的应用
基于TMS320C6678的SAR方位向预滤波器的并行实现
矩阵
矩阵