6.1 RNN の問題点 6.2 勾配消失と LSTM 6.3 LSTM の実装 6.4 LSTM を使った言語モデル 6.5 RNNLM のさらなる改善 6.6 まとめ |
関連用語
・RNN 時系列データxを入力すると隠れ状態h(過去の情報)を出力する
・ゲート付きRNN LSTM、GRU
・RNN の問題点
BPTT による勾配消失、勾配爆発
・勾配消失(vnishing gradients)
tanh が原因
・勾配爆発(exploding gradients)
MatMul が原因
・勾配クリッピング(勾配爆発の対応策)
・ゲート付きRNN(勾配消失の対応策)
・output ゲート tanhとアダマール積をとる
o = σ(Xt Wxo + Ht-1 Who + Bo)
・forget ゲート
f = σ(Xt Wxf + Ht-1 Whf + Bf)
・input ゲート
i = σ(Xt Wxi + Ht-1 Whi + Bi)
・g = tanh(Xt Wxg + Ht-1 Whg + Bg)
g は新たな記憶、input ゲートで制御
・LSTM : Long short-term memory 記憶セルcを経路に持つ
… 短期記憶を長い時間継続できる
・LSTM を使った言語モデル
TimeEmbedding → TimeLSTM → TimeAffine → TimeSoftmaxWithLoss
・RNNLM のさらなる改善
① LSTM レイヤの多層化
② Dropoutや正則化による過学習(過剰適合)の抑制
③ 重みの共有
④ ハイパーパラメータのチューニング