LSTM 和 RNN 有什么区别?

人工智能 神经网络 比较 循环神经网络 长短期记忆 循环层
2021-10-27 11:20:39

LSTM 和 RNN 有什么区别?我知道 RNN 是神经网络中使用的一个层,但 LSTM 到底是什么?是不是也是具有相同特性的层?

1个回答

RNN 具有循环连接和/或层

您可以根据上下文在不同的抽象级别上描述循环神经网络 (RNN) 或长短期记忆 (LSTM)。例如,您可以说 RNN 是任何包含一个或多个循环(或循环连接的神经网络。或者你可以说那个层l神经网络N是一个循环层,因为它包含具有循环连接的单元(或神经元),但是N可能不仅仅包含循环层(例如,它也可能由前馈层组成,即具有仅包含前馈连接的单元的层)。

在任何情况下,循环神经网络几乎总是被描述为神经网络(NN)而不是层(这也应该从名称中显而易见)。

LSTM 可以指一个单元、层或神经网络

另一方面,根据上下文,单独的术语“LSTM”可以指代一个

  • LSTM 单元(或神经元),
  • 一个LSTM 层(许多 LSTM 单元),或
  • LSTM 神经网络(具有 LSTM 单元或层的神经网络)

人们也可能将具有 LSTM 单元的神经网络称为 LSTM LSTM 的复数版本)。

LSTM 是 RNN

一个LSTM单元就是一个循环单元,即一个包含循环连接的单元(或神经元),所以一个LSTM神经网络就是循环神经网络(RNN)

LSTM 单元/神经元

LSTM 单元和标准 RNN 单元之间的主要区别在于 LSTM 单元更复杂更准确地说,它由所谓的组成,据说可以更好地调节通过单元的信息流。

这是 LSTM 的典型表示(或图表)(更准确地说,是具有所谓的窥视孔连接的 LSTM )。

在此处输入图像描述

这实际上可以表示 LSTM 单元(在这种情况下,变量是标量)或 LSTM 层(在这种情况下,变量是向量或矩阵)。

从这张图中可以看出,一个 LSTM 单元(或层)由gates组成,表示为

  • it输入门:调节输入到单元/层的门),
  • ot输出门:调节单元输出的门)
  • ft遗忘门:调节细胞应该忘记什么的门)

和循环连接(例如从单元到遗忘门的连接,反之亦然)。

它也由一个cell组成,这是“vanilla”RNN 的神经元唯一包含的东西。

要了解细节(即所有这些组件的用途,例如门),您可以阅读S. Hochreiter 和 J. Schmidhuber最初提出 LSTM 的论文。但是,您可以在网上找到有关该主题的其他更易于访问和理解的论文、文章或视频课程。

LSTM 也有循环连接!

鉴于存在循环连接,任何循环神经网络(无论是否为 LSTM)都可以表示为包含一个或多个循环连接的图。例如,下图可能表示标准/普通 RNN 或 LSTM 神经网络(或者可能是它的变体,例如GRU)。

在此处输入图像描述

什么时候应该使用 RNN 和 LSTM?

RNN 特别适用于涉及序列的任务(感谢循环连接)。例如,它们通常用于机器翻译,其中序列是句子或单词。在实践中,通常使用 LSTM,而不是普通(或标准)RNN,因为它在计算上更有效。事实上,引入 LSTM 是为了解决标准 RNN 面临的一个问题,即梯度消失问题(现在,对于这些任务,还有变形金刚,但问题不在于它们)。