GRU与LSTM的区别
前面说到过LSTM的出现是为了解决传统RNN无法解决的长距离依赖问题而出现的,而GRU也具有该功能,但是结构相对于LSTM来说相对简单,可以将GRU看作是LSTM的一种优化或变体。
GRU的结构图
前向传播公式
其中“*”代表矩阵乘法,“⋅”代表点乘(相应位置的元素乘相应位置的元素)
rt=sigmoid(Wr∗[ht−1,xt]+br) r_t = sigmoid(W_r*[h_{t-1},x_t] + b_r)rt=sigmoid(Wr∗[ht−1,xt]+br)
zt=sigmoid(Wt∗[ht−1,xt]+bz)z_t = sigmoid(W_t*[h_{t-1},x_t] + b_z)zt=sigmoid(Wt∗[ht−1,xt]+bz)
h~t=tanh(Wh~∗[rt⋅ht−1,xt]+bh~)\widetilde h_t=tanh(W_{\widetilde h}*[r_t⋅h_{t−1},x_t]+b_{\widetilde h})ht=tanh(Wh∗[rt⋅ht−1,xt]+bh)
ht=(1−zt)⋅ht−1+zt⋅h~th_t = (1-z_t)⋅h_{t-1} + z_t⋅{\widetilde h_t}ht=(1−zt)⋅ht−1+zt⋅ht
yt=sigmoid(Wo∗ht+by)y_t = sigmoid(W_o*h_t + b_y)yt=sigmoid(Wo∗ht+by)