循环神经网络:就是借助循环核实现的时间特征提取,再把提取到的信息送入全连接网络,实现连续数据的预测。
循环核:循环核具有记忆力,通过不同时刻的参数共享,实现了对时间序列的信息提取。
ht:每个时刻的状态信息
参数矩阵:wxh,whh,why
xt:输入特征
yt:输出特征
bh:偏置项
by:偏置项
yt=softmax(htwhy+by)
ht=tanh(xtwxh+ht-1whh+bh)
前向传播时:记忆体内存储的状态信息ht,在每个时刻都被更新,三个参数矩阵wxh,whh,why自始至终都是固定不变的。
反向传播时:三个参数矩阵wxh,whh,why被梯度下降法更新。
循环计算层:每个循环核构成一层循环计算层,循环计算层的层数是向输出方向增长的。
在神经网络中,常用独热码对输入数据进行编码,但是独热码的位宽要与输入数据量一致,如果输入数据过大,独热码也会过长,非常浪费资源。因此引入了Embedding编码方法。
Embedding:用低维向量是实现了编码,这种编码通过神经网络训练优化,能表达出单词间的相关性。
为了解决一般的RNN存在的长期依赖问题,Hochreiter等提出了长短期记忆网络。
循环神经网络中的LSTM和GRU