美文网首页人工智能
李宏毅 GNN 课堂笔记

李宏毅 GNN 课堂笔记

作者: 音符纸飞机 | 来源:发表于2021-01-04 18:18 被阅读0次

重要的网站

https://www.dgl.ai/
https://github.com/rusty1s/pytorch_geometric
https://zhuanlan.zhihu.com/p/54505069
https://zhuanlan.zhihu.com/p/112938037

1. GNN应用例子

1.1分类

分子是否会突变 分子结构生成 graphVAE

GraphVAE paper

找凶手,其实是个分类问题 roadmap

1.2 Dataset

  • CORA
  • TU-MUTAG

1.4 Benchmark

2. 常见模型

Spatial-based Convolution

NN4G
  • layer0做的是简单的embedding
aggregation readout
DCNN (Diffusion - CNN)
  • 第n层看离当前节点距离n的节点信息
把每一层的feature叠加起来(concat) 对每个节点进行分类
DGC (Diffusion Graph Conv)

和DCNN的区别就是特征层改成相加

MoNET (Mixture Model Network)
  • deg(x) 表示x的出入度数
  • u(x,y) 自定义的距离计算方式
GraphSAGE
GAT (Graph Attention Network)
  • 不同的邻居weight要怎么给
  • e → energy
GIN (Graph Isomorphism Network)

结论:首先把邻居都加起来+自己*系数,不要用maxpooling,也不要用meanpooling

Graph Signal Processing and Spectral-based GNN

向量空间
  • 任何信号都是由基础信号的加权和组成
  • 单个基础信号的权重可以由信号点乘该基础信号求得
  • 基础信号都是正交的
傅里叶级数
即基础信号是sin, cos
傅里叶变换
Spectral Graph Theory
  • N是节点的个数
  • A是邻接矩阵
  • 只考虑无向图 (A是对称矩阵)
  • D 邻居数量
  • f 节点上的signal(具体问题具体含义,如温度等)
  • Graph拉普拉斯 L = D - A, 对称矩阵、半正定矩阵(所有特征值大于等于0)
  • 特征分解,\lambda_l是frequency;u_l是正交基,且长度为1
示例
  • 不同频率下的基
  • 离散傅里叶基,帮助理解频率的概念
  • 如果把L作用在f上,如下图,可以发现:Lf 某种程度上表示某个节点与邻居的能量差

可以归纳为如下:

能量的话要算平方(要去补一下信号处理)
f^TLf 代表了节点之间的能量差异

如果把f替换成特征向量u,可以发现,最终就是特征值\lambda

如何做filtering?
  • 时域→频域→与filter相乘→时域

首先是时域转频域,下面的x就是上面的f,其实就是分析每个正交基上的投影,在每个频率\lambda下的成分有多大

那么怎么转回去呢,先看下普通的信号处理,每个时刻把每个频率下成分大小叠加起来

图傅里叶也是一样的 x=U\hat{x},就得到了节点信息

filter: g_\theta就是filter

整个过程如下,我们要学习的是 G_\theta(L)

ChebNet

减少了计算量
结论:先根据递归把x转换成\hat{x},然后\theta是要学习的参数,k代表k-localized

GCN

Chebnet的基础上k=1
节点的特征x_u经过线性变换W,然后所有的邻居求和取平均,加上b,最后经过激活函数

Tasks

  • 半监督节点分类
  • 回归


  • 图分类


  • 图表示学习(representation learning)

  • 连接预测(link prediction)

相关文章

网友评论

    本文标题:李宏毅 GNN 课堂笔记

    本文链接:https://www.haomeiwen.com/subject/psjpoktx.html