如果将循环神经网络按时间展开,
每个时刻的隐状态 𝒉𝑡
看作一个
节点
,那么这些节点构成一个链式结构,
每个节点 𝑡 都收到其父节点的
消息
(
Message), 更新自己的状态,
并传递给其子节点
.
而链式结构是一种特殊的图结构,我们可以比较容易地将这种
消息传递
(
Message Passing
)
的思想扩展到任意的图结构上.
递归神经网络
递归神经网络
(
Recursive Neural Network
,
RecNN
)
是循环神经网络在
有向无循环图
上的扩展
.
递归神经网络的一般结构为树状的层次结构,
如图
6.11a
所示
.
递归神经网络主要用来建模自然语言句子的语义. 给定一个句子的语法结构(一般为树状结构),可以使用递归神经网络来按照句法的组合关系来合成一个句子的语义.句子中每个短语成分又可以分成一些子成分,即每个短语的语义都可以由它的子成分语义组合而来,并进而合成整句的语义.
同样,我们也可以用门控机制来改进递归神经网络中的长距离依赖问题, 比如树结构的长短期记忆模型(Tree-Structured LSTM) 就是将 LSTM 模型的思想应用到树结构的网络中,来实现更灵活的组合函数.
图神经网络
在实际应用中,
很多数据是图结构的
,
比如知识图谱
、
社交网络
、
分子网络等.
而前馈网络和反馈网络很难处理图结构的数据.
图神经网络
(
Graph Neural Network
,
GNN
)
是将消息传递的思想扩展到图结构数据上的神经网络.