地址:https://www.bilibili.com/video/BV13p4y1y71N?p=1

Roadmap

image.png

Tasks, Dataset, and Benchmark

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

空域GCN

image.png

NN4G

初始特征(输入)是x 。经过投影变为第0层的特征。
结点3在第1层的特征=邻居结点第0层特征加和变化矩阵+自己第0层的特征(另一个)变化矩阵
image.png
image.png
readout(整个graph的feature):把每一层的结点特征加和后取平均 乘以变化矩阵 ;再把不同层的x加和

DCNN

image.png
以结点3为例:
第0层的特征=结点3距离为1的结点的初始特征加和后取平均
第1层的特征=结点3距离为2的结点的初始特征(结点1和结点3自身)加和后取平均 (说明:3→0→3 所以结点3距离自己距离也是2)

把每一层的结点特征组成一个矩阵。(以图为例:每一条就是一个结点的feature)
最后的结点1的feature=每一层的结点1的feature组合成的组织 乘以 W
image.png

DGC

加和
image.png

MoNET

乘以权重
权重定义为 度数的倒数。
image.png
image.png

GraphSAGE

image.png
image.png
image.png

GAT

image.png
image.png
image.png

GIN

有理论证明,哪些work哪些不work
用sum,不用mean/max
状态更新函数最好用这个式子(能用这个式子表达的)
image.png
image.png

图信号处理 谱域GNN

为了找出图上的filter方式

谱图理论

可以把信号看做是N维空间里的向量
一组信号可以看做是basis(基?)的线性组合
image.png
image.png
image.png
拉普拉斯矩阵L=D-A(度数矩阵-邻接矩阵)
L是半正定的
不同的u两两正交
image.png

例子
image.png
可以算出相应的特征值∧和对应的特征矩阵
画出来就是:
低频→高频
image.png
离散时间傅里叶基
image.png
把拉普拉斯矩阵看做是一种操作。f是图的信号(特征)
以a(结点0)为例子
a=24-2-4=(4-2)-(4-4)=2
即 结点的度数
结点的特征 - 2个邻居的特征 =结点0和它邻居的差异(能量差异)

image.png

image.png
可以量化不同的结点的差异

image.png
λ为0时,说明结点信号之间没有差异
差距越大(λ越大),结点之间信号差距也大
(頻率越大,相鄰兩 點之間的信號變化 量就越大!)

image.png
一个特殊的例子:一个线性的图,图上有20个点

傅里叶变化:从空域到谱域
image.png

从谱域到空域
image.png

推广到图上:以结点0为例子
各个basis乘以相应的component大小,加和
image.png

image.png
image.png
image.png

image.png等于(将谱域x用空域表示)
image.png
输入x,希望模型能学到一个gθ,使得能够filter(卷积)得到y
U可以放进括号里面
即学一个关于拉普拉斯矩阵的函数,使之能够得到y
image.png
缺点:学习到函数取决于输入。如果变化输入的大小,那么就得重新学习

假设学习到的函数是L。即y=Lx
对于结点0来说,因为和结点3没有边直接相连,所以结点3影响不到结点0
image.png
假设学到的是L2,结点0 2跳直接的结点都能影响到结点0
image.png

如果用的是n次方,所有的结点直接都会互相影响
image.png
image.png

我们希望的是像CNN中卷积核那样,可以控制“看到”的大小
image.png

ChebNet

解决了之前的2个问题
但是有第三个问题(矩阵分解复杂度+U乘以里面的式子 计算复杂度高)

image.png

定义是 递归的方式
image.png
image.png
换成这个式子的目的是 更好计算!
image.png
image.png
目的:输入x,用递推的方式算到k次方,然后乘以权重矩阵(学习到的)
image.png

可以有多组filter(就像是CNN中有多个Channel)
image.png
image.png
image.png

GCN

之前的ChebNet中的K只取到1

image.png
image.png