深度神经网络——深度学习中的 RNN 和 LSTM 是什么?
引言
自然语言处理和人工智能聊天机器人领域许多最令人印象深刻的进步都是由 递归神经网络(RNN) 和长短期记忆(LSTM)网络。 RNN 和 LSTM 是特殊的神经网络架构,能够处理顺序数据,即按时间顺序排列的数据。 LSTM 是 RNN 的本质改进版本,能够解释更长的数据序列。 让我们看一下 RNN 和 LSTMS 的结构以及它们如何支持创建复杂的自然语言处理系统。
什么是前馈神经网络?
为此,在探讨长短期记忆 (LSTM) 和卷积神经网络 (CNN) 的工作原理之前,请最好先探讨一下神经网络的整体架构。
神经网络主要通过分析数据来识别其中的规律,并从中提取有用的信息以指导决策过程。 为了实现这一目标,在构建神经网络时通常会遵循以下步骤:首先设计一个包含输入节点的输入层用于接收待处理的数据;接着设置一个或多个隐含节点组成的隐藏层用于进行特征提取;最后配置一个输出节点用于生成最终的结果或决策依据。
输入层通过接受数据输入神经网络,并且隐藏层通过学习数据中的模式来执行功能。 数据集中的隐藏层通过与输入和输出层建立联系的方式使用"权重"和"偏差"参数。 这些参数在训练过程中被优化调整。 当网络进行训练时, 模型会对训练数据(即输出值)做出猜测, 并与实际对应的训练标签进行比较。 在这一过程中, 模型期望能够提高预测不同数据点之间关系的能力, 从而实现对新数据点的有效分类。 深度神经网络特指具备多于一层或多个隐藏层的网络架构. 神经元数量越多, 网络识别复杂模式的能力就越强
标准前馈神经网络模型如前所述通常被称为全连接神经网络模型。这些全连接层结合了不同数据类型特性的专用架构以提升性能
什么是 RNN(循环神经网络)?

循环神经网络基于前馈神经网络的一般原理设计,并从而实现对顺序数据的处理能力。 RNN名称中的'循环'源自于其独特的输入与输出之间的循环机制。 生成后的输出会被反馈至自身作为新的 输入 。 在决策过程中不仅需要综合考量当前的信息以及产生的结果。 例如,在初始状态下若给定X作为 输入 ,则H与随后X1都会被用作下一步计算的数据。 通过这种方式, 网络能够保持之前所有相关信息以供后续处理。
这种架构的功能是 RNN 能够处理顺序数据。 然而,在实际应用中 RNN 面临一些挑战。 RNN 遭遇以下常见问题:Gradient Vanishing 和 Gradient Exploding(参考链接:https://medium.com/learn-love-ai/the-curious-case-of-the-vanishing-exploding-gradient-bf58ec6822eb)。
RNN 可以解释的序列长度相当有限,尤其是与 LSTM 相比。
什么是 LSTM(长短期记忆网络)?
长短期记忆网络也被视为一种扩展型RNN架构,并进一步运用了捕捉输入信息的时间依赖关系这一核心概念。然而,在关键性能指标上,LSTM模型进行了一系列改进,使其能够通过更为先进的方式来解析过去的观测数据。值得注意的是,LSTM模型所实施的具体改进措施成功消除了梯度消失的现象,并由此实现了对较长长度的信息流的有效处理能力

由三个核心组件——包括输入门、输出门以及遗忘机制——构成的LSTM架构类似于RNN的设计理念,在更新神经元的状态时会参考上一时间步的信息。首先,在神经元激活过程中起到选择作用的是控制通道的作用机制。其中sigmoid函数负责筛选信息传递路径。为了量化各条信息路径的重要程度,则采用了Tanh激活函数进行映射
基于当前输入与内存状态的综合考量,在控制机制内部决定哪些数值会被传递至下一时间步。通过评估确定每个数值的重要性,并将其定量化为-1至1之间的等级。从而实现对后续计算阶段的数据预处理作用。最后,在这一过程中, 忘记机制负责移除模型认为不重要的信息
LSTM神经网络由能够处理顺序单词数据的特殊LSTM层以及前述所述的密集连接层构成。当数据经过LSTM层后会进入密集连接层。
