RNN如何知道如何应用过去的信息对当前输入?网络有两组权重,一个隐藏的状态向量和一个用于输入。在培训过程中,网络学习权重的输入和隐藏的状态。实现时,输出是基于当前的输入,以及隐藏的状态,这是基于以前的输入。
LSTM
在实践中,简单RNNs经验学习的问题长期依赖。RNNs通常通过反向传播训练,在那里他们可以体验‘消失’或‘爆炸’梯度问题。这些问题导致网络权重变得很小或很大,限制了学习的有效性的长期关系。
一种特殊类型的递归神经网络,克服了这个问题长时间的短期记忆(LSTM)网络。LSTM网络使用额外的盖茨来控制哪些信息隐藏的细胞使其输出和下一个隐藏的状态。这使得网络更有效地学习数据的长期关系。LSTMs普遍实现RNN的类型。
MATLAB®有全套的特性和功能训练和实施LSTM网络文本、图像、信号,时间序列数据。下一个部分将探索RNNs和一些例子使用MATLAB的应用程序。
应用RNNs
自然语言处理
语言是自然顺序,不同长度的文本片段。这使得RNNs一个很棒的工具来解决问题在这一领域,因为他们可以学会一些单词一个句子中去。一个例子包括情绪分析的方法,分类词汇和短语的意义。机器翻译,或者使用一个算法语言之间的翻译,是另一种常见的应用程序。单词首先需要从文本数据转换成数字序列。一个有效的方法字嵌入层。字嵌入的词汇映射到数值向量。的例子使用以下单词嵌入一个字情绪分类器训练,显示结果与MATLAB wordcloud函数。