【一】RNN - Introduction(Recurrent Neural Network)
【二】RNN - 结构图(序列处理器)
-
结构示意图
-
展开示意图 (W 不变,权重共享)
- 记忆体(中间层H)
- Ho = F(Wu * Xo)
- H1 = F(Wh * Ho + Wu * X1)
-
H2 = F(Wh * H1 + Wu * X2)
……
【三】RNN - 代码
【四】RNN - 损失函数
- 反向传播示意图
-
Loss 对 y 进行求导:∂Loss / ∂y =(P,… ,1-Plabel,…, P)
Loss 对多个 y 进行求导,其中 P > 0,1-Plabel < 0,进过梯度下降 y = y - lr * grad,在真实的标签处 概率 会越来越大,在其他地方 概率 会越来越小
-
y 对 h 进行求导 + h 对 W 的求导:dyi * (1 - hi ` 2) * Wi-1
-
梯度消失 - LSTM and GRU
最后的 Loss 对若干步之前的 W 更新几乎为 0【∂Loss / ∂W 】
-
梯度爆炸 - Tanh 激活函数
最后的 Loss 对若干步之前的 W 更新几乎为 +∞【∂Loss / ∂W 】
【最后】RNN - 语言模型
-
Markov(马尔科夫链):P ( St+1 | St )
-
N - Gram(条件概率)≈ N - Markov
-
RNN