階層型NNの複数INPUTパターンへの対応
現在、階層型(3層)ニューラルネットワークを利用して、システムパラメタのメモリとして活用しようと考えております。
現在、良く分からない問題点が、複数のINPUTパターンに対してNNの出力がうまく教師信号に対応することができないことです。もちろん、ひとつのINPUTパターンではうまくいきます。
この問題点を例を挙げて説明します。
(1)複数のINPUTパターンとそれに対応する教師信号を乱数で生成します。
-*-*-*-*- INPUT -*-*-*-*- | -*-*-*-*- 教師信号 -*-*-*-*-
0.015 0.845 0.112 | 0.551 0.456 0.121
0.225 0.365 0.555 | 0.841 0.453 0.231
0.199 0.846 0.745 | 0.715 0.166 0.011
(2)back propagationを用いてNNの学習
もちろんだと思いますがここが一番重要で、現在使用しているアルゴリズムの方法論を以下にmatlab形式の擬似言語で流れを書きました。
For 1:loopNUM % 複数INPUTパターンの繰り返し学習ループ
dataNUM = 1; % INPUTパターンの初期化
For 1:dataNUM % INPUTパターンの変更ループ
For 1:learningNUM % 各INPUTパターンの学習回数
NNOUTPUT = NN(INPUT(dataNUM,:)); % NNの出力
ERROR = ERROR_BP(NNOUTPUT,TEACH(dataNUM,:)); % このときの出力と教師信号との誤差(hidden layer, output layer)
WEIGHT = weightUPDATE(ERROR); % 誤差から重み係数(閾値も)を学習。更新
end
end
end
という感じでプログラムを進行させ、この後複数のINPUTをNNに順番に入力したところ、上手くいきませんでした。HIDDEN層の数を変えてみたり(だいたい10個前後)しましたが、だめでした。
ふがいない説明で申し訳ありませんが、どなたかご教授お願い致します。