G検定(ジェネラリスト検定)
じょるだんねっとわーく
ジョルダンネットワーク
Jordan Network
ジョルダンネットワークは、マイケル・I・ジョーダン(Michael I. Jordan)が1986年の報告書で示した、1つの計画から行動の系列を順番に出力するためのニューラルネットワークの構造です。計画ユニットと状態ユニットの値を入力として出力を計算し、状態ユニット自身への再帰結合と、出力ユニットから状態ユニットへの再帰結合によって、次の時刻の状態が1つ前の状態と1つ前の出力の両方に依存します。隠れ層の値を次の時刻へ戻すエルマンネットワークとは、戻す値をどの層から取るかが違います。
詳しい説明
1つの計画から行動の系列を出すという問題
マイケル・I・ジョーダン(Michael I. Jordan)は、1986年にカリフォルニア大学サンディエゴ校の認知科学研究所から出した報告書「Serial Order: A Parallel Distributed Processing Approach」(ICS Report 8604)で、行動を正しい順番で出すという問題を扱いました。題名の serial order は「系列の順序」という意味です。ここで解くべき問題は、1つの計画を与えられたネットワークが、その計画に対応する行動を1つずつ順番に出力していくことです。ジョルダンネットワークは、この報告書で示されたネットワークの構造を指す呼び名です。語名の「ジョルダン」と人名の「ジョーダン」は、どちらも英語の Jordan を日本語で表記したものです。
説明のための例として、ある単語を発音するという計画があり、その単語の音を最初から1つずつ順に出していく場面を考えます。与えられている計画は1つでも、1つ目の音を出す時点と3つ目の音を出す時点では、出すべき音が違います。したがってネットワークは、いま系列のどこまで進んだかを何らかの形で内部に持っていなければなりません。ジョーダンの構造は、この「どこまで進んだか」を状態ユニットという入力に持たせ、それを再帰結合で更新します。
3つのユニット群と2種類の再帰結合
報告書の9ページが示す構造は、3つのユニット群から成ります。ユニットは、ニューラルネットワークを構成する1つ1つの素子のことです。
| ユニット群 | 役割 |
|---|---|
| 計画ユニット(plan units) | どの系列を出すかを指定する入力 |
| 状態ユニット(state units) | 系列の進み具合を表す入力 |
| 出力ユニット(output units) | その時刻に出す行動 |
計画ユニットと状態ユニットの値をあわせて入力とし、重み付きの結合を通して出力ユニットの値を計算します。報告書は、入力から出力を決めるこの関数を出力関数 と呼んでいます。出力関数は一般に非線形なので、入力と出力の間には隠れユニットを置いて計算します。
報告書は、次の時刻の状態を決める関数を next-state function(次状態関数)と呼び、これを2種類の再帰結合で実現しています。再帰結合とは、あるユニットの値を次の時刻に別のユニットや自分自身へ戻す結合です。1つは状態ユニットから状態ユニット自身への結合で、もう1つは出力ユニットから状態ユニットへの結合です。
時刻 の計画を 、状態を 、出力を 、次状態関数を と書くと、関係は次のように表せます。記号はこのページで説明のために置いたもので、報告書の表記そのものではありません。
1つ目の式は、出力が計画と現在の状態から決まることを表します。2つ目の式は、次の状態が現在の状態と現在の出力から決まることを表します。これにより、ある時刻の状態は1つ前の状態と1つ前の出力の両方に依存できます。そして1つ前の出力は、1つ前の状態と計画から決まっています。
先ほどの発音の例に当てはめると、流れは次の表のようになります。
| 時刻 | 状態ユニットが受け取るもの | 出力ユニットが出すもの |
|---|---|---|
| 1 | 系列の始めの状態 | 1つ目の音 |
| 2 | 時刻1の状態と、時刻1に出した1つ目の音 | 2つ目の音 |
| 3 | 時刻2の状態と、時刻2に出した2つ目の音 | 3つ目の音 |
計画ユニットに入る値は同じでも、状態ユニットの値が時刻ごとに変わるので、出力関数 は時刻ごとに違う音を出せます。
順番を表す専用の仕組みを持たない
報告書はこの構造について、「there is no explicit representation of temporal order and no explicit representation of action sequences」と述べています。時間の順序を明示的に表すものも、行動の系列を明示的に表すものも無い、という意味です。続けて、出力のベクトルは、あらかじめ静的なバッファに用意しておいて順に実行するものではなく、動的な過程として生じなければならない、と書いています。
つまりこの構造は、系列の何番目かを数える専用のカウンターや、出すべき行動を並べた一覧をネットワークの中に置きません。何番目の行動を出すべきかという情報は、状態ユニットが前の状態と前の出力を受け取って変わっていくことの中に現れます。
報告書の実験で置いた簡略化
報告書の実験では、出力ユニットから状態ユニットへの結合を1対1にし、その重みを1.0に固定しました。出力ユニット1つにつき状態ユニット1つが対応し、出力の値がそのまま状態ユニットへ送られるということです。学習させたのは出力関数だけでした。
この設定は、のちにジェフリー・L・エルマン(Jeffrey L. Elman)が1990年の論文「Finding Structure in Time」でジョーダンの構造を図示したときの説明文「Connections from output to state units are one-for-one, with a fixed weight of 1.0」(出力ユニットから状態ユニットへの結合は1対1で、重みは1.0に固定されている)とも一致します。
エルマンネットワークとの違い
エルマンは1990年の論文で、ジョーダンの構造を紹介したうえで、それを修正する方式を示しました。修正後の方式では、入力層に文脈ユニット(context units)を加え、隠れ層の値を写し取って次の時刻の入力として使います。この方式がエルマンネットワークと呼ばれるものです。エルマン自身は、この方式を新しく発明したものとしてではなく、ジョーダンの方式を修正したものとして位置づけています。
2つの構造の違いは、次の時刻へ戻す値をどの層から取るかにあります。
| 次の時刻へ戻す値の取り出し元 | 戻した値を受け取るユニット | |
|---|---|---|
| ジョルダンネットワーク | 出力ユニット | 状態ユニット |
| エルマンネットワーク | 隠れ層 | 文脈ユニット |
ジョルダンネットワークでは、次の状態へ持ち越される情報が、ネットワークが実際に出した行動を経由します。エルマンネットワークでは、出力になる前の隠れ層の値がそのまま持ち越されます。
この構造が何を示したものか
再帰結合を持つニューラルネットワークはリカレントニューラルネットワークと総称され、ジョルダンネットワークはその構造の1つです。ジョーダンの報告書が扱ったのは、1つの計画から行動の系列を順に生成するという問題であり、この報告書を再帰結合を持つネットワーク全般の起源として読むことは、報告書自身の主張を超えています。報告書が示したのは、順番を明示的に表す仕組みを置かずに、出力を状態へ戻す再帰結合によって系列を生み出せる構造です。
試験で問われること
G検定
- ジョルダンネットワークは、計画ユニット・状態ユニット・出力ユニットの3つのユニット群から成ります。計画ユニットと状態ユニットの値を入力として出力を計算する構造として捉えると整理できます。
- 次の時刻の状態は、状態ユニット自身への再帰結合と、出力ユニットから状態ユニットへの再帰結合で決まります。出力層の値を次の時刻の入力側へ戻す点が、この構造の特徴です。
- エルマンネットワークとの違いは、次の時刻へ戻す値をどの層から取るかです。ジョルダンネットワークは出力ユニットの値を状態ユニットへ戻し、エルマンネットワークは隠れ層の値を文脈ユニットへ戻します。
- ジョーダンの報告書(1986年)は、1つの計画から行動の系列を順番に出力する問題を扱いました。順番を数えるカウンターや行動の一覧を置かず、系列の進み具合を状態ユニットの変化で表す点を押さえておくと、構造の目的が分かります。
最終更新日: 2026/09/23