RNN如何知道如何将过去的信息应用于当前输入?网络具有两组权重,一个用于隐藏状态向量,一个用于输入。在培训期间,网络了解输入和隐藏状态的权重。实施时,输出基于当前输入,以及基于先前输入的隐藏状态。
LSTM.
在实践中,简单的RNN经历了学习长期依赖的问题。RNN通常通过BackPropagation培训,在那里他们可以体验'消失'或'爆炸'渐变问题。这些问题导致网络权重变得非常小或非常大,限制了学习长期关系的有效性。
克服这一问题的一种特殊类型的递归神经网络是长期短期记忆(LSTM)网络。LSTM网络使用额外的门来控制隐藏单元格中的信息使其成为输出和下一个隐藏状态。这允许网络更有效地学习数据中的长期关系。LSTMS是一种常用的RNN类型。
马铃薯®具有一套完整的特性和功能,可以用文本、图像、信号和时间序列数据训练和实现LSTM网络。下一节将探讨rnn的应用以及使用MATLAB的一些示例。
RNNS的应用
自然语言处理
语言是自然顺序的,每一段文字的长度各不相同。这使得rnn成为解决这一领域问题的一个很好的工具,因为它们可以学习将单词放在句子的上下文中。一个例子包括情绪分析,一种对单词和短语的含义进行分类的方法。机器翻译或使用算法在语言之间翻译,是另一个常见应用程序。单词首先需要从文本数据转换为数字序列。一种有效的做法是一个单词嵌入层。单词嵌入将单词映射成数字向量。的例子下面使用单词嵌入来训练一个单词情感分类器,并使用MATLAB单词云函数显示结果。