深層学習day3 Section3:GRU

要点まとめ

LTSMでは演算負荷が大きく、学習時間がかかってしまうのが問題だった。

GRU (Gated Recurrent Unit)は演算量を削減して改善したもの。

数式

入力x(t)対する重みW、前回の出力h(t-1)に対する重みUを用いて、

リセットゲートの出力

 \displaystyle{
r(t) = W_{r}x(t)+U_{r} \cdot h(t-1)+b_{h}(t)
}

活性化関数f()を通すと、

 \displaystyle{
h(t) = f(W_{r}x(t)+U_{r} \cdot h(t-1)+b_{h}(t))
}

また、更新ゲートの出力は、

 \displaystyle{
z(t)=W_{z}x(t)+U_{z}\cdot h(t-1)+b_{z}(t)
}

これらから、次の出力を計算する。

 \displaystyle{
z(t)\cdot h(t-1) + (1-z(t))\cdot h(t)
}

実装演習

predict_wordを流して確認。 f:id:yui-gen-ron:20211228023201p:plain

確認テスト等考察

LSTMは部品の数が多い。その背景として、CECが記憶機能だけで学習機能を持たない。そのため入力ゲートや出力ゲートなどの機能を使用する必要があり、演算量を増加させていた。