对于序列数据,它的一个重要特性是具有顺序,而RNN的记忆性使它可以处理序列数据。
下面我们来回答几个问题:
- RNN的结构是什么?
- RNN为什么具有记忆功能?
- RNN的损失函数是?
- RNN存在梯度消失/爆炸问题的原因是什么?
1. RNN的结构是什么?
首先,我们看下基本RNN的结构:
模型的每个时间步通用公式为:
a < t > = f ( W a a < t − 1 > + W x x < t > + b a ) y ^ < t > = g ( W y a < t > + b y ) \begin{aligned} &a^{<t>}=f(W_{a}a^{<t-1>}+W_{x}x^{<t>}+b_{a}) \\& \hat{y}^{<t>}=g(W_{y}a^{<t>}+b_{y}) \end{aligned} a<t>=f(Waa<t−1>+Wxx<t>+ba)y^<t>=g(W