言語AIの進化史⑫ジョーダン・ネットワークとエルマン・ネットワーク
前回は、ホップフィールド・ネットワークの紹介をしました。
ホップフィールド・ネットワークは、すべてのニューロンが互いに結びついた全結合型のニューラルネットワークで、内部に「状態」を保持し、反復的な処理を通してその状態を更新していきます。この仕組みにより、与えられた入力パターンに最も近い記憶されたパターンを見つけ出し、欠損部分を補完することができます。こうした機能は連想記憶と呼びます。
順伝播型ニューラルネットワーク(Feedforward Neural Network、FNN)とは異なり、ホップフィールド・ネットワークは内部に保持した情報を繰り返し更新する「反復的な構造」を持っています。ただし、この更新は、エネルギー最小化を通じてパターンを安定させるもので、シーケンス内の順序や時間依存のデータ処理とは異なります。
再帰型ニューラルネットワーク(Recurrent Neural Network、RNN)も、内部状態を保持しながら繰り返し処理を行う点でホップフィールド・ネットワークと似ていますが、RNNは時系列データや言語処理などのシーケンスデータの処理に特化したモデルです。
今回は、初期のRNNであるジョーダン・ネットワークとエルマン・ネットワークを解説します。
以下は、初期のRNNであるジョーダン・ネットワークとエルマン・ネットワークが登場するまでを関連するモデルなど時系列を追いながら解説したものです。
ニューラルネットワークと再帰構造
神経回路のループ構造
1901年に、サンティアゴ・ラモン・イ・カハールが、ニューロン説を唱えました。神経系はニューロンという単位から構成されており、シナプスと呼ばれる接合部によって相互作用をすると考えます。この考えは後に実証され、神経科学における基本的な事実となっています。

1901年にカハールは、小脳皮質における神経回路のループ構造を観察しました。これは、神経信号がループ状に繰り返し伝達されることを示すものです。
人工ニューロンのモデル化
1943年に、ウォーレン・マカロックとウォルター・ピッツが、ニューロンの動作を単純化し、論理ゲートとして扱う数学的なニューラルネットワークモデルを考案しました。
このモデルでは、ニューロンは入力信号の組み合わせに応じて出力が1または0になる二値(バイナリ)モデルとして動作します。これが、後に登場するパーセプトロンの原型となりました。

さらに彼は、生物の神経系はループを持つことで再帰的に情報を処理し、過去の活動が現在および未来の活動に無限に影響するという考えを提示しました。
無限の過去に遡る再帰
さらに、彼らは生物の神経系がループ構造を持つことで、再帰的に情報を処理するとし、過去の活動が現在および未来の活動に無限に影響を与えるという考えを提示しました。
神経系には多くの循環経路(ループ)があり、これによってニューロンが繰り返し活性化されることで、過去の時間を明確に特定することは難しくなります。しかし、過去の活動の影響は保持され続け、特定のパターンを形成することを意味しています。
The nervous system contains many circular paths, whose activity so
regenerates the excitation of any participant neuron that reference to time past becomes indefinite, although it still implies that afferent activity has realized one of a certain class of configurations over time.
これは、脳内のフィードバックループが、新しい情報を受け取りながらも過去の情報を繰り返し参照し続けることで、最終的に特定のパターンを形成する仕組みを説明しています。つまり、脳は過去の情報を保持・活用しながら新しい情報を統合するプロセスを持っており、この過程において再帰的な構造が重要な役割を果たしていることを主張しています。
ヘッブ則による学習ルール
1949年に、ドナルド・ヘッブは、生物学的に妥当性があると考えられるヘッブ則を提唱します。この法則は、脳内のニューロンの活動の相関に応じて相互のシナプス結合が強化され、学習が行われるというものです。つまり、あるニューロンと他のニューロンが関連して繰り返し発火すると、その結合が強化され、結果として神経回路が新しいパターンを学習・形成されるとしています。
パーセプトロン
単純パーセプトロン
1958年に、フランク・ローゼンブラットは、ウォーレン・マカロックとウォルター・ピッツが提案した単純なニューラルネットワークをハードウェア上に実装しました。これをパーセプトロンと呼びます。
初号機であるマーク I パーセプトロンは、20×20のカメラで画像を取り込み、配線パネル(プラグボード)で入力の組み合わせを設定し、回転つまみ(可変抵抗器)で重みを調整する、というものでした。

その学習方法は、出力と正解の誤差に基づいて重みを修正するもので、より生物学的なヘッブ則とは異なります。
閉ループ型パーセプトロン
1960年に、フランク・ローゼンブラットは、パーセプトロンのさまざまなバリエーションを使った実験しました。その中には、閉ループ相互結合型パーセプトロン(Close-loop Cross-coupled Perceptron)も含まれています。

