cs224n---lecture8: RNN
附一个不错的资料:https://blog.****.net/apsvvfb/article/details/52848554
https://www.toutiao.com/i6491156699737489933/?group_id=6491156699737489933&group_flags=0
首先通过一个例子说一下语言模型:
RNN优点:
- 可以处理任意长度的输入
- weights在所有时刻都是共享的
- 可以利用前面时刻的信息
RNN缺点:
1. 耗时,无法并行
2. 实际中,很难利用前面很远时刻的信息
RNN公式:
其中,只有一套。
RNN可能会遭遇梯度消失或梯度爆炸问题:
其中
其中
可以很大或很小。注意到是向量对向量求导,结果是一个Jacobian矩阵,矩阵元素是每个点的导数。
对于梯度爆炸,使用Gradient clipping。
对于梯度消失,可以选择好的初始化,使用Relu**函数。但是主要的方法还是使用GRU和LSTM。