图神经网络在物品推荐算法中的研究与应用.docx

上传人:封****n 文档编号:96762745 上传时间:2024-03-19 格式:DOCX 页数:64 大小:1.17MB
返回 下载 相关 举报
图神经网络在物品推荐算法中的研究与应用.docx_第1页
第1页 / 共64页
图神经网络在物品推荐算法中的研究与应用.docx_第2页
第2页 / 共64页
点击查看更多>>
资源描述

《图神经网络在物品推荐算法中的研究与应用.docx》由会员分享,可在线阅读,更多相关《图神经网络在物品推荐算法中的研究与应用.docx(64页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 摘要随着深度学习和机器学习的发展,在推荐领域中也涌现出很多利用相关技术进行推荐的方法,这些方法往往利用用户以及商品信息实现端到端的推荐系统,提升了推荐的性能和效率。在这个过程中,更多新颖的方法被提出以解决推荐的基本难题,从而拓宽推荐系统的性能边界。其中最重要的一点就是通过引入新的数据或者新的数据处理的方法,来提升原有推荐模型的性能。同时,在自然语言处理中,知识图谱这一种数据存储形式越来越受到研究人员们的重视,许多的研究和工作都证明了在知识图谱上进行表达可以获得许多隐含的信息和内容,从而应用于下游的相关工作。本文关注图谱以及类似的图数据在推荐领域中的应用,研究图神经网络的方法来实现端到端的推荐

2、系统,并提升推荐性能。具体来说,本文基于前人的研究成果,提出了一种图神经网络模型,结合tucker分解进行知识表示,实现基础的物品推荐算法。Tucker分解是一种针对图谱,添加了关系信息的矩阵分解方法,比普通的矩阵分解能更加有效地提取图谱数据的表达。同时,图神经网络,比一般的方法更适合处理图数据这种非欧式数据,从而能更加有效地整合图上信息,最终实现了对于推荐能力的提升。 为了更加方便有效地评估模型的有效性,本文基于相关的研究成果KGAT所使用的公开数据集进行实验和评估,并采用同一套评价指标来说明本文研究的重要性和优越性。实验结果表明,本文所提出的模型在同样的评估标准上超越了其他几个基线模型的表

3、现。关键词:推荐算法,图数据,图神经网络,tucker分解iAbstractWith the development of deep learning and machine learning, there are many methods of recommendation using deep learning technology in the field of recommendation algorithm. These methods use user and item information to realize the end-to-end recommendation sys

4、tem, which greatly promotes the development of recommendation algorithm. In this process, more novel methods are proposed to solve the basic problem of recommendation, so as to broaden the performance boundary of recommendation system. The most important point is to improve the performance of the or

5、iginal recommendation model by introducing new data or new data processing methods. At the same time, in natural language processing, knowledge graph, a data storage form, has been paid more and more attention by researchers. Many researches and works have proved that the expression of knowledge gra

6、ph can obtain a lot of implicit information and content, which can be applied to the downstream related work.This paper focuses on the application of graph and similar graph data in the field of recommendation, studies the method of graph neural network to realize the end-to-end recommendation syste

7、m and improve the recommendation performance. Specifically, based on the previous research results, this paper proposes a graph neural network model, combined with Tucker decomposition for knowledge representation, to achieve the basic algorithm of item recommendation. Tucker decomposition is a matr

8、ix decomposition method which adds relation information to the graph. It can extract the expression of graph data more effectively than the common matrix decomposition. At the same time, the graph neural network is more suitable than the general method to deal with the non Euclidean data such as gra

9、ph data, so it can integrate the information on the graph more effectively, and finally achieve the improvement of recommendation ability.In order to evaluate the validity of the model more conveniently and effectively, this paper conducts experiments and evaluations based on the relevant research r

10、esults - the open data set used by KGAT, and uses the same set of evaluation criteria to illustrate the importance and superiority of this study. Experimental results show that the model used in this paper outperforms other baseline models in the same evaluation criteria.Keywords:Recommendation algo

11、rithm, Graph data, Graph neural network,Tucker decomposition iii目录摘要iAbstractii图目录III表目录IV第1章 绪论11.1 课题背景11.2 国内外相关研究21.2.1 一般推荐任务概述21.2.2 图上推荐方法概述31.2.3 图神经网络在推荐上的应用41.3 GNN进行推荐的挑战51.4 针对挑战所进行的工作51.5 论文的结构安排6第2章 图推荐相关的背景知识72.1 理论的知识背景72.1.1 图神经网络72.1.2 图谱的表示学习142.1.3 推荐算法介绍182.2 开源框架的介绍202.2.1 DGL

12、开源图神经网络框架202.3 本章小结21第3章 基于Tucker分解增强的GAT物品推荐模型223.1 任务的详细定义223.1.1 数据的抽象结构223.1.2 推荐的具体方式243.2 模型方法的说明243.2.1 模型整体介绍与思考253.2.2 知识表示进行预处理273.2.3 模型结构的具体设计283.3 本章小结34第4章 实验设计与结果分析354.1 基准方法概述354.1.1 其他图神经网络方法354.1.2 经典方法364.2 评价指标374.3 整体代码设计384.4 实验流程404.4.1 数据源的分析介绍404.4.2 数据预处理与构图414.4.3 模型构建参数选择

13、424.5 结果分析444.6 本章小结47第5章 总结与展望485.1 全文总结485.2 未来展望48参考文献50作者简历54致谢55III图目录图 2.1 GraphSAGE 的基本流程11图 2.2 图上注意力机制12图 2.3 RGCN的基本工作原理14图 2.4 三种Trans方法的投影16图 2.5 Tucker分解的核心计算公式示意图17图 2.6 PinSage 核心伪代码流程19图 2.7 DGL框架消息传递基本示意图20图 3.1 CF侧数据与KG侧数据的示意图23图 3.2 三种构图方式结构和所包含信息上的区别24图 3.3 模型方法整体概述25图 3.4 一阶的共同行

14、为26图 3.5 二阶的共同行为26图 3.6 采样的策略34图 4.1 代码整体框架38图 4.2 两种模型初始化与不初始化训练的情况对比图45图 4.3 注意力熵值的比较47表目录表4.1 数据源边数与节点数统计表40表4.2 具体数据表40表4.3 TkGAT与其他GNN方法实验结果对比44表4.4 模型在不同超参下的实验对比结果44表4.5 模型与其他基准模型的实验对比结果45表4.6 采样做为正则手段的实验对比结果46VI第1章 绪论1.1 课题背景随着电商与网络娱乐产业的快速发展,为用户进行个性化推荐商品或者广告已经是互联网公司最重要的能力之一。在如今的互联网公司,各种推荐算法和工

15、程框架层出不穷,而为了拓宽推荐能力的边界,有越来越多新颖的模型与方法被用于推荐任务。随着近年来图神经网络的发展,对于图这样的非欧式数据的探索也越来越多,自然地也有许多研究人员将图神经网络应用到推荐相关的任务上。同时,利用图神经网络(Graph Nerual NetWork)1不光从方法上有别于一般的推荐算法,其可用的数据范围也扩展到了所有的图结构数据,而使用side information来增强推荐的能力,尤其是利用知识图谱的信息更是工业界和学术界都在探索的一个方向。基于此,本文将立足于开源数据集和公司的业务数据,研究如何在知识图谱等图结构数据上,更好地利用图神经网络实现推荐任务。具体来说,如

16、今的推荐算法,通过这几年的不断发展,已经利用深度学习的技术获得了长足的进步。越来越多的工作也说明了深度学习技术在推荐算法中的可行性和重要性。例如由YouTube在2016年提出的这一架构2,可以算是深度学习在推荐中工业落地的一个最佳范例,后来在国内的电商推荐环境中,也基本采用了这种形式。后续更多的推荐模型被提出,这些模型或从经典的FM3算法脱胎而来;或是引入了注意力机制,例如根据当前用户历史行为对用户的兴趣进行捕捉的DIN4、MIND5等算法;以及利用CNN机制进行推荐的DeepCoCNN6模型。但上述模型的改进更多的是研究模型本身对于推荐性能的提升,并不关注数据本身的特性。因此,更多的研究开

17、始关注于使用更加新颖、更加先进的深度学习技术来提升现有推荐算法的边界,这其中比较重要的一个工作就是利用图谱数据进行推荐任务。例如,基于图的推荐工作,首先是将用户和物品的交互行为表示为图结构或者网络结构,然后利用图上的表示学习来表达节点或者边的语义信息。更进一步,使用图谱进行推荐比较经典的做法是基于路径的推荐方法78。在这里,本文选择采用的方法是图神经网络。基于深度学习的方法,在图上进行卷积从而对图数据进行处理,以发掘其规律和特征,这类模型被统称为图神网络(GNN)。GNN的一个发展方向,是借鉴CNN的思路,如何在图上进行卷积从而实现图上的卷积神经网络是GNN重点需要解决的问题。而GNN的一个很

18、重要的作用和知识表示类似,是图上节点和边的稠密低纬表示。本文所要做的工作就是在充分研究了已有GNN相关成果的基础上,提出一种合适的模型,在公开数据集上完成相关的推荐任务,并取得推荐性能的提升。1.2 国内外相关研究1.2.1 一般推荐任务概述从历史的发展来看,推荐系统的研究起源于国外,可以追溯到1994 年明尼苏达大学 GroupLens 研究组推出的 GroupLens 系统9,该系统首次使用了协同过滤的算法为user推荐item,并且为后面的推荐系统建立了一个形式化的模型框架。而当今工业界,往往会将推荐系统分成matching和ranking两个阶段来实现,即对应了粗排和精排。这一架构源于

19、论文2,由YouTube于2016提出。在国内的电商推荐环境中,也基本采用了这种形式。自1994年开始协同过滤算法应用在推荐系统以来的二十多年间,协同过滤依然是推荐的核心思路之一。所谓协同过滤就是基于群体的信息,对个体信息进行过滤。协同过滤推荐算法基本可以分为基于用户、基于物品以及基于模型三类。基于用户的协同过滤最早就是由文章9提出,它的核心思路是相似用户之间对于物品的喜好可能相同。基于物品的协同过滤则是由亚马逊于2001年提出10,它的核心思路则是喜欢A物品的人也会喜欢与A相似的物品B。基于模型的协同过滤可以大致分为基于矩阵分解的方法与基于分类模型的方法。SVD奇异值分解是数学上的一种比较经

20、典的矩阵分解方法,可以将一个矩阵表示成三个矩阵相乘。而SVD+则是不光利用用户的评分矩阵,也引入了用户的行为矩阵,从而使得信息更加完善和稠密11。除了直接拟合矩阵值的矩阵分解之外,还有一种基于排序的矩阵分解形式。它的核心思路在于用户对于一个正例商品与一个负例商品,应该使得对于正例的评分高于负例。BPR12就是这样的一个方法,通过构造正负样本对的损失函数,使得user和item最终的隐式表达的乘积互相远离,实际上后来很多的推荐模型,都会使用类似的损失函数。基于分类模型的方法中比较经典的算法是分解机(FM)算法,该算法在工业界往往应用于ranking阶段。FM算法13通过引入特征的二阶项,从而缓解

21、特征稀疏的问题,同时将二阶项的权重分解成两个向量的乘积,因此即便在稀疏特征下也能训练该权重。FM在之后又有FFM14、DeepFM15等变种,是推荐在精排阶段非常重要的算法之一。而随着深度学习的发展,也有越来越多利用深度学习技术实现的经典的推荐算法,例如NCF16、PNN17、DSSM18、Wide&Deep19等算法模型。其中DeepFM15是将Wide&Deep中的Wide部分替换成了FM,然后利用FM实现特征的自动交叉。而Deep部分则建模特征间的高阶关联,从而优化了原来的FM算法。后续还有优化的xDeepFM20、NFM21等算法。同时,引入注意力机制,实现根据当前用户历史行为对用户的

22、兴趣进行捕捉,也是DIN、MIND等算法的核心思路。 这些算法在推荐的召回阶段发挥了不小的作用。此外,还有利用CNN实现的推荐模型,例如DeepCoCNN。1.2.2 图上推荐方法概述基于图的推荐工作,是与本研究内容密切相关的一部分工作。将用户和物品的交互行为表示为图结构或者网络结构,然后利用图上的表示学习来表达节点或者边的语义信息是图上推荐的一般做法。在这里可以将其分成两类:单纯的表示学习与引入KG的推荐模型。单纯的表示学习其基本思路是参照NLP技术中word2vec的方法,通过SkipGram算法来学习节点之间共现的隐式表达。具体来说,可以从一个节点出发,通过随机游走的方式,找到一批认为与

23、这个点相似的点,通过这种共现学习节点的Embedding表示。这种稠密的低维度表示可以在matching阶段表示商品与商品之间的相似度,也可以在ranking阶段作为特征输入到更复杂的模型中用于精排。DeepWalk22被认为是第一个利用NLP中Embedding的技术来学习节点表示的方法;而LINE23则是在方法22的基础上引入了不同与邻接相似的二阶相似,拓宽了节点相似的范围,使得节点的表达更加抽象。Node2Vec24则是在方法22的基础上通过引入了更加灵活的随机游走方式,同时也能对高阶的相似进行建模。上文的模型都只考虑了同构图的情况,而对于异构图Metapath2Vec25则提出了利用元

24、路径来指导随机游走的策略,从而学习节点表达。使用图谱进行推荐比较经典的做法就是上文提到的异构图推荐的做法,即基于路径的推荐方法2627。该类方法将知识图谱构建成一张异构信息网络,然后构造物品之间基于meta-path的特征,但这种方法的缺点也很明显,人为地构造meta-path的工作量过于繁琐,且难以普适地应用于各种场景。近年来研究人员对于如何将图谱数据应用于推荐也有很多探索和尝试,本课题的核心内容也在于探究如何利用图神经网络将例如知识图谱这样的图数据应用到推荐任务中。1.2.3 图神经网络在推荐上的应用正如上文所言,图上的推荐任务已经颇有成效。自然地,随着图神经网络的兴起,许多研究人员开始尝

25、试利用图神经网络模型来训练端到端(End-to-End)的推荐系统,以充分挖掘图数据的潜力和价值。PinSage28是GCN方法在工业界的一次很好的落地实现,该算法通过random walk和GCN来生成涵盖了图结构信息和节点特征的节点嵌入表示,其主要的改进点在于对于利用随机游走生成子图,并在子图上进行GCN的操作,这样大大节省了内存开销;同时推荐向的训练则是参考了BPR12的损失函数,最大化正负样本的得分差。GCMC29是利用图生成的方法来实现推荐的方法。它的主要想法就是将用户和物品的交互构建成图中的边,然后通过随机掩盖边的方法,让模型学习用户和物品之间存在边的概率。通过这种方法,GCMC将

26、原先的推荐任务转变了成了图上的链接预测。且它的训练过程是将原图进行嵌入之后再让模型尝试还原,因此也是Auto-Encoder框架的一个很好的应用。KGAT30、KGCN31是最近一段时间里比较明确地利用GNN方法将知识图谱应用推荐任务的两种方法。KGAT30应用GAT的思想对图谱数据进行了操作。 Item本身是图谱中的实体,而User和Item可以通过是否行为构建出一条边,因此通过这条边可以将User引入现有的图谱图中,从而构建了一张CKG(协同知识图谱)。主要思路是通过GAT对User和Item Embedding化,然后训练BPR损失,这是属于CF训练的一部分。而图谱的方法中同时引入了Tr

27、ansR,TransR训练出来结果作为CF训练中注意力权重的来源,也就是在Trans算法中更接近的实体之间,其注意力值要相对高一些。KGCN31将GCN方法应用到图谱上,但说是GCN的方法,实际上也是一种注意力模型。它为每一个用户针对每一个关系都生成了不同的注意力权重,这就从某种程度上实现了每个用户对于商品的关注点都有所不同,这也应该是做User-Item交互预测的核心思路。不过这样使得模型训练的成本大大提高,论文本身也采用了邻接采样的机制来降低训练成本,不过它做Attention的思路值得借鉴。可以预见,随着图神经网络和知识图谱的不断发展,会有越来越多的利用GNN实现个性化推荐的方法涌现出来

28、。1.3 GNN进行推荐的挑战图数据是一种隐含结构信息且内容丰富的数据,将其应用到推荐任务上,普通的方法可能并不能得到足够有效的结果;而利用GNN可以天然地使用图数据的结构信息,并将图上节点做更加丰富的表达。然而将GNN运用到推荐任务中仍需要克服以下几个问题:1. 图谱数据的结构和表达本文选择了使用NLP中的知识图谱数据来作为推荐的基础数据。从一方面来说,图谱数据对于推荐任务来说是非常宝贵的side information,可以从不同的维度很好地补充推荐任务需要的额外信息;从另一方面说,图谱数据也是非常典型的图数据,有着丰富的结构和边信息。而如何使用图谱数据,挖掘图谱数据隐含的特点和信息就成为

29、了本文所要解决的核心问题。GNN模型的选择和构建自然是一方面的难点,还有一方面的难点在于针对图谱数据本身,是否有比较通用的挖掘其信息表达的方式,从而增强GNN模型的能力,最终提升推荐的性能。2. 图模型的选择和构建显然,本研究的第二个难点就是如何选择和构建合适本推荐任务的GNN模型。总的来说,现有的许多GNN模型基本都是脱胎于GCN的基础框架,并在GraphSAGE 的改进之上继续发展而来的。简单地说,模型都基于两个阶段:即如何聚集节点的邻居节点信息以及聚合之后做何种处理。本文也将沿用这种模式,探究一种合适的聚合方式,使得该GNN模型能够在本问题上有较好的表现。问题的难点就在于,如何根据不同的

30、图谱表示方法,来更好地设计模型的聚合方式,以及通过不同的实验来证明,哪些模型结构更加适合本问题的解决。1.4 针对挑战所进行的工作 本文的任务是研究如何更好地实现在图数据上的物品推荐算法。该方法是在现有相关研究基础上,进行一次拓展和尝试的方法,主要进行的工作包括以下几点:(1)在已有推荐算法的基础上,尝试使用图神经网络的技术来实现图数据上的推荐。(2)图谱信息的表达:针对图谱这种特殊的图数据,利用不同的图表示学习的方法,来提取和挖掘图数据的信息,并将其与GNN模型进行有机的结合。(3)提出了一种基于tucker分解增强的GAT模型结构,以及尝试了其他不同类型的GNN模型及其相关变种。(4)利用

31、开源框架DGL和深度学习框架pytorch构建模型,完成实验代码,尝试上面提出的不同的想法并进行实验。(5)对于异构同构等图上问题,进行了不同的考量和实验,对于图数据的预处理做了充分的准备。1.5 论文的结构安排 本文研究的是利用图神网络进行物品推荐的任务,全文总共分成五个部分,具体的内容安排如下所示:第一章为绪论,阐述了本文的研究背景和国内外的相关研究情况,并对本研究的难点和主要工作做了简单的叙述。第二章则是将文本研究过程中涉及到的知识内容和模型方法做了统一的阐述,主要是围绕GNN模型、图数据表示方法、推荐算法和开源框架这几个方面展开的。第三章则详细介绍了本文提出的方法,一种基于tucker

32、分解的GAT推荐模型,详细说明了设计思路和模型的具体结构。第四章则是详细地说明了本文的实验环境,和实验设计的过程,对于具体的代码内容也有基本的概述。分析和阐述实验结果,利用表格以及一些图形化的展示,来说明研究的结果。第五章对本文的工作做了总结,并对未来的研究做了展望。6第2章 图推荐相关的背景知识2.1 理论的知识背景2.1.1 图神经网络图神经网络是最近几年以来兴起的一种基于图数据结构的广义神经网络架构。传统的深度学习模型,例如LSTM32和CNN,是在欧式空间的数据上进行训练,并取得了许多不错的成绩。但是对于非欧式空间的数据,例如社交网络、知识图谱这些有着非规则连边的数据,直接利用深度模型

33、有许多的局限性。针对这种问题,研究者们引入了图来表示非欧式数据,并利用深度学习的方法,在图上进行卷积从而对图数据进行处理,以发掘其规律和特征。GNN的一个发展方向,是借鉴CNN的思路,如何在图上进行卷积从而实现图上的卷积神经网络是GNN重点需要解决的问题。而GNN的一个很重要的作用和知识表示类似,是图上节点和边的稠密低纬表示,上文提到的DeepWalk和LINE说明了网络表示的有效性,但这些方法并不系统且计算复杂,GNN旨在解决这些问题1。GNN值得学习的根本理由有以下三点。第一,像上文所说的传统的CNN和RNN模型并不能很好地处理图数据的输入,因为它们的特征需要按照特定的顺序进行叠加,而图中

34、的点往往是无序的。如果为了完整地表达一张图,可能就需要把所有的顺序都作为输入,显然这是非常冗余且难以实现的。GNN解决这个问题的方法就是将特征在每个节点上进行传播,从而忽略了节点输入的顺序。也就是说,GNN的输出与节点输入的顺序是无关的。第二,传统的神经网络结构中,对于边信息是无法建模的,往往边信息会被简化成节点本身的特征信息,而GNN则可以通过图结构实现信息的传递,从而利用边信息进行特征的隐式表达。第三,图形数据本身是推理的一个非常重要的组成,人脑的推理过程几乎都是基于从日常经验中提取的图信息。尽管CNN可以很好的处理图片信息,而RNN在文本信息的处理中也有不俗的表现,但它们仍然不能从大型实

35、验数据中学习推理图,然而,GNN为探索这些非结构化数据生成图信息提供了一个新的方向和思路,从而可能演化出更进一步的高级人工智能。除此之外,一个未经训练的简单架构的GNN也被证明具有良好的性能,图结构本身成为了GNN模型的重要组成部分。2.1.1.1 Graph Convolutional Network (GCN)借助图的拉普拉斯的特征值和特征向量来研究图的基本性质,是GCN的理论基础。具体详细的理论研究并不是本文要讨论的重点,因此这里只是简单概述一下GCN理论的发展情况和核心内容。 首先是关于图上卷积的计算的推导,以下的内容来自于论文33的提炼和理解。图的拉普拉斯矩阵是指,对于图G=(V,E

36、),其拉普拉斯矩阵的定义为L=D-A,其中D表示整个图的顶点度矩阵,而A则表示了整张图的邻接矩阵。事实上,这只是拉普拉斯矩阵的其中一种定义,总的来说,图上的拉普拉斯矩阵一共有以下三种定义:1. L=D-A2. L= D-12LD-12 很多GCN的论文中使用的是这种定义3. L=D-1LGCN的核心就是基于图上拉普拉斯矩阵的谱分解,由于拉普拉斯矩阵是半正定的对称矩阵,因此它的特征向量相互正交,从而有如公式(2.1)所示的结论:L=U1 nUT(2.1)然后仿照传统的傅里叶变换的定义,可以得到图上的N维向量在图上的傅里叶变换定义,如公式(2.2)所示:Fl=fl=i=1Nfiul*(i)(2.2

37、)将其推广到矩阵形式,就可以得到如公式(2.3)所示的形式:f(1)f(N)=u1(1)u1(N)uN(1)uN(N)f(1)f(N)(2.3)也就是说,f在图上的傅里叶变换的矩阵形式如公式(2.4)所示:f=UTf(2.4)类似地,可以得到f在图上的逆傅里叶变换的矩阵形式如公式(2.5)所示:f=Uf(2.5)根据卷积定理,可以得到图上的卷积公式如公式(2.6)所示:(f*h)G=Uh(1) h(n)UTf(2.6)得到这个核心公式之后,就可以展开说明GCN的发展过程了。首先是第一代的GCN34,直接学习公式中的卷积核参数,也是就说它将上述的卷积公式,简化成了如公式(2.7)的形式:yout

38、put=(UgUTx)(2.7)其中,sigmoid是激活函数,表示神经网络中可学习的参数,U是拉普拉斯矩阵谱分解后列向量为单位特征向量的矩阵,而x则是节点上的向量表示。这种方法的问题在于每次计算的时候代价太大,需要计算三个矩阵的乘积,这三个矩阵的大小往往是顶点数的平方级别,同时模型自由度也过高。因此后来的一篇论文35对这个形式又做了进一步的改进,提出了一种多项式近似的方法来降低模型参数数量,并通过公式的推导和简化得到新的卷积公式,它的优点在于减少了模型参数,降低了过拟合的风险,同时新的公式也不再需要对图的拉普拉斯矩阵进行特征分解,具体来说,它将公式(2.6)中的h()设计成了如公式(2.8)

39、的形式:g=j=0Kj1j j=0Kjnj(2.8)将其代回公式中,可以推导得到:Uj=0KjjUT=j=0KjUjUT=j=0KjLj(2.9)于是,图上卷积的公式就被化简成了如公式(2.10)的形式:youtput=j=0KjLjx(2.10)但它依然需要对图的拉普拉斯矩阵做高阶幂次的计算,复杂度依然很高。为了降低计算的复杂度,可以利用切比雪夫多项式去近似卷积核,并可以通过K值控制一层卷积的感受野。而最具影响力的GCN论文36则是在上面的研究基础上,将切比雪夫近似中的K值控制在1的特殊形式,从而得到公式(2.11):g*x=IN+D-12AD-12x(2.11)至此,现在最常用的GCN模型

40、就已经诞生了,也就是切比雪夫多项式在一阶条件情况下的近似,并且假设特征值的最大值不超过2。GCN的作者希望这样假设的误差可以通过后续神经网络参数的训练来自适应;且通过堆叠多层的GCN,可以像图像中的CNN一样,扩大卷积操作的感受野。除此之外,它的优点就是计算上有了很大的改进。上面是从谱域的角度进行分析的GCN推导过程,事实上,将其转换到空域(顶点域)的角度来看,基础的GCN其实可以写成如公式(2.12)的形式:hil=jNi1ciWl-1hjl-1(2.12)其中,hil表示图上第i个节点,经过第l层模型后的嵌入表示。Ni表示与节点i邻接的节点,ci表示当前这个节点的归一化值,Wl表示当前这一

41、层的权重值。可以看到,GCN上信息进行聚合的方式其实很直观,即当前节点的邻接节点都经过一个共享的权重矩阵,并归一化后(归一化的这个值通过谱域上的数学推导而来)简单相加起来,经过一层非线性的激活函数,就可以代表当前这个节点在经过新的一层模型后的嵌入值。而在这之后,又有一篇比较重要的方法GraphSAGE37,对GCN的结构做了进一步的总结和提炼,其改进主要是以下三点:1. 它从原来的Transductive learning 转变成了Inductive learning,使得模型的适用性更加广泛;2. 为了能在大图上进行运算,GraphSAGE采取了对图数据进行采样的方式来节省内存的消耗;3.

42、GraphSAGE提出了聚合结构,将原来GCN由频谱上推导出的矩阵运算公式,显式地转变成了空间域上的邻居节点聚合,更加方便理解和运算。至此,一个GNN模型可以简单地归结为两个步骤:hNil=Aggregatorh0jl-1,jNi(2.13)hil=fhNil,hil-1(2.14)第一步表示如何聚合邻接信息;第二步表示如何将信息与之前的信息进行合并。其中Ni表示节点i的邻居节点集合。除了GCN以外,其他常用的GNN模型,例如GAT、RGCN都可以用上面描述的框架进行概括,而模型之间不同的变换也就基本在这框架下进行。本文将要采用的GNN框架也是基于上文所述的内容:通过改变信息聚合与汇总的方式,

43、使得GNN模型所做的工作更加合适于KG和推荐任务,正是本文研究的重点内容。图 2.1 GraphSAGE 的基本流程2.1.1.2 GNN的其他变种与常用模型GAT38模型则是在GCN的基础上引入了注意力机制的一种变种模型。根据上文在空域中的解释可以知道,GCN模型在聚合邻居节点的时候,对于任意节点的重视程度都是一样的,通过一个统一的归一化操作实现求和平均。而GAT则是在GCN的基础上,为每个邻居节点都分配了不同的权重,该权重是通过邻居节点和本节点的表示,以及权重矩阵的学习得到的,因此也可以推广到Inductive learning,对于在训练阶段没有出现过的节点,也可以做到很好的表示和学习。

44、和之前说的一样,GAT与GCN主要的区别也就是在于如何聚合邻居节点的信息。具体来说,GAT的聚合方式可以写成如公式(2.15)的形式:hil=jNiijWhjl-1(2.15)可以看到,它与GCN的区别其实就在于乘上的是一个归一化的固定值,还是一个根据当前情况变化的注意力权重。这个注意力权重计算参考了之前self-attention的计算方式,结合GNN的特点,得到公式(2.16):eij=a(Whi,Whj)(2.16)其中,h是节点的向量表示,W则是可进行学习训练的权重矩阵,而a()表示的是一个函数,这个函数可以是自己定义的一个函数,用来实现不同定义下的注意力机制。在计算得到e值时候之后,

45、就可以对当前节点所聚合的所有邻居的e值做一个softmax的归一化,也就是如公式(2.17)的形式,得到最终的注意力权重的值:ij=softmaxjeij=exp(eij)kNiexp(eik)(2.17)在GAT论文的实验中,函数a()被定义成一个简单的前馈神经网路,由一个参数矩阵a控制,这个a矩阵也是网络中可学习的参数,通过之后的反向传播不断学习得到可靠的值。总的来说,GAT中的权重值计算公式如公式(2.18)所示:ij=expLeakyReluaTWhi|WhjkNiexpLeakyReluaTWhi|Whk(2.18)除此之外,论文的作者还说明了多头注意力机制(multi-head a

46、ttention)在GAT中的良好表现。通过引入多头注意力,使得每个head能够侧重学习不同的特征表现,扩大了模型的容量和表示学习的能力。具体而言,针对上文所说的公式,多头注意机制就是独立地执行K个注意力模型,并在最后的时候将它们相加、平均或者拼接起来。平均的做法如公式(2.19)所示:hi=1Kk=1KjNiijkWkhj(2.19)引用论文38中的可视化图形,可以更加直观地理解GAT的工作机制和原理,如图2.2所示:图 2.2 图上注意力机制左边是上文所讲的一个head情况下的注意力权重计算,右边则表示了在多头注意机制下的整体计算情况。至此为止,本文所讨论的只是同构图的情况,或者说只考虑图

47、上节点,和图结构这两种信息,而忽略了边上信息的作用。事实上,图谱数据的一大亮点正是其关系的作用和体现,而GNN模型种对于关系的利用比较经典模型是RGCN39,是针对图谱数据而改进的一种GNN模型。知识图谱是NLP领域非常有趣的一个分支,不过本文所做的研究仅仅只是利用知识图谱实现的下游任务,而不涉及图谱的构建,因此这里不再详细说明图谱的由来以及构成。简单地说,一般的图谱按照三元组的形式进行存储,所谓三元组就是(头实体、关系、尾实体),在本文中,可以简单地认为头实体与尾实体就是图上的节点,而关系则是一条具有信息的有向边。RGCN与上面所介绍的GNN的框架一脉相承,它的主要特点在于在计算邻居节点的聚合时,考虑到了图谱数据中不同关系对于信息聚合的影响,为每一种关系配分了一个单独的权重矩阵,利用这个权重矩阵的训练和学习,达到区分不同关系的作用,具体来说,它的聚合公式如公式(2.20)所示:hil+1=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 期刊短文 > 信息管理

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