资讯

递归神经网络是什么?沿着树形结构逐层组合信息的网络

2026-11-053 分钟阅读百科
TL;DR递归神经网络(Recursive Neural Network)是在树形结构上反复应用同一组权重、自底向上地把子节点表示组合成父节点表示的神经网络,Richard Socher 等人将其用于句子的情感分析和句法分析,注意它与按时间展开的循环神经网络(RNN)不同,两者英文缩写相同易混淆。

递归神经网络(Recursive Neural Network)是一种在树形结构的数据上进行计算的神经网络。它的特点是:沿着一棵树,从叶子节点开始,自底向上地把子节点的信息组合起来,得到父节点的表示,一直组合到根节点,在每一次组合时都使用同一组参数。需要特别注意的是,它与“循环神经网络”(Recurrent Neural Network)是两种不同的网络,但英文缩写都是 RNN,中文名称也常被混用,容易造成混淆。

为什么需要树形结构

语言有天然的层次结构。一个句子不只是一串词语的简单排列,而是由词语组成短语,短语再组成更大的短语,最后组成整个句子。比如“这部电影的特效非常精彩”这句话,“非常”修饰“精彩”组成“非常精彩”,“电影的特效”是一个名词短语,它们再组合成整个句子。理解一个句子的意思,往往需要按照这种结构,把各个部分的意思逐步地组合起来。递归神经网络就是根据这种思想设计的:它在句子的句法分析树上,按照树的结构来组合词语和短语的表示。

它是怎么工作的

首先,每个词语都被表示为一个向量,作为树的叶子节点。然后,对于树中的每一个父节点,把它的两个子节点的向量拼接在一起,输入一个神经网络层,得到父节点的向量表示。这个神经网络层在整棵树中的所有节点上都是共享的,也就是使用同样的权重,这正是“递归”的含义:同一个操作被反复地应用。就这样一层一层地往上组合,最终在根节点得到整个句子的向量表示,可以用于分类等任务。在每个中间节点上,也可以进行预测,比如判断这个短语的情感是正面的还是负面的。

代表性的工作

斯坦福大学的 Richard Socher 等人在 2011 到 2013 年间对递归神经网络进行了深入的研究。他们构建了斯坦福情感树库,为数万条电影评论句子的句法树中的每一个短语都标注了情感,并提出了递归神经张量网络,用更强大的方式来组合子节点的信息。这项工作展示了递归神经网络能够理解否定等组合现象:比如“不是很好”中的“不”能够反转“很好”的情感,而简单的词袋模型很难做到这一点。递归神经网络也被用于句法分析和计算机视觉中的场景解析。此外,2015 年提出的树形长短期记忆网络,把长短期记忆网络的门控机制引入到了树形结构中。

与循环神经网络的区别

循环神经网络按照时间顺序,从左到右地依次处理序列中的每一个元素,每一步都结合上一步的隐藏状态,它处理的是线性的链式结构。递归神经网络则在树形结构上进行处理,可以看作循环神经网络的一种推广:链式结构其实就是一种特殊的、每个节点只有一个子节点的树。

今天的地位

递归神经网络需要事先获得句子的句法分析树,这需要额外的句法分析器,而句法分析本身可能出错;而且不同的句子有不同的树结构,难以进行批量的并行计算,训练效率较低。随着 Transformer 和预训练语言模型的兴起,模型能够从大量的数据中隐式地学到语言的结构,不再需要显式的句法树,递归神经网络已经很少被使用。但它体现的“按结构组合语义”的思想,在语言学和可解释性的研究中仍有价值。