第1篇—递归图神经网络
GNN学习—综述根据一篇GNN综述的论文对GNN进行了大概简要的总结,接下来的一系列文章会对RecGNNs(递归图神经网络 )、ConvGNNs(卷积图神经网络)、GAEs(图自编码器)、STGNNs(时空图神经网络)分别进行介绍,并列举相应的论文以及模型。
首先,本篇介绍RecGNNs(递归图神经网络 ),从循环神经网络(RNN)说起,再引出递归图神经网络。
RNN简介
RNN (Recurrent Neural Networks)
- 产生原因
神经网络非常强大,只要训练数据足够,给定特定的x,就能得到希望的y。但是神经网络只能单独的处理每个的输入数据,也就是一个输入得到一个输出。不同的输入之间是没有联系的。而某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。例如说当在理解一句话时,不能孤立的理解这句话的每个词,而是需要处理这些词连接起来的整个序列;当处理视频的时候,我们也不能只单独的去分析每一帧,而要分析这些帧连接起来的整个序列。针对这类需要先前的知识与当前信息共同决定输出结果的任务,提出了循环神经网络RNN。 - 模型
RNN的隐藏层的值s不仅仅取决于当前这次的输入x,还取决于上一次隐藏层的值s。权重矩阵 W就是隐藏层上一次的值作为这一次的输入的权重。
正向传播&反向传播:正向传播得到输出值,将输出与真实标签值比较得到误差,误差反向传播更新权重值,训练网络。
优化算法:BPTT,同时考虑了层级间的纵向传播以及时间上的横轴传播。 - 应用:NLP中的分词任务、实体识别,词性标注都是序列标注问题。
LSTM(Long-Short Term Memory)
-
产生原因
RNN 有短期记忆问题,如下图,无法处理很长的输入序列,因此提出LSTM 学习长期依赖性。
-
模型
原始 RNN 的隐藏层只有一个状态,即h,它对于短期的输入非常敏感。再增加一个状态,即c,让它来保存长期的状态,