序言
在序列建模的广阔领域中,递归神经网络( Recursive Neural Network, RNN \text{Recursive Neural Network, RNN} Recursive Neural Network, RNN),注意此处的 RNN \text{RNN} RNN与常用于序列处理的循环神经网络在命名上有所重叠,但在此特指处理树状或层次结构数据的网络)以其独特的递归机制,为处理具有层次或嵌套结构的数据提供了强有力的工具。递归神经网络通过模拟数据的自然层次结构,如句子的句法树、文档的章节结构等,能够深入理解数据的内在组织和含义。与传统的序列 RNN \text{RNN} RNN不同,递归 RNN \text{RNN} RNN通过递归调用自身来处理每个子节点,从而逐步构建出整个结构的深层表示。
递归神经网络
- 递归神经网 络 1 递归神经网络^1 递归神经网络1代表循环网络的另一个扩展,它被构造为深的树状结构而不是RNN的链状结构,因此是不同类型的计算图。
- 递归网络的典型计算图如
图例1
所示。 - 递归神经网络由 Pollack (1990) \text{Pollack (1990)} Pollack (1990) 引入,而 Bottou (2011) \text{Bottou (2011) } Bottou (2011) 描述了这类网络的潜在用途——学习推论。
- 递归网络已成功地应用于输入是数据结构的神经网络( Frasconi et al., 1997, 1998 \text{Frasconi et al., 1997, 1998} Frasconi et al., 1997, 1998),如自然语言处理 ( Socher et al., 2011a,c, 2013a \text{Socher et al., 2011a,c, 2013a} Socher et al., 2011a,c, 2013a) 和计算机视觉( Socher et al., 2011b \text{Socher et al., 2011b} Socher et al., 2011b)。
- 递归网络的典型计算图如
- 递归网络的一个明显优势是,对于具有相同长度 τ \tau τ 的序列,深度(通过非线性操作的组合数量来衡量)可以急剧地从 τ \tau τ 减小为 O ( log τ ) \Omicron(\log\tau) O(logτ),这可能有助于解决长期依赖。
- 一个悬而未决的问题是如何以最佳的方式构造树。
- 一种选择是使用不依赖于数据的树结构,如平衡二叉树。
- 在某些应用领域,外部方法可以为选择适当的树结构提供借鉴。
- 例如,处理自然语言的句子时,用于递归网络的树结构可以被固定为句子语法分析树的结构(可以由自然语言语法分析程序提供)( Socher et al., 2011a,c \text{Socher et al., 2011a,c} Socher et al., 2011a,c)。
- 理想的情况下,人们希望学习器自行发现和推断适合于任意给定输入的树结构,如( Bottou, 2011 \text{Bottou, 2011} Bottou, 2011)所建议。
- 许多递归网络想法的变种是可能的。
- 例如, Frasconi et al. (1997) \text{Frasconi et al. (1997)} Frasconi et al. (1997) 和 Frasconi et al. (1998) \text{Frasconi et al. (1998)} Frasconi et al. (1998) 将数据与树结构相关联,并将输入和目标与树的单独节点相关联。
- 由每个节点执行的计算无须是传统的人工神经计算(所有输入的仿射变换后跟一个单调非线性)。
- 例如, Socher et al. (2013a) \text{Socher et al. (2013a)} Socher et al. (2013a) 提出用张量运算和双线性形式,在这之前人们已经发现当概念是由连续向量(嵌入)表示时,这种方式有利于建模概念之间的联系 ( Weston et al., 2010; Bordes et al., 2012 \text{Weston et al., 2010; Bordes et al., 2012} Weston et al., 2010; Bordes et al., 2012)。
注1:我们建议不要将 ‘‘递归神经网络’’ 缩写为 “RNN’’,以免与 “循环神经网络’’ 混淆。
- 图例1:递归网络将循环网络的链状计算图推广到树状计算图。
-
递归网络将循环网络的链状计算图推广到树状计算图。
-
说明:
- 可变大小的序列 x ( 1 ) , x ( 2 ) , … , x ( t ) \boldsymbol{x}^{(1)},\boldsymbol{x}^{(2),\dots,\boldsymbol{x}^{(t)}} x(1),x(2),…,x(t)可以通过固定的参数集合(权重矩阵 U , V , W \boldsymbol{U},\boldsymbol{V},\boldsymbol{W} U,V,W)映射到固定大小的表示(输出 ο \boldsymbol{\omicron} ο)。
- 该图展示了监督学习的情况,其中提供了一些与整个序列相关的目标 y \boldsymbol{y} y。
-
总结
- 递归神经网络作为处理层次和嵌套结构数据的利器,在序列建模中占据了重要地位。
- 其递归机制使得网络能够按照数据的自然结构进行建模,从而捕捉到更为丰富的语义和上下文信息。这种特性使得递归 RNN \text{RNN} RNN在自然语言处理、文本分类、情感分析等多个领域展现出了独特的优势。
- 随着深度学习技术的不断发展,递归 RNN \text{RNN} RNN的性能和应用范围还将不断拓展,为更多复杂序列建模任务提供新的解决方案。
往期相关内容回顾
序列建模之循环和递归网络 - 循环神经网络篇