オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】Gated Recurrent Unit / GRU

こんな方におすすめ

深層学習・ディープラーニングでも必要な「Gated Recurrent Unit : GRU」の基本的な内容について知りたい.



この記事では、Gated Recurrent Unit : GRUの基礎概念のまとめを行う.

Index

Gated Recurrent Unit : GRUとは

RNN のネットワークアーキテクチャを基本とした、拡張したモデル.

GRUは、LSTM の改善手法として提案された.

LSTM との違い

LSTMは、RNN の改善手法で「ゲート」という機構を搭載していた.

しかし、そのためにパラメータ数が多くなるという問題点もある.

そこで、「ゲート」を有効活用しつつ、パラメータ数 (ゲートの数) を減らした構造になっている.

インターフェース

LSTM は 隠れ状態記憶セル の 2 角ラインを使用する.

対して、GRU は隠れ状態だけを使用する.

計算グラフ

RNN の計算グラフ.



LSTM の計算グラフ.



このグラフから「記憶セル」なくし、複数の異なる「ゲート」を搭載することでGRUの計算グラフが出来上がる.

搭載されているゲートは 2 つ.

  • Reset ゲート (r)
  • Update ゲート (z)

Reset ゲート

Reset ゲートは、過去の隠れ状態をどれだけ 無視・リセットするのかを決定している.

 r = \sigma\ (\ x_t w_x^{(r)}\ +\ h_{t-1} w_h^{(r)}\ +\ b^{(r)}\ )

Update ゲート

Update ゲートは、隠れ状態を更新する.

 z = \sigma\ (\ x_t w_x^{(z)}\ +\ h_{t-1} w_h^{(z)}\ +\ b^{(z)}\ )



Update ゲートは、LSTM の Forget ゲート / Input ゲートの 2 つの役割を担っている.

Forget ゲートとして機能しているのは、 以下の計算箇所.

 (1 - z)\ \odot\ h_{t-1}



Input ゲートとして機能しているのは、以下の計算箇所.

 z\ \odot\ \tilde{h}

まとめ

  • GRU は、LSTMをよりシンプルにしたネットワークアーキテクチャ.
  • タスクやハイパーパラメータによっては、精度の優劣は変わる.

参考

  • Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

書籍