有代码的KDD2020-GNN精选1:GPT-GNN: 生成式预训练GNN网络
-
Agent的潜意识
2020-07-20 20:05:42
-
数据库开发技术
-
原创
最近在关注图神经网络,顺手看了下KDD2020,有近140篇图神经网络的文章,可以说是大范围成为研究热点了。 早些时候关注注意力机制,后来注意力机制成了很多领域的研究热点,无论是CV还是NLP还是其他,因为注意力机制跟人的思维比较像,是认识事物能力的基本组件;如果说注意力机制是关注个体,那么图神经网络就是群体智能的最好表达,因为人是社会关系的总和,如果要刻画人、挖掘人群关系,图神经网络就是唯一的建模范式了。 有人经常问我:Graph NN 和普通的推荐算法例如CF有什么本质区别?拿i2i的召回来举例,item-base的召回,也能找到物料画像相近的商品;把相同的人喜欢的商品也召回进来,也可以找到不同物料画像但相近人喜欢的商品;但更深层的相近商品就不能召回了,例如:商品A跟商品B经常被一起买,商品C跟商品B物料画像相近,但A跟C没有任何热关系;同时,商品C跟商品D经常被一起买,商品D和E物料画像相近……这样长串的复杂关系,需要一个graph来刻画,刻画的好,相近商品可以一网打尽。 代码在这里:https://github.com/acbull/GPT-GNN 摘要:图神经网络图神经网络(GNN)已被证明具有强大的图形结构化数据建模功能。但是,训练GNN通常需要大量特定任务的标记数据,获得这些数据常常是非常昂贵的。一种有效的减少标注数据的方法是:在未标注数据集上,通过自监督方式预训练有强表达能力的GNN模型,然后将该模型迁移学习,对新任务仅需几个标签即可进行建模。文章中提出了生成式预训练的GPT-GNN 框架来初始化GNN。在GPT-GNN中,介绍了一种基于自监督的属性图生成任务,能够表达图的结构和语义属性信息。GPT-GNN将图生成的最大似然估计分为两个部分:1)属性生成2)图的边生成。通过这两方面的建模,GPT-GNN捕获了生成过程中的节点属性和图结构。实验证明,在Amazon的推荐数据集和Open Academic Graph数据集上,通过GPT-GNN预训练模型来初始化GNN,比没有初始化,在各类任务中要高9.1%。
首先根据节点的自有属性生成器和边生成器等自监督学习的方法生成一个预训练的强表达能力的图,拿这个图来初始化一个图,然后在初始化后的图上做fine-tune,再根据需要的任务(例如社群发现)和标记的少量数据,迭代一个新的模型,从而提升精度。 1、预训练的模型GNN结构W1和要解决问题的模型结构GNN -W2可能点的个数不一样,这个gap是怎么解决的? 2、有预训练模型,社群发现的精度就能提升,说明GNN模型结构存在优化空间,这个优化的方向跟标记数据是否相关呢?如果相关的话,标记数据监督学习训练模型就够了,是不是标记的数据不够?还是说不相关,需要一个loss来学习模型结构,然后这个自监督学习的训练模型正好干这个事。1)GPT-GNN 和GPT-2的关系:NLP中的GPT-2模型是在tranformer结构上发展出了的极具表达力的预训练模型,那么这个GPT-GNN跟NLP的GPT究竟有什么关系?2)GPT-GNN自监督训练的逻辑,loss函数:GPT-2自监督学习训练的时候是通过输入一篇文章,预测下一句话跟真实的下一句话之间的Loss,来学习一篇文章的语义结构和表达,那GPT-GNN是怎么自监督训练的?3)GPT-GNN能拿来实战么?究竟能在哪些具体业务实战问题上带来什么帮助?

4)算法主体逻辑图中的C、D中的 X3和X4代表什么意思?为什么C中有两个节点3,D中两个节点4是什么意思?大家感兴趣请在文后留言附上你的答案。留言中或者下一篇我会把我理解的(答案)写上。