1 定義と背景
GRU(Gated Recurrent Unit)は、リカレントニューラルネットワーク(RNN)の一種であり、長期依存関係の学習における勾配消失・爆発問題を緩和するために、2014年にChoらによって提案された。LSTM(Long Short-Term Memory)と類似したゲート機構を備えるが、忘却ゲートと入力ゲートを「更新ゲート」に統合することで、より単純な構造を実現している。この構造によりパラメータ数が少なくなり、計算効率とメモリ効率が向上した。GRUは自然言語処理、時系列予測、音声認識など、系列データを扱う深層学習タスクで広く利用されている。
1.1 RNNの課題とGRUの動機
従来のRNNは、系列データの各時刻における隠れ状態を順次更新することで、時間的な依存関係をモデル化する。しかし、誤差逆伝播を時間方向に遡るバックプロパゲーション・スルー・タイム(BPTT)において、勾配が指数的に減衰(勾配消失)または増大(勾配爆発)する問題が深刻であり、特に長い系列では過去の情報を適切に保持・伝達することが困難であった。GRUは、この課題を解決するために、ゲート機構を導入して勾配の流れを制御し、長期依存関係の学習を可能にした。
1.2 LSTMとの関係
LSTMは1997年にHochreiterとSchmidhuberによって提案され、入力ゲート、忘却ゲート、出力ゲートの三つのゲートとセル状態を持つ複雑な構造で長期記憶を実現した。GRUはLSTMの本質的なアイデア(ゲートによる情報の取捨選択)を継承しつつ、セル状態を明示的に持たず、隠れ状態のみで動作する。忘却ゲートと入力ゲートを統合した更新ゲートと、リセットゲートの二つのゲートのみで構成されるため、パラメータ数が約3分の2に削減され、訓練が高速かつ安定しやすい。多くのタスクでLSTMと同等以上の性能を示すことが報告されている。
2 アーキテクチャ
GRUはリセットゲートと更新ゲートという二つのゲート機構を用いて、各時刻における隠れ状態の更新を制御する。これにより、過去の情報をどの程度保持し、どの程度新しい情報で置き換えるかを学習する。
2.1 リセットゲート
リセットゲートは、前時刻の隠れ状態\(h_{t-1}\)のうち、現在の候補隠れ状態の計算にどの程度の情報を利用するかを決定する。時刻\(t\)におけるリセットゲート\(r_t\)は、現在の入力\(x_t\)と前時刻の隠れ状態\(h_{t-1}\)を基に、シグモイド関数を用いて計算される: \[ r_t = \sigma(W_r x_t + U_r h_{t-1} + b_r) \] ここで、\(W_r\)、\(U_r\)は重み行列、\(b_r\)はバイアス項である。\(r_t\)の値が0に近いほど過去の情報を無視し、1に近いほど過去の情報を保持する。
2.2 更新ゲート
更新ゲートは、前時刻の隠れ状態をどの程度現在の隠れ状態にコピーするか、および新しい候補隠れ状態をどの程度採用するかを決定する。時刻\(t\)における更新ゲート\(z_t\)は、リセットゲートと同様の計算式で求められる: \[ z_t = \sigma(W_z x_t + U_z h_{t-1} + b_z) \] \(z_t\)が1に近いほど過去の情報を多く保持し、0に近いほど新しい情報に置き換える。このゲートはLSTMにおける忘却ゲートと入力ゲートの役割を統合している。
2.3 隠れ状態の計算
GRUの隠れ状態\(h_t\)は、更新ゲート\(z_t\)を用いて前時刻の隠れ状態\(h_{t-1}\)と候補隠れ状態\(\tilde{h}_t\)の加重平均として計算される: \[ h_t = (1 - z_t) \odot \tilde{h}_t + z_t \odot h_{t-1} \] 候補隠れ状態\(\tilde{h}_t\)は、リセットゲート\(r_t\)によって調整された過去の情報と現在の入力から計算される: \[ \tilde{h}_t = \tanh(W_h x_t + U_h (r_t \odot h_{t-1}) + b_h) \] ここで、\(\odot\)は要素ごとの積を表す。リセットゲートが0に近い場合、\(\tilde{h}_t\)は入力のみに依存し、過去の情報をリセットする動作となる。
2.4 GRUとLSTMの構造比較
LSTMはセル状態\(c_t\)と三つのゲート(入力ゲート\(i_t\)、忘却ゲート\(f_t\)、出力ゲート\(o_t\))を持ち、セル状態の更新と隠れ状態の出力を別々に管理する。一方、GRUはセル状態を持たず、隠れ状態のみで動作するため、パラメータ数が少ない。LSTMは出力ゲートにより隠れ状態の情報量を調整できるのに対し、GRUは更新ゲートが隠れ状態全体の保持率を制御する。構造の単純さから、GRUは計算コストが低く、小さなデータセットや短い系列に対して有利であるが、非常に長い系列や複雑な依存関係ではLSTMが優れる場合もある。多くのベンチマークでは両者の性能差は小さい。
3 学習と最適化
GRUの学習は、標準的なRNNと同様に誤差逆伝播法の一種であるバックプロパゲーション・スルー・タイム(BPTT)を用いて行われる。また、安定した学習のために適切な重み初期化と正則化手法が重要となる。
3.1 バックプロパゲーション・スルー・タイム(BPTT)
BPTTは、時刻方向にRNNを展開し、各時刻の誤差を時間的に逆伝播させる手法である。GRUでは、ゲート機構により勾配の流れが制御されるため、従来のRNNより勾配消失問題が緩和される。具体的には、更新ゲート\(z_t\)が1に近いとき、\(\frac{\partial h_t}{\partial h_{t-1}}\)が1に近くなり、長期にわたって勾配が保持されやすい。ただし、リセットゲートの影響や非線形活性化関数(tanh)の存在により、勾配爆発が生じる可能性もあるため、勾配クリッピング(gradient clipping)などの対策が併用されることが多い。
3.2 重み初期化と正則化手法
GRUの学習を安定化させるために、重みの初期化には一様分布や正規分布に加え、直交初期化(orthogonal initialization)が効果的である。また、過学習を防ぐため、ドロップアウト(dropout)や重み減衰(weight decay)が用いられる。特に、GRUでは時間方向のドロップアウトが難しいため、入力層と隠れ層の間のドロップアウト(variational dropout)や、ゲートに対するドロップアウト(zoneout)などの手法が開発されている。ゾーンアウトは、一部のゲートを単位行列のように動作させることで、長期記憶を促進する正則化手法である。
4 応用分野
GRUはその計算効率の良さと長期依存関係の学習能力から、系列データを扱う多様な分野で応用されている。
4.1 自然言語処理
自然言語処理(NLP)では、テキストの系列情報を捕捉するためにGRUが頻繁に使用される。特に、翻訳や生成などのタスクで高い性能を発揮する。
4.1.1 機械翻訳
機械翻訳では、エンコーダ・デコーダモデルのエンコーダおよびデコーダとしてGRUが利用される。エンコーダが入力文を固定長の文脈ベクトルに変換し、デコーダがそのベクトルから出力文を生成する。GRUは翻訳の際に長距離の単語間依存関係を捉えるのに有効であり、特に注意機構(attention)と組み合わせることで性能が向上する。ChoらがGRUを提案した当初の論文も、機械翻訳のタスクで評価されている。
4.1.2 文章生成
文章生成(言語モデル)では、与えられた文脈から次の単語を予測するためにGRUが用いられる。例えば、文字レベルの言語モデルや単語レベルの言語モデルにおいて、GRUはLSTMと同等の性能を示しつつ、より高速に訓練できる。また、対話システムや物語生成などの応用でも、GRUを基盤としたモデルが広く使われている。
4.2 時系列予測
時系列データの予測(株価、気象データ、需要予測など)において、GRUは過去の観測値から将来の値を予測するモデルとして利用される。従来の統計モデル(ARIMAなど)と比較して、非線形なパターンや長期依存関係を学習できる利点がある。特に、複数の時系列を同時に扱うマルチバリアント予測では、GRUが効果的であることが多い。
4.3 音声認識
音声認識では、音響特徴量の系列を音素や単語の系列に変換するタスクにGRUが適用される。音声信号は時間的に長い系列となるが、GRUのゲート機構により、発声全体の文脈を考慮した認識が可能となる。また、双方向GRU(後述)を用いることで、過去と未来の両方の情報を利用して認識精度を高めることができる。
5 発展と派生モデル
GRUの基本的な構造を拡張した様々な派生モデルが提案されている。これらは、特定のタスクやデータ特性に合わせて設計されている。
5.1 双方向GRU(Bi-GRU)
双方向GRU(Bidirectional GRU)は、順方向のGRUと逆方向のGRUを組み合わせ、各時刻で過去と未来の両方の情報を利用できるようにしたモデルである。自然言語処理や音声認識など、系列全体の文脈が重要なタスクで広く用いられる。例えば、文中の単語を正しく解釈するためには、その単語の前後の単語を考慮する必要がある。Bi-GRUはこのような状況で有効であり、多くのベンチマークで単方向GRUを上回る性能を示す。
5.2 深層GRU(Stacked GRU)
深層GRU(Stacked GRU)は、複数のGRU層を積み重ねたモデルである。各層は異なる時間スケールの特徴を抽出することができ、上位層ほど抽象的な表現を学習する。例えば、音声認識では下位層が音響的特徴、上位層が言語的特徴を捉える。層数を増やすことで表現能力は向上するが、過学習や訓練の難しさが増すため、ドロップアウトや層間のスキップ接続(residual connection)などの工夫が必要となる。
5.3 他のゲート付きRNNとの比較
GRU以外の代表的なゲート付きRNNとして、LSTMの他に、Clockwork RNN、MGU(Minimal Gated Unit)、UGRNN(Update Gate RNN)などがある。MGUはGRUからさらにリセットゲートを削除して単一ゲートとしたもので、さらにパラメータが少ない。UGRNNは更新ゲートのみを持つ単純な構造である。これらはGRUより計算効率が高い一方、性能が劣る場合がある。また、ゲート機構を持たないが構造が極めて単純なSRU(Simple Recurrent Unit)や、並列計算に適したQRNN(Quasi-RNN)なども比較対象となる。GRUは性能と効率のバランスが良く、多くの実務で標準的に利用されている。