next up previous contents
Next: 5.2.4 比較・検討方法 Up: 5.2 実験概要 Previous: 5.2.2 折り曲げ模様の写像

5.2.3 学習

 

学習には、中間層を一つだけもつ階層型ネットワークを用いる。 学習は第3章で説明したバックプロパゲーションのアルゴリズムを用い、出力層の出力と教師信号を比較して各層の重み、しきい値を付け替えるという方法で行なう。 中間層の出力関数は図2.4に示したシグモイド関数を用いる。 シグモイド関数の式は前述したがもう一度示す。

  equation321

任意の関数はシグモイド関数の重みつき和で近似できるので中間層の出力はこのシグモイド関数を用い、 出力層の出力はその重みつき和をとるため、出力関数は恒等関数を用いる必要がある。恒等関数gの式を以下示す。

  equation326

するとバックプロパゲーションで学習する時の出力関数の微分の項に違いが生じる。 シグモイド関数式(5.3)の微分は、

  equation330

となり、この式はまた、

  equation335

と、関数 f のみで表すことができる。 また、恒等関数 g の微分は、

  equation338

となる。

   figure344
図 5.3: 学習法

5.3は、出力層の教師信号が無いニューロンの重みを付け替えることを示している。 教師信号を 1 に与えてやると替える方法を 2 へ逆伝搬して、重みを付け替える。そして次に 2 から 3 も逆伝搬して重みを付け替えている。 だから、出力層の素子は教師信号を受けとらない出力層のニューロンも学習できる。 教師信号は xy 座標の二つのみであり、その他の出力層にニューロンには教師信号は与えられない。 そこで入力層のニューロンの数を 8 個、中間層のニューロンの数を 50 個として、300回ずつ交互に学習させていくという方法で実験を行なう。 ただし、出力層のニューロンの数は入力層と同じであり、いきなり教師信号が別のアトラクタのものに変わると学習がしにくいと予測されるので、学習を行なう前に重みとしきい値を付け替えずにネットワークを 5 回ほどループさせてから学習を行なう。

以上の変更をもとにあとは第3章で説明したバックプロパゲーションのアルゴリズムに従い学習を行なう。



Deguchi Toshinori
1996年10月08日 (火) 16時08分54秒 JST