前項の結果より、 0から1.0での量子化された値を持つ内部記憶の持つ影響が大きいと思われるため、 その入力層の数を20個、15個と少なくして学習を行わせてみる。 これらの結果は、どれだけ学習させても曲の値の誤差が 間違った量子化をしないための規定値より小さくならず、 充分な学習ができないことがわかった。 これは、学習途中の内部記憶の変化によって曲の値まで 変化してしまうためであると思われる。
これらの内部記憶の影響が大きいことによって 学習ができない原因を解消するために、 教師信号の他に2値のデータを数個付加して、 これを学習させる信号とすることによって、 内部記憶をフレーズによって変化させるようにする。
この場合用いるネットワークは入力層に音を表すために音の長さと高さで1つずつ、 0, 1の値をランダムに与えたニューロンが10個、 内部記憶としてのニューロンが15個の計27個の素子があるネットワークに変更する。 その学習結果が図6.8 となる。 この方法で行なうと、教師信号の違いが内部記憶にも大きく影響するようになるので、 2値の出力部分と内部記憶によってフレーズの区別ができるようになっているため、 学習途中の誤差が小さくなり充分学習できているといえる。
この内部記憶を変更したニューラルネットワークで 学習が終了したときの結合荷重を入力し、 まず初めに学習時と同じ状態とするために、 内部記憶部分の値をすべて0にして想起を行わせた。 この結果は図6.9 のようになり、 教師信号と全く同じ曲を想起することができた。
[MIDI]
図 6.9: 内部記憶をもつネットワークの想起結果
次に、学習時と同じ入力を与えてやれば教師信号を想起することができたので、 今度は学習時とは違う入力を与えたときにはどうなるかを調べるため、 入力部分のいくつかを無作為に変化させて入力し、想起を行なわせる。
この結果、音の高さや音の長さの値が変化したものが想起されることになる。 これは内部状態をいきなり与えられることにより次段の内部記憶が変化するため、 違った音符と認識してしまい、曲の値が変化してしまうのであると思われる。 その結果の1つを例として図6.10 に示す。 通常のネットワークではシフトさせてやることで教師信号を再現することができたが、 内部記憶をもつネットワークでは曲の値自体が変化するために、 教師信号を完全に再現することができないという点が大きな違いである。