深度学习中递归神经网络简介


介绍

递归神经网络 (RvNN) 是一种用于自然语言处理的深度神经网络。当使用相同的权重对结构化输入进行多次处理以产生结构化预测时,我们就得到了递归神经网络。企业高管和 IT 专业人员必须了解什么是递归神经网络、它能做什么以及它是如何工作的。

递归神经网络

“深度学习”是机器学习和人工智能 (AI) 的一个分支,旨在模拟人脑分析信息和学习某些概念的方式。深度学习的基础是神经网络。这些网络旨在精确识别数据集中的潜在模式,并且大致模拟人脑。深度学习为预测不可预测的问题提供了答案。

递归神经网络 (RvNN) 是深度神经网络的一个子集,能够学习结构化和层次化的数据。通过对结构化输入重复使用相同的权重集,RvNN 允许您获得结构化预测。递归是指神经网络对其输出的应用。

由于其深入的树状结构,递归神经网络能够处理层次数据。在树状结构中,父节点通过连接子节点创建。每个父子连接都有一个权重矩阵,并且相似的子节点具有相同的权重。为了允许递归操作和使用相同的权重,树中每个节点的子节点数量是固定的。当需要解析整个句子时,使用 RvNN。

我们将权重矩阵 (Wᵢ) 和子节点 (Cᵢ) 的乘积相加,并使用变换 f 来确定父节点的表示。

\[h = f \left( \sum_{i=1}^{i=c} W_i C_i \right) \],c 指的是子节点的数量。

循环神经网络与递归神经网络

  • 循环神经网络 (RNN) 是另一个著名的用于处理序列数据的神经网络家族。它们与递归神经网络密切相关。

  • 鉴于语言相关数据(如句子和段落)本质上是序列化的,循环神经网络对于在自然语言处理 (NLP) 中表示时间序列很有用。循环网络通常使用链式拓扑结构。通过沿整个链长分配权重,维数得以保持。

  • 另一方面,递归神经网络由于其树状结构而与层次化数据模型一起工作。由于每个节点都有固定数量的子节点,因此树可以执行递归操作并在每个步骤使用相同的权重。父节点表示通过组合子节点表示来创建。

  • 前馈网络不如递归网络有效。

  • 递归网络只是循环网络的泛化,因为循环网络是随时间推移的循环。

递归神经网络的实现

使用递归神经网络进行自然语言句子中的情感分析。识别特定句子中作者的写作语气和思想是自然语言处理 (NLP) 最重要的任务之一。每当作者表达任何情感时,都会理解写作语气的基本特征。为了将它们组织在一个句法层次结构中,我们必须首先识别较小的部分,例如名词或动词短语。例如,它指示句子是否具有积极的写作风格或消极的词语选择。

为了为特定句子创建理想的句法树,我们必须组合特定的一对短语和单词,这由一个名为“分数”的变量指示,该变量在每个节点遍历时生成。

用于自然语言处理的 RvNN:优点

递归神经网络用于自然语言处理的两个主要优点是其结构和网络深度的减少。

如前所述,递归神经网络的树状结构可以处理层次数据,例如在解析问题中。

树具有对数高度的另一个优点是 RvNN。当有 O(n) 个输入词时,递归神经网络实际上可以表示高度为 O(log n) 的二叉树。这缩短了第一个和最后一个输入元素之间的长度。因此,长期依赖性变得更容易管理且更短。

用于自然语言处理的 RvNN:缺点

递归神经网络的树状结构可能是其最大的缺点。使用树状结构意味着为我们的模型提供特殊的归纳偏差。这种偏差与数据以树状层次结构组织的概念一致。但现实情况并非如此。因此,网络可能无法捕捉到当前的模式。

递归神经网络的另一个缺点是句子解析可能很麻烦且缓慢。有趣的是,同一文本可能存在不同的解析树。

此外,为递归神经网络标记训练数据比构建循环神经网络需要更多的时间和精力。手动将句子分解成较小的部分比为其添加标签需要更多的时间和精力。

结论

本文讨论了深度学习和递归神经网络的基础知识。理解机器学习算法及其不同类型可以帮助人们清楚地了解该领域的未来可能性。

通过理解机器语言算法,人们可以更好地理解对数据集的计算机处理,并从数据集中提取更多相关且有价值的信息。

更新于:2023年3月28日

6000+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告