像是股票、基因组序列这种数据,t-1时刻的数据很有可能会被t时刻的数据存在影响的(像是隐马尔科夫模型),我们称之为序列数据。为了处理这种数据,RNN应运而生,像是存在一定的记忆性。在RNN中,上一时刻隐藏层的的状态参与到了这一时刻的计算,如下图所示。
在t时刻,除了输入xt,还有上一时刻t-1时刻的中间隐藏层的值st-1也被传到了t时刻当做输入。对于t时刻,就同时考虑到了此时和上一时刻的数据。
RNN可以应用于:语音识别、文本分类、情感分类、机器翻译以及我们所熟悉的DNA/RNA序列的分析等等。
RNN存在以下几种不同的结构:
对于简单的RNN模型容易存在以下两种问题:梯度消失和梯度爆炸。这是因为在反向传播算法计算的过程中,假如梯度小于1,那么在较多的层数的连乘中,梯度可能会逐渐趋近于0,造成梯度消失。
(随缘更新RNN~)
网友评论