Week4:RNN和GNN的初步接触 本周对循环神经网络RNN与图神经网络GNN进行了初步了解。RNN是处理序列数据的经典模型而GNN则是面向图结构数据的前沿模型两者共同拓展了神经网络的应用边界。文章目录第一部分循环神经网络RNN一、为什么需要RNN1.1 场景引入槽填充Slot Filling1.2 核心思想让网络拥有“记忆”二、RNN的基本架构2.1 工作原理2.2 RNN的两种变体2.3 双向RNNBidirectional RNN三、长短期记忆网络LSTM3.1 为什么需要LSTM3.2 LSTM的核心机制三个门控3.3 LSTM的输入与输出3.4 LSTM vs 传统神经网络3.5 GRULSTM的轻量版四、RNN的梯度问题第二部分图神经网络GNN一、什么是GNN二、GNN的应用三、GNN的两大技术路线四、Spatial-based GNN4.1 核心术语4.2 典型模型NN4GNeural Networks for GraphDCNNDiffusion-Convolution Neural NetworkMoNETMixture Model NetworksGATGraph Attention NetworksGINGraph Isomorphism Network五、Spectral-based GNN简览 总结与思考RNN核心要点GNN核心要点 个人思考第一部分循环神经网络RNN一、为什么需要RNN1.1 场景引入槽填充Slot Filling以一个订票系统为例用户输入“我想本周六去北京”系统需要识别出“目的地北京”、“时间本周六”等信息[reference:0][reference:1]。但如果输入“我从北京出发去上海”同一个词“北京”在上下文中含义完全不同——前者是目的地后者是出发地[reference:2]。传统的前馈神经网络无法解决这个问题因为相同的输入一定会产生相同的输出[reference:3]。1.2 核心思想让网络拥有“记忆”我们希望神经网络有记忆能力——每次隐藏层的神经元产生输出时都会将其存入内存Memory中下一次有输入时神经元不仅考虑当前的输入还会考虑内存中的值[reference:4][reference:5]。通俗理解RNN就像一个人在阅读文章——每读到一个新词都会结合之前读过的内容来理解当前词的含义而不是孤立地看待每个词。二、RNN的基本架构2.1 工作原理假设所有权重为1、没有偏置、激活函数为线性第一次输入[1, 1]内存初始为[0, 0]隐藏层输出[2, 2]存入内存网络输出[4, 4]第二次输入[1, 1]此时内存中有[2, 2]隐藏层输出变为[6, 6]输出[12, 12][reference:6]关键结论即使两次输入完全相同由于内存状态不同输出也会不同[reference:7]。RNN中同一个神经网络在不同时间点被反复使用参数是共享的[reference:8]。2.2 RNN的两种变体类型存储内容特点Elman Network上一时刻隐藏层的输出更常见前面的例子即为此类[reference:9]Jordan Network上一时刻整个网络的输出可解释性更强[reference:10]2.3 双向RNNBidirectional RNN双向RNN同时从正向和反向读取序列将两个方向的隐藏层联合起来产生输出[reference:11][reference:12]。优点是能同时参考前后的上下文信息而不仅仅是前面的信息[reference:13]。三、长短期记忆网络LSTM3.1 为什么需要LSTM朴素RNN在长序列训练中容易出现梯度消失Gradient Vanishing或梯度爆炸Gradient Explosion问题[reference:14][reference:15]。LSTMLong Short-term Memory作为一种特殊的RNN专门为解决这一问题而设计[reference:16]。 LSTM的全称意为“比较长的短期记忆网络”[reference:17]——它让网络能够记住更长时间跨度的信息。3.2 LSTM的核心机制三个门控LSTM在普通RNN的基础上引入了三个门控Gate来控制信息的流动[reference:18][reference:19]门控功能激活函数Input Gate输入门控制当前输入是否写入记忆单元SigmoidForget Gate遗忘门控制是否清空记忆单元中的旧信息SigmoidOutput Gate输出门控制是否将记忆单元的值输出Sigmoid⚠️注意Forget Gate打开时值为1表示“不忘掉”即保留之前的记忆[reference:20]。3.3 LSTM的输入与输出LSTM可以看作有四个输入、一个输出[reference:21]四个输入待存储的值 控制三个门控的信号一个输出经过输出门控后的结果每个门的激活函数都是Sigmoid将输入映射到(0,1)之间——0表示“不允许通过”1表示“允许通过”[reference:22]。3.4 LSTM vs 传统神经网络LSTM的参数数量是传统神经网络的四倍[reference:23]。此外LSTM还可以进一步叠加为多层LSTMMultiple-layer LSTM[reference:24]。3.5 GRULSTM的轻量版Gated Recurrent UnitGRU是LSTM的一种升级版只有两个门控参数量是LSTM的一半。如果LSTM出现过拟合可以考虑使用GRU[reference:25]。四、RNN的梯度问题RNN中同一组权重被反复使用权重的累乘会导致梯度呈指数型变化[reference:26]。这就是梯度消失与梯度爆炸的根源。LSTM通过门控机制有效缓解了这一问题[reference:27]。第二部分图神经网络GNN一、什么是GNNGNN Graph Neural Networks[reference:28][reference:29]。核心问题是如何将图的结构节点、边以及每个节点和边的特征转化为神经网络的输入张量[reference:30][reference:31]。二、GNN的应用GNN主要解决两类问题[reference:32][reference:33]任务类型说明示例分类Classification判断图或节点的类别判断化学分子是否会导致突变[reference:34]生成Generation生成符合要求的图结构生成新冠靶向药物分子[reference:35]三、GNN的两大技术路线将卷积操作推广到图结构上主要有两种思路[reference:36][reference:37]基于空间的卷积Spatial-based Convolution直接在图的空间结构上定义邻域聚合操作基于频域的卷积Spectral-based Convolution借助信号处理中的傅里叶变换在频域上定义卷积[reference:38]四、Spatial-based GNNSpatial-based GNN的核心思想是模仿CNN的卷积操作——用节点及其邻居的特征来更新该节点的特征[reference:39]。4.1 核心术语术语含义Aggregate聚合用邻居节点的特征更新下一层隐藏状态类似CNN中的卷积[reference:40]Readout读出将所有节点的特征集合起来代表整个图的特征[reference:41][reference:42]4.2 典型模型NN4GNeural Networks for GraphAggregate方式将相邻节点的特征相加乘以权重再加上原始输入[reference:43][reference:44]为什么用相加如果不相加很难处理节点邻居数量不同的问题。相加是最简单且最有效的利用邻点信息的方法[reference:45][reference:46]Readout方式对每一层求所有节点的特征均值加权求和[reference:47]DCNNDiffusion-Convolution Neural Network第1层考虑距离为1的邻居节点第2层考虑距离为2的节点包括自身以此类推叠加k层后可获取k跳范围内的信息[reference:48][reference:49]MoNETMixture Model Networks不再简单地相加而是考虑不同邻居的重要性差异引入节点度degree的概念进行加权[reference:50][reference:51]GATGraph Attention Networks使用注意力机制Attention为不同邻居赋予不同权重[reference:52]权重不是预先定义的而是由网络自己学习得出[reference:53]GINGraph Isomorphism Network理论证明Sum聚合 多层感知器MLP是区分不同图结构的最佳组合不推荐使用Max Pooling或Mean Pooling[reference:54][reference:55]五、Spectral-based GNN简览Spectral-based方法借助信号处理中的傅里叶变换在图论中定义了一套谱图理论Spectral Graph Theory[reference:56]图拉普拉斯矩阵Graph Laplacian对称矩阵、半正定矩阵所有特征值 ≥ 0[reference:57]特征分解将图信号从“空间域”转换到“频域”滤波操作在频域上与滤波器相乘再转回空间域[reference:58]代表性模型包括ChebNet通过递归减少计算量和GCNGraph Convolutional Network[reference:59]。 总结与思考RNN核心要点概念核心思想RNN的动机处理序列数据让网络拥有“记忆”Elman vs Jordan前者存隐藏层输出后者存网络输出双向RNN同时考虑前后文信息更全面LSTM通过三个门控输入、遗忘、输出解决长程依赖GRULSTM的轻量版两个门控参数减半梯度问题权重共享导致梯度消失/爆炸LSTM可缓解GNN核心要点概念核心思想GNN的动机将神经网络推广到图结构数据两大路线Spatial-based空间聚合vs Spectral-based频域卷积Aggregate用邻居特征更新节点类似CNN的卷积Readout汇总所有节点特征表示整个图NN4G最简单的相加聚合GAT用注意力机制为邻居赋权GIN理论最优Sum MLP 个人思考RNN的价值在于“记忆”它打破了传统神经网络“输入独立”的假设让模型能够理解上下文。虽然Transformer在NLP领域已逐渐取代RNN的主流地位但RNN的核心思想——状态传递与参数共享——依然是理解序列建模的基石。GNN是图数据的“卷积推广”CNN的成功依赖于图像数据的规则网格结构像素排列整齐但现实世界中大量数据是以图的形式存在的社交网络、分子结构、知识图谱。GNN的核心挑战在于如何在不规则的图结构上定义“局部感受野”。Spatial-based方法通过邻居聚合实现Spectral-based方法则从信号处理角度切入——两者殊途同归。两章的承启关系如果说CNN教会我们如何利用空间局部性RNN教会我们如何利用时间顺序性那么GNN则教会我们如何利用关系结构性——这三种归纳偏置Inductive Bias共同构成了深度学习处理不同类型数据的核心方法论。