GNN

GNN

应用领域

图可以标识事物之间的相关关系,图在场景分析问题推理、推荐系统、风控 甚至无人汽车等多方面都有很大作用。

基本组成

点:是特征,由特征向量表示

边:表示点之间的关系,也有特征。所有的边类型相同

图:全局的图,是向量

输入时要输入点的特征和邻接矩阵,邻接矩阵表示关系。

优势

传统神经网络输入的规模固定(比如CNN输入图像一般都是256或512),在实际应用时,分子结构、或交通道路等点和边个数不同,难以使用传统的神经网络(resize强行改成相同效果可能不好)

GNN优势就是处理不规则数据

实际输入的邻接矩阵一般不是N*N的,而是2*N,即source->target

训练

在对点进行更新的时候,不仅要考虑自身的信息,还要考虑邻接的信息。

image-20240622093307428

如上图,在更新6的时候要考虑1,3,4的信息。以1为例,1要给6多少信息取决于可学习的权重参数w1和1本身的特征x1

聚合:每个点提供的特征是由可学习的参数经过特征映射得到的结果:$$\bar{a_i}=G({W_j \cdot x_j:j \in N_i})$$

最后将信息进行汇总:

$$h_i=\sigma(W_1 \cdot h_i+\sum_{j \in N_i} \mathbf{W}_2 \cdot h_j)$$

前面表示自己的特征 后面表示邻居的特征,类似于加权。

邻接与当前点的关系有很多可选的方式:

image-20240622094432513

输入矩阵不变,只更新点的特征。虽然每个点相邻的点不变,但是在不断更新中,可以得到与其他未连接点的关系,感受野不断变大。

输出的特征可用于分类、回归等。

GCN

GCN与CNN差别较大:输入方面

image-20240622105736738

优势

不需要全部都有标签,少量标签也可以训练,计算损失只用有标签的。适合半监督任务


GNN
https://brtulien.github.io/2024/06/22/GNN/
作者
Brtulien
发布于
2024年6月22日
更新于
2024年7月1日
许可协议