文章目录
前言
前文提到过用CNN、RNN、来解决隐藏在文本背后的语义问题,进而进行模型的训练。LSTM在解决长距离文本存在的依赖。
LSTM在所有涉及时间序列、离散序列和NLP领域问题的应用中都取代了RNN。
一、LSTM凭什么可以替换RNN?
LSTM主要解决两个问题:在模型训练的过程中选择记住什么以及学习预测目标标签(学习需要记住的信息,同时学习输出信息。)。
相对于CNN,RNN其实在上下文依赖关系进行了改进,在一定程度上解决了相近的上下文依赖。LSTM正解决了距离较远时词与词之间仍然存在依赖关系,使得循环神经网络具有更深层次的记忆功能。
在以下几方面都是LSTM的优点:
- 可以考虑超越文字本身的关于语言更深层次的东西。
- 可以学习人类习以为常和在潜意识层面上处理的语言模式。
- 更精确的预测样本类别。
- 生成新文本。
- 记忆状态在时间序列持续存在于所有时刻。
- 在每个时刻的迭代中,隐藏层循环神经单元都可以访问记忆单元。
二、LSTM的神秘之处是什么?
LSTM 使用一种门控循环单元(GRU【gated recurrent unit】),可以有效保持长短期记忆。(如下图所示)