刚刚刚入门,作为阅读文献的简单笔记
简单了解一下文章作者
刘知远——清华大学教授,主要方向:自然语言处理(NLP)
目录:
一:Introduction
1.目的:
GNN和CNN的差别在于CNN只能对图像(二维网格)和文本(一维序列)等常规欧氏数据进行操作,GNN可用于非欧氏域
graph embedding 它学习用低维向量来表示图节点、边或子图,存在缺点1.编码器中节点不共享参数2.缺乏泛化能力
2.相关工作:
Zhang et al. [2018f] and Wu et al. [2019c] 是两篇关于GNNs的综合性调查论文,它们主要关注GNN的模型。Wu et al. [2019c] 将GNN分为四类:循环图神经网络(RecGNNs)、卷积图神经网络(ConvGNNs)、图自动编码器(GAEs)和时空图神经网络(STGNNs)。我们的书与 Wu et al. [2019c] 的分类法不同
二:数学基础和图论
三:神经网络基础
- 神经元是最基本的单位,激活函数是表征神经元的激活情况,其中0代表失活,1代表完全激活,一个好的激活函数总是平滑的(也就是说其是一个连续可微分的函数),激活函数的选择对网络最终的表现至关重要。
- Back Propagation反向传播,一种基于梯度下降优化模型,有两步
- Forward calculation:给定一组参数和一个输入,神经网络以正向传播的方式计算每个神经元的值;
- Backward propagation: 计算每个待优化变量的误差,并以反向传播的方式计算相应的导数并更新参数。
- 神经网络分类
目前的神经网络结构可以分为几类:前馈神经网络FNN、卷积神经网络、循环神经网络和GNN。
-
- Feedforward neural network:前馈神经网络FNN是人工神经网络中第一个也是最简单的网络结构,FNN通常包含一个输入层,若干个隐藏层和一个输出层。FNN具有清晰的层次结构,其由多层神经元组成,每层神经元只与其相邻层相连,同时在FNN中没有环路。
- Convolutional neural network:卷积神经网络CNN是FNN的一种特殊形式。FNN通常是一种全连接网络,而CNN保留了局部连接。CNN架构通常包含卷积层、池化层和若干全连接层。CNN被广泛应用于计算机视觉领域。
- Recurrent neural network:与FNN相比,RNN中的神经元除了接收其他神经元的信号和输入外,还要接收自身的历史信息。RNN中的记忆机制有助于模型有效的处理数据。然后,RNN通常存在长期依赖的问题,RNN被广泛应用于语音和自然语言处理领域。
- Graph nerual network:GNN是专门为处理图结构数据而设计的,如social network、molecular structure、knowledge graphs等等。关于GNN的详细描述将在本书后面的章节中进行。
四:原始图神经网络(Vanilla GNN)
1. 一个节点自然由其特征及图中相关的节点定义。GNN的目标是为每一个节点学习一个状态embedding h v ∈ R ,该状态对领域的信息进行了嵌入编码。状态embedding h v用于产生一个输出o v,如预测节点标签的分布。
图4.1展示了一个典型的图结构,Vanilla GNN模型处理的是无向同构图,图中的每个节点都有其输入特征Xv ,每个边同样有可能有自己的特征。文章中使用co[v]和ne[v]表示节点v边和领节点的集合。对于处理更加复杂的图如异构图,可以在后面的章节中找到GNN相应的变体。
2.Modle
如何获得节点embedding hv和输出embedding Ov
为了根据输入领域更新节点状态,有一个参数函数f,称之为局部过渡函数,其所有节点共享。
为了产生节点的输出,有一个参数函数g,称之为局部输出函数
最近在做总结图网络变体内容的任务,之后再精读文章回来补充完善哦