1.RNN 是一类具有内部环的神经网络:

Python深度学习 6:循环神经网络。
Python深度学习 6:循环神经网络。

2。SimpleRNN层是有缺陷的:

Python深度学习 6:循环神经网络。

3.LSTM:

Python深度学习 6:循环神经网络。
Python深度学习 6:循环神经网络。
Python深度学习 6:循环神经网络。

4.循环神经网络更高级的用法:

Python深度学习 6:循环神经网络。

5.Dropout:

Python深度学习 6:循环神经网络。
Python深度学习 6:循环神经网络。

6.增加网络容量的通常做法是增加每层单元数或增加层数:

Python深度学习 6:循环神经网络。

7.在 Keras 中逐个堆叠循环层,所有中间层都应该返回完整的输出序列(一个3D 张量),而 不是只返回最后一个时间步的输出。

从下面这个图很好理解。

Python深度学习 6:循环神经网络。

8.双向RNN:

双向RNN 利用了RNN 的顺序敏感性:它包含两个普 通 RNN,比如你已经学过的 GRU 层和 LSTM 层,每个RN 分别沿一个方向对输入序列进行处理 (时间正序和时间逆序),然后将它们的表示合并在一起。通过沿这两个方向处理序列,双向 RNN 能够捕捉到可能被单向 RNN 忽略的模式。

仅仅正向或者仅仅反向效果基本相同,但是学到的东西是有差异的。

Python深度学习 6:循环神经网络。
Python深度学习 6:循环神经网络。

小结:

Python深度学习 6:循环神经网络。