首页 > 其他 > 详细

Notes | 图神经网络

时间:2020-10-10 22:04:30      阅读:41      评论:0      收藏:0      [点我收藏+]

 

课程链接

 

Motivation

输入是图:

考虑结构和关系信息。

 

技术分享图片

 

如何在图结构中做Convolution?

 

 

Spatial-based GNN

技术分享图片

 

Aggregate:用neighbor feature update下一层的hidden state

Readout:把所有nodes的feature集合起来代表整个graph

 

 

NN4G (Neural Networks for Graph)

 

技术分享图片

 

输出:

技术分享图片

 

每一层的结果取平均后再相加。

 

DCNN (Diffusion-Convolution Neural Network)

 

技术分享图片

 

d为距离(图中表示的是到节点3的距离)

第 i 层,找到距离为i的节点的特征取mean,再乘上权重。

 

每个节点的表示,由k个这样的层组成:

技术分享图片

concat 之后, 乘以权重得到输出。

 

DGC (Diffusion Graph Convolution)

和上一篇类似,得到的输出是直接相加:

技术分享图片

 

 

MoNET (Mixture Model Networks)

无脑相加 -> 给一个权重的定义:重新定义距离,用定义的距离做weight,再进行sum 或 mean。

技术分享图片

 

GraphSAGE

技术分享图片

对邻居feature的处理方式:

mean

max-pooling

LSTM(把邻居节点喂给LSTM,output是hidden state,每次update时,随便sample一个邻居节点的顺序来消除LSTM对顺序的关注)

 

GAT (Graph Attention Networks)

对邻居做attention。

 

节点特征:

技术分享图片

 

计算energy(weight):

技术分享图片

 

计算attention分数:

技术分享图片

 

技术分享图片

每个节点的feature = sum{ 所有邻居节点 * 邻居节点各自的energy(attention weight) }

 

GIN (Graph Isomorphism Network)

技术分享图片

自己的feature + sum(邻居features)

 

用sum,不用mean或max pooling,区别不同形态的图:

技术分享图片

 

资源

GNN库: Deep Graph Library dgl.ai

Notes | 图神经网络

原文:https://www.cnblogs.com/shona/p/13794900.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!