17. 什么是 LSTM?

⻓短期记忆⽹络——通常被称为 LSTM,是⼀种特殊的 RNN ,能够学习⻓期依赖性。由Hochreiter 和 Schmidhuber(1997)提出的,并且在接下来的⼯作中被许多⼈改进和推⼴。LSTM 在各种各样的问题上表现⾮常出⾊,现在被⼴泛使⽤。

LSTM 被明确设计⽤来避免⻓期依赖性问题。⻓时间记住信息实际上是 LSTM 的默认⾏为,⽽不是需要努⼒学习的东⻄!

所有递归神经⽹络都具有神经⽹络的链式重复模块。在标准的 RNN 中,这个重复模块具有⾮常简单的结构,例如只有单个 tanh 层。

LSTM 也具有这种类似的链式结构,但重复模块具有不同的结构。不是⼀个单独的神经⽹络层,⽽是四个,并且以⾮常特殊的⽅式进⾏交互。

不要担⼼细节。稍后我们将逐步浏览 LSTM 的图解。现在,让我们试着去熟悉我们将使⽤的符号。

在上⾯的图中,每⾏包含⼀个完整的向量,从⼀个节点的输出到其他节点的输⼊。粉⾊圆圈表示逐点运算,如向量加法;⽽⻩⾊框表示学习的神经⽹络层。⾏合并表示串联,⽽分⽀表示其内容正在被复制,并且副本将转到不同的位置。