GRUとは
Gated Recurrent Unit
LSTMを簡略化し、更新ゲートとリセットゲートの2つで情報の保持・忘却を制御するRNNのユニット構造
ひとことで言うと
概要
GRU(Gated Recurrent Unit)とは、LSTMが持つ入力・出力・忘却の3つのゲートとセル状態を、更新ゲート(update gate)とリセットゲート(reset gate)の2つのゲートに簡略化した、RNNのユニット構造。 更新ゲートが過去の情報をどれだけ引き継ぐかを、リセットゲートが過去の情報をどれだけ無視するかを制御することで、LSTMと同様に長期的な依存関係を学習しやすくしつつ、パラメータ数を抑えている。 LSTMと比べて構造が単純で計算量が少ないため、学習・推論を高速化したい場合や、データ量が比較的少ないタスクで選ばれることがある。
背景
LSTMは長期依存関係の学習に有効だったが、3つのゲートとセル状態を持つ分パラメータ数が多く、計算コストも大きいという課題があった。 GRUは、LSTMの性能をできるだけ保ちながら、ゲート構造を簡略化することで計算量とパラメータ数を削減するために考案された。
歴史
2014年: Choらが機械翻訳向けのRNN Encoder-Decoderモデルの一部としてGRUを提案。 LSTMより単純な構造でありながら同等の性能を示すタスクが多く報告され、以降RNN系列モデルの代表的な選択肢の1つとして定着した。
利点
欠点
- タスクによってはLSTMより表現力が劣り、精度で下回る場合がある
- Transformerの登場以降、長い系列を扱うタスクでは自己注意機構を用いる手法に主流が移っている