最終更新日:2026年9月4日
gk neural_network rnn
まず結論
ジョルダンネットワークとElmanネットワークは、どちらも過去の情報を次時刻へ引き継ぐ再帰型ニューラルネットワークです。
G検定では、まず次の違いを押さえます。
- Jordan:前時刻の出力をもとに状態を更新する
- Elman:前時刻の隠れ層の活性をcontext unitsへコピーする
試験では、
出力側の情報を戻す → Jordan
隠れ層の状態を戻す → Elman
と切り分けると分かりやすいです。
直感的な説明
2つの違いは、「何を記憶として次へ渡すか」です。
- Jordan:前回の出力結果に関係する状態を次へ渡す
- Elman:前回の内部状態(隠れ層)を次へ渡す
イメージすると、
- Jordan:前回どう出力したかを手掛かりに次を考える
- Elman:前回内部でどんな状態だったかを手掛かりに次を考える
という違いです。
ただし、Jordanを単純に「出力をそのまま次の入力へ入れるだけ」と考えるのは少し不正確です。
定義・仕組み
ジョルダンネットワーク(Jordan Network)
Jordanの1986年のモデルでは、state units(状態ユニット)が系列の文脈を保持します。
この状態は、
- 前時刻の出力
- 前時刻の状態
の影響を受けて次時刻へ更新されます。
原典では、出力ユニットから状態ユニットへの再帰結合に加えて、状態ユニット自身への再帰結合も用いられています。
したがって、G検定向けに簡略化すると、
Jordan=出力側の情報を状態へ戻すRNN
と覚えるのが安全です。
Elmanネットワーク(Elman Network)
Elmanの1990年のSimple Recurrent Networkでは、隠れ層の活性をcontext unitsへ1対1でコピーします。
次の時刻では、
- 現在の入力
- 1つ前の隠れ層を保存したcontext
の両方を使って新しい隠れ状態を計算します。
つまり、
Elman=隠れ層の内部状態を次時刻へ渡すRNN
です。
2つを比較
| 観点 | Jordan | Elman |
|---|---|---|
| 主に戻す情報 | 出力側の情報 | 隠れ層の活性 |
| 状態・context | 前出力と前状態に依存 | 前隠れ層をコピー |
| 記憶するイメージ | 過去の出力履歴 | 過去の内部表現 |
| G検定でのキーワード | output | hidden / context |
いつ使う?(得意・不得意)
Jordanが向く考え方
- 過去の出力系列が次の状態に強く関係する問題
- 出力履歴を文脈として利用したい場合
Elmanが向く考え方
- 入力系列の時間的文脈を内部状態として保持したい場合
- 系列データの内部表現を学習したい場合
Elmanの原著では、時系列XORだけでなく、単語系列から統語的・意味的構造を学習する実験にも使われています。
共通の注意点
JordanもElmanも初期のRNNです。
長い時間間隔の依存関係を学習する場合、単純なRNNでは勾配消失・勾配爆発などが問題になりやすく、後にLSTMやGRUなどが広く使われるようになりました。
ただし、JordanやElmanをそのままLSTM/GRUの同義語や直接の構造と考えないことが重要です。
G検定ひっかけポイント
どこから戻す?
❌ Jordan=隠れ層をcontextへコピー
⭕ それはElman
❌ Elman=出力側の情報を状態へ戻す
⭕ それはJordan側の特徴
Jordanは「出力をそのまま入力へ戻す」?
❌ 出力値を単純に入力層へコピーするだけ
⭕ 出力の情報をstate unitsへ戻し、前状態と合わせて文脈を保持する
Elmanのcontext units
❌ context unitsは独立に新しい特徴量を学習する層
⭕ 前時刻の隠れ層の活性を保存し、次時刻へ渡す役割
LSTM・GRUとの違い
❌ Jordan / Elman = LSTM / GRU
⭕ どちらもRNN系だが、LSTM・GRUには長期依存を扱いやすくするゲート構造がある
試験中の判断基準
- output → state/context → Jordan
- hidden → context → Elman
この2語を見れば、まず選択肢を切れます。
まとめ(試験直前用)
- JordanとElmanはどちらも初期のRNN
- Jordan:出力側の情報を状態へ戻す
- Jordanの状態は前出力+前状態の影響を受ける
- Elman:隠れ層の活性をcontextへコピー
- Elmanではcontextが前時刻の内部状態を保持する
- G検定では output=Jordan / hidden=Elman で切る
- LSTM・GRUとは別の構造
参考資料(原典)
- Jordan, M. I. (1986), Serial Order: A Parallel Distributed Processing Approach
- Elman, J. L. (1990), Finding Structure in Time
次に読むなら
2つのフィードバック元を見分けたら、それぞれの単独記事とRNN全体へ進みます。
- エルマンネットワークとは?:隠れ層の状態を再利用する構造を詳しく確認する
- ジョルダンネットワークとは?:出力を次時刻へ戻す構造を詳しく確認する
- RNN(再帰型ニューラルネットワーク):両者が属する再帰型ネットワークの基本を整理する
🔗 関連記事
- A2C / A3C とは?(Actor–Critic の実装差)【G検定対策】
- 活性化関数の微分とは?勾配消失との関係【G検定対策】
- 活性化関数とは?ReLU・Sigmoid・tanh・Softmaxを切り分け【G検定】
- Actor–Critic とは?(オン/オフポリシーの位置づけ)【G検定対策】
- AdaBoundとは?動的な学習率境界を使う最適化手法【G検定】