循环神经网络(RNN,recurrent neural network)是一类扩展的人工神经网络,它是为了对
序列数据进行建模而产生的。
1、前导知识
命名实体识别任务

符号化表示

计算机存储单词信息

循环神经网络按照时刻序列接受数据

2、循环神经网络的内部构造
2.1 网络内部计算过程


2.2 循环神经网络遇到的问题
-
深层面临的问题
- 当网络层次越来越深的时候(序列越来越长)就可能产生:
- 梯度爆炸
- 梯度消失
- 当网络层次越来越深的时候(序列越来越长)就可能产生:
-
循环神经网络深层面临的问题
The cat , which aleardy ate apples banana …, was full.
The cats, which aleardy ate apples banana …, were full.
正确的预测可能依赖于很久之前的某些信息,然而,RNN的预测受到的主要影响是较为靠近的词的影响

3、经典循环神经网络
3.1 LSTM

RNN的长依赖问题


1)LSTM第一步

2)LSTM第二步

3)LSTM第三步

4)LSTM第四步

总结:

3.2 GRU


3.3 RNN、GRU、LSTM的对比
RNN vs. GRU vs. LSTM

GRU vs. LSTM

4、循环神经网络的变体
4.1 双向循环网络(Bi-directional RNNs)
- RNN处理输入序列既可以从正向处理信息,也同时从反向处理信息

4.2 深层循环网络(Multi-layer RNNs)
- 在复杂应用场景下可以使用多层循环网络
- 也就是单层循环网络的堆叠
