【李宏毅】GNN学习笔记

视频链接

[TA 補充課 Graph Neural Network (1/2) (由助教姜成翰同學講授) - YouTube]

[TA 補充課 Graph Neural Network (2/2) (由助教姜成翰同學講授) - YouTube]

[speech.ee.ntu.edu.tw/~tlkagk/courses/ML2020/GNN.pdf]

Introduction

应用:分类、Generation(生成)等

目前研究领域的架构图如下:

 基于空间卷积、基于频率卷积(傅里叶变换)

Dataset & task & Benchmark

Graph Classification:图像转成结点然后分类。MNIST手写识别、CIFAR10物品类别识别

 Regression:ZINC预测化学物质的性质

Node classification:拓扑块位置定位,图聚类

 Edge classification:旅行商问题,遍历每个节点不重复

TA的课里面有详细对比不同Task的不同方法表现,总的来说层数不是越深越好(4/8层就够了),GCN表现很烂,有不同注意力参数的那类模型普遍会好。

Special Based  GNN

总结方法和术语:

 通过卷积结点本身与它邻居的feature聚合得到下一层、读出所有的feature得到整个graph

NN4G(Neural Networks for Graph)

首先把原始feature通过处理得到纯Embeddings(参数w1)为layer0,然后sum它的邻居节点再做trans(参数w1,0)再加上layer0本身,得到h1为layer1

 针对得到的每一层,把所有的feature相加然后去平均,再做一次transform,然后相加,得到一个feature代表整个图

 为什么是相加?因为不同结点的邻居数目不同,用相加比较好批量化处理。

DCNN(Diffusion-Convolution Neural Network)

d(3,·)=1代表距离结点3为1的所有节点,所以layer0找1跳邻居平均值再transform,layer1找2跳邻居(的原始x feature 这样注意力没有掺杂别的信息),这样多层就能把多跳邻居的信息都看到。

 每一行都是一个节点的feature,把他们transform一下就得到最终这个node的feature

MoNET(Mixture Model Networks)

 

GraphSAGE

用LSTM来处理邻居的feature,这里邻居的顺序是随机的用来平衡LSTM的先后顺序影响

 

GAT(Graph Attention Neworks)

让机器自己去学每个node邻居的weight,这里的e就是energy,也就是对于节点i,节点j有多重要。

 

GIN(Graph Isomorphism Network)

 先说结论,最好是把邻居节点加起来而不是用mean或者max,epsilon取0就好。

 因为可以看到,在不同的单节点结构下,如果用sum是能区分的,但是用mean和max是不能区分的。

 

频率基础卷积

 一个向量是由基向量线性组合得到的,这里vk是基向量,ak是线性组合。这里假设是orthnormal basis正交基。这里可以看到线性组合可以由点乘计算出来(用二维向量试一下就知道了,其他方向是直接乘上0)

有一个常用的正交基是傅里叶变化,即sin和cos。

ChebNet

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值