推荐系统研究专区

基于图的推荐算法(4): Graph Convolutional

2020-12-08  本文已影响0人  阿瑟_TJRS

前言

摘要

针对用户-物品交互二部图,文中从链路预测的角度考虑了推荐系统的矩阵填充问题。
基于图结构化数据深度学习的最新进展,我们提出了一种在二部图上可微消息传递的图自动编码框架(Graph Auto-encoder)。

模型方法

本质上就是将推荐任务视为一个图中节点间预测链接的任务(Link Prediction),预测交互矩阵中未知项。

以往的基于图的推荐系统方法通常采用多级流水线,包括图特征提取模型和链接预测模型,分别进行训练。然而,最近的研究结果表明,通过使用端到端学习技术对图形结构化数据进行建模,特别是使用图自动编码器进行非监督式学习和链接预测,结果往往可以得到显著改善。

在接下来的部分,我们将介绍一种用于矩阵完成任务的图形自动编码器的具体变体。

1. Graph Auto-encoder 回顾

Graph Auto-encoder是在无向图上的一种用于非监督学习和链接预测的端到端模型:Z=f(X,A),输入N \times D 的特征矩阵X和图的邻接矩阵A ,输出新闻的节点特征嵌入矩阵Z=[z_1,...,z_N]^T

对于推荐算法中的二部图,编码器可以定义为:

其中M_r \in \{0,1\}^{N_u \times N_v}是邻接矩阵,记录其中评分值都为r的节点邻接情况。 因此可以将针对二部图的编码器定义为:

我们可以训练这个自动编码器,通过最小化重构误差。

2. Graph convolutional encoder

文中提出了一种特殊的编码器模型,它能够有效地利用图中各位置之间的权重分配,并为每个边类型(或等级类型) 分配独立的处理通道

权重分配的形式是受到最近一类卷积神经网络的启发,这类网络直接对图结构化数据进行操作。
图形卷积层执行局部操作,只考虑节点的直接邻居,因此同样的转换应用于图中的所有位置。

这种局部图卷积可以视为一种信息传递(Message Passing),节点特征可以通过边进行传递,文中为每个评分级别设计了一个特定的转换方式,从物品j到用户i的边信息表示如下:

其中c_{ij}为正则化常量: W_r则是边参数矩阵,x_j^v即物品节点的特征向量。 在信息传递后,通过累计操作(accumulate)如加和、拼接等操作,将当前节点所有邻接不同评分级别的节点信息进行聚合: 最终节点表征如下:

对于用户和物品节点采用不同卷积参数,共用最后的全连接参数;在实践中,仅使用单层卷积和单层全连接的组合构成模型。

3. Bilinear decoder

为了预测二部交互图中的链路,文中构建了一个双线性解码器,并将每个等级作为一个单独的类

解码器通过双线性操作,然后应用softmax最大激活函数,生成可能的评分级别:

其中Q_r是对应第r个评分级别的参数矩阵,最终的预测评分可以通过预测评分期望计算得到:

4. 模型训练

只根据用户已经观察到的交互项。

其他训练细节:

作为双线性解码器正则化的一种有效手段,我们采用一组线性组合矩阵的形式来进行权重共享,与上面的形式基本相同通过累加来进行权重共享,如下所示,为了避免引入过多参数,n_{b}要小于评级数量:


此外文中还考虑了辅助信息的使用:

实验结果




小结

这篇工作基于图神经网络的思想,将推荐任务转换为评分预测任务,并针对具体任务设计了auto-encoder进行端到端的特征提取和评分预测;与前面介绍的三篇工作有着较大差异,后续也有相似研究开展。

END

本人简书所有文章均为原创,欢迎转载,请注明文章出处 。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问本人简书主页查看最新信息https://www.jianshu.com/u/40d14973d97c

上一篇下一篇

猜你喜欢

热点阅读