「精读」自然言语处理基础之LSTM

图灵汇官网

在接下来的【精读】中,我们将深入了解自然语言处理中的重要基础知识,包括seq2seq、attention和RNN。

明天我们将进一步探讨循环神经网络(RNN),并介绍其改进版本——长短期记忆网络(LSTM)。实际上,LSTM在网络应用中更为常见,且通常能获得更优的结果,因为它弥补了RNN的一些不足,如梯度消失和爆炸问题。

LSTM全称为“长短期记忆网络”,是一种改进型的RNN。尽管有些资料会将名称写成“Long-Short Term Memory”,但正确的形式应为“Long Short-Term Memory”。

RNN的核心是一个简单的记忆单元。相比之下,LSTM在此基础上增加了多个门控机制,使其能够根据不同的情境和输入条件灵活传递信息。

首先,我们来看LSTM的几个关键组成部分:

扩展1:输入门(Input Gate)

输入门负责决定哪些信息可以从当前输入中传递到记忆单元。输入门的信号由前一时刻的输出和当前时刻的输入共同决定。

扩展2:输出门(Output Gate)

输出门控制从记忆单元输出的信息量。如果输出门关闭,则记忆单元的内容不会被传递出去。

扩展3:遗忘门(Forget Gate)

遗忘门的作用是决定记忆单元中哪些信息需要被清除。如果遗忘门关闭,记忆单元中的旧信息会被清除,只保留新信息。

LSTM在RNN的基础上增加了这四个关键部分,使网络能够更好地处理长期依赖问题。下图展示了LSTM的内部结构。

通过公式化描述,我们可以更清晰地理解这些门控机制的工作原理。假设在t-1时刻后,记忆单元中的值为c。

在t时刻,经过训练后的输入部分分别为Z、Zi、Zo和Zf,分别通过各自的激活函数g(Z)、f(Zi)、f(Zf)和f(Zo)处理。

具体而言:

  • 输入门的值为g(Z) * f(Zi)
  • 忘记门的值为c * f(Zf)
  • 记忆单元的新值为c' = g(Z) * f(Zi) + c * f(Zf)
  • 经过激活函数h(c')处理后,输出门的值为a = h(c') * f(Zo)

由于所有门控机制都采用Sigmoid激活函数,因此它们的输出值要么为0,要么为1,从而实现信息的增减。

总的来说,LSTM在手写识别、序列生成、机器翻译、语音和视频分析等领域都取得了比RNN更好的效果。其中,遗忘门的作用尤为关键,它决定了哪些信息应该被保留,哪些应该被丢弃。

本文来源: 图灵汇 文章作者: 智说财经