推荐系统 - SR GNN架构详解(包含图神经网络GNN和门控图神经网络GGNN的介绍)

说明

1.SR-GNN是中科院提出的一种 基于会话序列建模的推荐系统,这里所谓的会话是指用户的交互过程(每个会话表示一次用户行为和对应的服务,所以每个用户记录都会构建成一张图),这里说的会话序列应该是专门表示一个用户过往一段时间的交互序列。 基于会话的推荐是现在比较常用的一种推荐方式,比较常用的会话推荐包括 循环神经网络、马尔科夫链。但是这些常用的会话推荐方式有以下的两个缺点:

       (1)当一个会话中用户的行为数量十分有限时【就是比较少时】,这种方法较难捕获用户的行为表示。比如使用RNN神经网络进行会话方式的推荐建模时,如果前面时序的动作项较少,会导致最后一个输出产生推荐项时,推荐的结果并不会怎么准确。

       (2)根据以往的工作发现,物品之前的转移模式在会话推荐中是十分重要的特征,但RNN和马尔科夫过程只对相邻的两个物品的单项转移向量进行 建模,而忽略了会话中其他的物品。【意思是RNN那种方式缺乏整体大局观,只构建了单项的转移向量,对信息的表达能力不够强】

2.因为SR-GNN主要基于图的思想,所以我首先详细介绍了GNN和GGNN的建模和训练过程,之后开始介绍将GNN用于会话推荐的SRGNN部分,如果已经熟悉GNN,可以直接跳过 前置知识 部分。

前置知识

1.SR-GNN主要是基于图的建模方式,对于推荐场景,我们确实能够把用户对商品项的点击序列构建成图的形式,但是当我们构建成转成图的形式后,又怎么对图结构的信息加以利用呢? 现在比较热门的基于深度学习的GNN网络就是专门用于处理图类型数据,该网络的目标是学习每个节点的 embeding表达hv【做图中结点和图的表示,映射成向量表达在加以利用做各种任务】,而该节点的表达由该节点的特征、与该节点连接的边的特征、该节点的邻居表示、它邻居节点的特征  计算得到的【说白话点,GNN会从图结构中学习到每个节点的embedding向量表示,相当于是利用了这个节点的图位置关系、节点上的相似性关系、节点交互关系 进行结点往高维空间的语义封装,获得类似word2vec那样的词向量表示】,这里的f包装函数是由GNN学习到的。

                                                 

      当我们获得每个节点进行封装后的embedding向量后,就可以拿向量化的结果做自己特定的任务【类似于word2ve对句子向量化后进行使用一样】,而对于关注整个图的任务,可以通过将所有节点的表示做pooling 或者其他方法获得一个全局的表示信息来做相应的任务【接下来的SR-GNN就是对整个图的信息进行利用的,因为我们是把整个会话session包装成一个图,所以对session的整体趋势预测,当然要整个图都用,只不过对session不同时间点的向量化结点,会有不同的关注度】。

      这里提醒下,GNN是一类算法的统称,表示对图这种非欧几里得结构 数据的 神经网络的统称,其可以有不同的信息处理方式,可以进一步将GNN分为图卷积网络(GCN)、基于注意力更新的图网络(GAT)、基于门控更新的图网络、具有跳边的图网络,之后的文章中会进行介绍。

                      

 

2.在SRGNN中所使用到的图网络是基于门控更新的图神经网络,所以在此处首先对该网络进行介绍下,内容可参照:https://zhuanlan.zhihu.com/p/28170197,接下来的内容是我个人的一些理解。

对图的介绍也可以分成两部分,首先是对传统GNN结构过程的介绍、之后是对 对应的门控更新图网络 GG-NN的介绍。

       (1)首先说下GNN网络的目的,学会对图中每个结点的合适向量化表达【从图关系空间转到高维空间使用 指定长度的向量进行表达】,那如何获取表达向量呢,可以理解为三部曲:

                     * 首先 组织好图 数据【使用一定的方式进行存储,比如邻接表、邻接矩阵】、

                     * 将图矩阵输入到图 网络中,进行传播的过程【对结点向量随时间进行更新】

                     * 第三步是 根据最终的结点表示得到目标输出的过程【根据训练任务,产生指定的输出,比如某个结点的类别、或者整个图的预测输出、不同的任务当然要有适应的向量转换形式】。

        对应上面所说的三部曲,可以得知我们需要首先明确的东西:

                     * 需要确定好对图结构进行存储的形式,毕竟之后输入到图网络的信息都是从中提取出来的。

                     * 需要明确

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值