GNN论文阅读笔记

DOI10.1109/TNN.2008.2005605

任何数据都可以由一张图(Graph)表示, 图(Graph)是由一系列的点(vertex)与边(edge)的集合。

机器学习的目标是:拟合一个函数 τ(G, n) → Rm , 即映射图G与其中某一节点n成一个m-dim的实数向量。根据实际任务,这种拟合有所偏向,大体可分为两类:关注于图特征的拟合 与 关注于节点级特征的拟合; (虽然一个比较自然的想法是 图特征是节点特征的聚集表现, 节点特征是图特征的特殊延伸。)

因此 GNN 被提出了,作为两种拟合方法的一种合体, 它基于一种更广义的信息扩散机制。

节点上的 label 更重视其顶点上的固有属性, 而边上的 label 重视顶点对的相对关系,同时图的表示具有灵活性,所以节点可以异质,边也可以异质,图可以因其节点与边的特征变成有向图、符号图、超图……

结合上述的消息扩散机制,不难理解任何一个图都可以是几个不连通子图的集合,因此GNN的函数 τ(G, n) 可以被进一步表述成上式,注意 ti,j 是groundtruth,即真正的节点标签而非初始特征

消息传递机制的核心即为上式,从实际意义上来看,其表达的思想是:任何一个节点的高级标签(类似于embedding)是节点本身标签与节点邻居的标签信息的聚合,聚合方式是任意的,可以是参数化的,也可以是非参数化的,但一定是包含了其拓扑信息的(拓扑信息就是由节点邻居的标签信息所体现的)

值得一提的是上式初看是只关注节点特征的拟合,然而在信息不断被聚合的过程中,总存在某些图特征会在聚合过程中慢慢凸显出来,这也就是为什么GNN融合了两种拟合方法。

上述拟合有解的条件是Banach不动点定理,简而言之就是这个Graph应当是一个收缩图。(这个是GNN的一个理论基础)

然后就是用jaccobi迭代求解上述的式子,请看下图

fw和gw都是全连接层(利用全连接层的拟合能力),把原本的边变成全连接层间的输入输出的关系,不断迭代直到稳态,求解结束得到on(t)

那么作为一个监督学习,自然的引入损失函数作为判断稳态与否的定量标准

所以问题就转化为最小化 ew ,然后就是反向传播实现即可,原论文有附带证明,有兴趣可自行推导,可能需要一些泛函相关知识

总结一下:

 具体实现目前还没找到,但不要被这个反向传播的计算过程吓到,现有的框架都已有自动求导的功能,主要是要把前向的那部分实现正确即可

posted @ 2024-01-29 22:54  llllllgllllll  阅读(11)  评论(0编辑  收藏  举报