これは相互結合を持ち、ヘッブ則で学習を行うニューラルネットワークです。
フランク・ローゼンブラットは1960年に「閉ループ相互結合型パーセプトロン」を発表しました。これは、中間層に再帰的な接続を持ち、ヘッブ則に基づいて結合強度が変化する3層のパーセプトロンネットワークです。
Frank Rosenblatt in 1960 published "close-loop cross-coupled perceptrons", which are 3-layered perceptron networks whose middle layer contains recurrent connections that change by a Hebbian learning rule.
また、ローゼンブラットは後の著書「Principles of Neurodynamics」で、再帰的な結合をもつパーセプトロンが過去の情報を繰り返し参照することで、無限に深いフィードフォワードネットワークと同等の情報処理が可能だと述べています。
この考えは、1943年にウォーレン・マカロックとウォルター・ピッツが提唱した「神経回路のループ構造が過去の活動を無限に参照できる」という理論と一致しています。つまり、ここでも再帰的な構造の重要性が主張されています。
ホップフィールド・ネットワーク
1982年に、ジョン・ホップフィールドは、全結合型のニューラルネットワークであるホップフィールド・ネットワークを提案しました。
前回に詳しく解説したので詳細は省きますが、すべてのニューロンが他の全てのニューロンと相互に結合しており、ヘッブ則による学習で連想記憶を獲得するというものです。
与えられた不完全な入力データをネットワーク内部に保持し、反復的な状態更新を通じて、記憶されたパターンから欠損部分を補完することは、ホップフィールド・ネットワークの重要な機能です。この過程は、過去の情報を参照して現在の状態を更新するプロセスとして理解できます。
ただし、ホップフィールド・ネットワークは時間依存的なデータの学習を目的としていません。あくまでエネルギー関数の最小化を通じて安定したパターン(連想記憶)に収束することに特化しています。そのため、時系列データの処理には適していません。
なお、ジョン・ホップフィールドがジェフリー・ヒントンと共に2024年のノーベル物理学賞を受賞したのはつい先日のことでした。
ジョーダン・ネットワーク
文脈ユニットによる情報の保持
1986年に、マイケル・ジョーダンは、過去の情報を保持し利用できる再帰型のニューラルネットワークを提案しました。これをジョーダン・ネットワーク(Jordan Network)と呼びます。
このネットワークは、出力した情報を「文脈ユニット」(状態層)と呼ばれる層にフィードバックする仕組みを持っています。文脈ユニットは、過去の出力を記憶し、次のステップの入力として利用することを可能し、過去の情報を参照しながら学習や予測を行えるように設計されています。
また、文脈ユニットの考え方は、ホップフィールド・ネットワークの「状態を保持し、過去の情報を参照する」という概念から影響を受けています。ただし、ホップフィールド・ネットワークは「空間的パターンの補完」を目的としているのに対し、ジョーダン・ネットワークは「時間的パターンの学習と予測」を目的としているため、応用される領域と目的は異なります。
このネットワークは、静的なポイントではなく、周期やその他の動的な軌跡を記憶する連想記憶(content-addressable memory)の一般化された形と見なすことができます(参照:ホップフィールド, 1982)。
The network can be regarded as a generalization of a content-addressable memory (cf. Hopfield, 1982) in which the memories correspond to cycles or other dynamic trajectories rather than static points.
ジョーダン・ネットワークの学習方法
ジョーダン・ネットワークの提案と同じ年(1986年)に、ジェフリー・ヒントン、デビッド・ラメルハート、ロナルド・J・ウィリアムズによって誤差逆伝播法(Backpropagation)が開発されました。このアルゴリズムは、ジョーダン・ネットワークを含む再帰型ネットワークで勾配降下法で使用されるようになりました。
このアルゴリズム(誤差逆伝播法)は再帰型ネットワークにも適用可能ですが、再帰型ネットワークでは、各ユニットが過去のタイムステップでの活性化履歴を保持する必要があります。これは誤差伝播プロセスを正しく機能させるためです。
The algorithm can also be applied to recurrent networks. However, in recurrent networks, it is necessary for each unit to keep a history of its activations at prior time steps in order for the error-propagation process to work properly.
現在では、誤差逆伝播法を「時間軸に沿って遡るように適用する」手法を Backpropagation Through Time(BPTT)と呼びます。日本語では「通時的誤差逆伝搬」と訳されることもありますが、あまり一般的な用語ではないかもしれません。英語をそのまま使ったり、BPTTと呼ぶことが多いようです。
BPTTを用いることで、ネットワークの予測誤差から各パラメータ(重み、バイアス)に対して勾配を計算し、これを基にパラメータの値を更新していくことができます。この手法によって、再帰型ネットワークは時間的な依存関係を学習します。
ヘッブ則とは異なり、BPTTは生物学的な妥当性は低いものの、より効率的に学習を行えるため、ニューラルネットワークの学習方法として主流になりました。
なお、BPTTについては次回もう少し詳しく扱います。
ジョーダン・ネットワークの数式表現
ジョーダン・ネットワークの動作を以下の数式で表します。
まず、タイムステップ $t$ における隠れ状態 $h_t$ は次のように計算されます。
$$
h_t = \sigma_h\left(W_h x_t + U_h s_{t-1} + b_h \right)
$$
$${W_h}$$:入力ベクトル$${x_t}$$に対する変換行列
$${U_h}$$:文脈ユニットの状態ベクトル$${s_{t-1}}$$に対する変換行列
$${b_h}$$:バイアス項
次に、隠れ状態$${h_t}$$を用いて出力$${y_t}$$を計算します。
$$
y_t = \sigma_y\left(W_y h_t + b_y\right)
$$
$${\sigma_y}$$:出力のための活性化関数
$${W_y}$$:隠れ状態に対する変換行列
$${b_h}$$:バイアス項
そして、出力ベクトル$${y_t}$$と状態ベクトル$${s_{t-1}}$$を使って、次の状態ベクトル$${s_t}$$を以下のように計算します。
$$
s_t = \sigma_s\left(W_{s,s} \, s_{t-1} + W_{s,y} \, y_t + b_s\right)
$$
$${\sigma_s}$$:状態ベクトルの活性化関数
$${W_{s,s}}$$:状態ベクトル$${s_{t-1}}$$に対する再帰的な変換行列
$${W_{s,y}}$$:出力ベクトル$${y_t}$$の情報を追加するための変換行列
$${b_s}$$:バイアス項
このように、ジョーダン・ネットワークは出力を文脈ユニットにフィードバックし、次のタイムステップで再利用することで、時系列データやシーケンスデータの処理を行います。この再帰構造によって、過去の情報を保持しつながらパターン認識や予測を行うことが可能になっています。
全ての式を以下にまとめます。
$$
\begin{align*}
h_t &= \sigma_h\left(W_h x_t + U_h s_{t-1} + b_h \right) \\
y_t &= \sigma_y\left(W_y h_t + b_y\right) \\
s_t &= \sigma_s\left(W_{s,s} \, s_{t-1} + W_{s,y} \, y_t + b_s\right)
\end{align*}
$$
なお、初期状態として$${s_0}$$をゼロベクトルあるいはランダムな値で設定し、最初の隠れ状態$${h_1}$$は初期状態$${s_0}$$と最初の入力ベクトル$${x_1}$$を使って計算します。
エルマン・ネットワーク
隠れ状態による情報の伝達
1990年に、ジェフリー・エルマンも、再帰型のニューラルネットワークを提案しました。これを、エルマン・ネットワークと呼びます。
エルマン・ネットワークは、隠れ層の情報を次のタイムステップにフィードバックする点で、ジョーダン・ネットワークとは異なります。ジョーダン・ネットワークは出力層からの情報をフィードバックしますが、これは出力がそもそも最終結果のためなので、内部の計算過程をすべて反映していない可能性があります。
そのため、エルマン・ネットワークでは、隠れ層からの状態を次のタイムステップに直接渡すことで、内部の「隠れ状態」を保持し、過去の情報をより詳細に参照できます。これにより、時系列データやシーケンスデータの処理において、精度の高い学習や予測が可能になります。
エルマン・ネットワークの数式表現
エルマン・ネットワークは、隠れ状態を直接にフィードバックするので、ジョーダン・ネットワークよりもシンプルになっています。
$$
\begin{align*}
h_t &= \sigma_h\left(W_h x_t + U_h h_{t-1} + b_h \right) \\
y_t &= \sigma_y\left(W_y h_t + b_y\right)
\end{align*}
$$
隠れ状態$${h_t}$$の計算では、以前のステップの隠れ状態$${h_{t-1}}$$をフィードバックすることで、再帰構造を持ちます。出力$${y_t}$$は隠れ状態$${h_t}$$から計算されます。
なお、隠れ状態の初期値として$${h_0}$$をゼロベクトルあるいはランダムな値で設定しておきます。これにより、初期ステップから再帰的な計算を行うことができます。
次回予告
次回は、再帰型ニューラルネットワーク(RNN)の構造と数式による定義を解説します。
お楽しみに!
