next up previous contents
Next: 5.2.3 実験結果及び考察 Up: 5.2 簡単な周期パターンの検出 Previous: 5.2.1 周期パターン

5.2.2 ネットワークの構成

周期パターンを検出するためのニューラルネットワークについて述べる。入力は``0''あるいは``1''のいずれかであるので、その数値をそのままニューロンへの入力として良い。従って、入力層のニューロンは一つということになる。

次に中間層について考える。周期パターンの長さは2であるので、``00'',``01'',``10'',``11''の四つの場合についてのみ考えれば良いわけである。

さて、今ニューロンをビットと考える。ニューロンが発火すれば``1''、発火しなければ``0''という具合にである。そう考えた場合、 理論的に N 個のニューロンで tex2html_wrap_inline1538 の状態を表すことができることとなる。 従って中間層のニューロンは二つで良いことになるが、ここでは余裕を持たせるために三つ使用する。

最後に、出力層について述べる。検出すべき周期パターンは``11''のみである。 従って、それ以外はすべて検出の対象外ということになる。つまり、``1''の次に続けて``1''が入力された時のみ検出したと分かるようにすれば良い。 そこで、周期パターンを検出したら発火し、それ以外は発火しないようにすれば良い。 従って、出力層のニューロンは一つで良く、入力に``1''が与えられた後に続けて``1''が入力された時のみ出力層に``1''を教師信号として与えれば良い。

   figure306
図 5.1: 簡単な周期パターンの検出を行なうモデル

ここで注意すべきことは、周期パターンの検出を行なうためには以前の入力を最低でも一つは入力あるいは中間層にフィードバックさせなければいけないことである。 そのため、図5.1のように、フィードバック層を付け足す。いま、ある学習回数 t において入力が入って来たとする。 その時、フィードバック層は学習回数 t-1 における中間層の出力を保持する。 正確にいえば、中間層の各ニューロンの出力値をフィードバック層の対応するニューロンにそれぞれコピーする。 そして、今はいってきた入力と、フィードバック層にコピーされている値が中間層に与えられる。つまり、中間層は理論上現在の入力とその一つ前の入力の特徴を読みとっていることになるわけである。 従って、このモデルは周期パターンの学習をできるということが予想される。

なお、プログラムの作成にあたっては、昨年の卒業生である河村至剛氏が作成したシミュレータ を用いた。



Deguchi Toshinori
1996年12月18日 (水) 11時08分12秒 JST