ここで、前節に述べた回想モデルを用いて、本論文の主旨である時系列パターンの処理について考える。
サイクル状に記憶を行なうということは、そのサイクル内において信号の時系列を記憶できるということである。 回想モデルは、現在の入力のみを参照して次の状態を想起している。 このため、全ての学習パターンが異なっている場合は、このモデルにより正しい想起ができる。 しかし、学習したパターンの時系列に同一のパターンが含まれている場合には、現在の状態から想起できる次の状態が複数あるため、正しい想起ができなくなることがある。 このような場合は、以前の状態から現在はどのサイクルに属しているかが分かれば、次の状態を知ることができる。
例えば、図5.3で の場合は、現在の状態が
から想起されたものか、または
から想起されたものかが分かれば、次の状態は
になるのか、それとも
になるのかが分かる。
このように、以前の状態を記憶保持する層を設け、現在の状態と以前の状態を入力として、その入力から出力を出すニューラルネットワークを構築する。そのモデルを、図6.1に示す。
図6.1では、記憶層の入力は出力層の出力であり、各層はそれぞれある時刻での出力に対し、次の時刻ではサイクル内の次の出力パターンを出力する。 記憶層の初期値を、出力層の初期値の一つ前の状態として与えれば、常に出力層の状態は記憶層の状態の次の状態を示すようになる。 このときの荷重の決め方は以下の通りである。
記憶層の次の状態は、出力層が出力したパターンであり、記憶層が出力したパターンの次のパターンである。
すなわち、出力層から記憶層への荷重は
であり、
出力層から出力層への荷重 w は
と表せる。
同様に、記憶層から記憶層への荷重は
、
記憶層から出力層への荷重は
である。
これまでに述べたように、時系列の学習には前の状態を保持する層があればよいことになる。 同じパターンが一つ続けば2層、二つ続けば3層というように、再発部分系列が l 個続けば l+1 層あればよいことになる。
図6.2の3層モデルでは、 現在の状態の一つ前の状態と二つ前の状態を記憶層が保持する。
例えば、図5.3で 、
とすると、現在の状態が
であったとしても、二つ前の状態が
なのか、
なのかが分かるため、次に想起する状態が
であるということが分かる [1] 。
しかし、この多層モデルには、いくつかの問題点があげられる。
例えば、2層モデルではシナプス線束が四本必要であり、1層のニューロン数を n とすると、シナプス結合数は 4n となる。
この様に、全ての層の出力を入力としていては、図6.2のモデルではシナプス線束が九本、 l 層モデルでは 本のシナプス線束が必要となる。
これではハードウエアでの実現の際に配線が非常に複雑になる。
また、電子計算機上でのシミュレートの際、計算量は
となり、計算量がかなり増加するため時間がかかる。
これらの対策として、シナプス線束を減らすという方法があり、シナプス線束を減らしても想起能力にはたいして影響がないということが報告されている [1] 。