美文网首页推荐系统研究专区
基于图的推荐算法(4): Graph Convolutional

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

作者: 阿瑟_TJRS | 来源:发表于2020-12-08 11:32 被阅读0次

    前言

    • 发表在KDD2018的基于GNN思想进行协同过滤的算法
      原文链接
    • 作者来自提出GCN的团队

    摘要

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

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

    其他训练细节:

    • mini-batching 只从用户和项目对的集合中抽取固定数量的贡献。是一种有效的正则化方法,又减少了训练模型所需的内存。通过实验验证了在调整正则化参数的同时,使用小批量和全批量训练可以得到 MovieLens-1M 数据集的可比结果。

    • Node dropout 对节点向量进行dropout,为了使该模型能够很好地推广到未被观测的评级,它通过随机丢弃一个特定节点的所有传出消息的降噪设置进行训练。初步实验发现节点丢失比消息丢失更有效地进行正则化。message dropout对于单个发出的消息被独立地删除,使嵌入对于单个边的存在或不存在更加强大。相比之下,节点丢失也会使得嵌入更加独立于特定用户或项目的影响。

    • weight sharing 并非所有用户和项目对于每个评级级别都有相同数量的评级。在图形卷积层中,这导致W_r的某些列被优化的频率明显低于其他列。因此,对于不同的 r,矩阵之间某种形式的权重共享是可取的,以减轻这种优化问题。

      将这种类型的权重共享称为序数权重分担,因为更高的评级包含了越来越多的权重矩阵。

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


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

    实验结果




    小结

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

    END

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

    相关文章

      网友评论

        本文标题:基于图的推荐算法(4): Graph Convolutional

        本文链接:https://www.haomeiwen.com/subject/jghxgktx.html