- 締切済み
階層型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個前後)しましたが、だめでした。 ふがいない説明で申し訳ありませんが、どなたかご教授お願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- chirubou
- ベストアンサー率37% (189/502)
階層型(3層)ニューラルネットワークで「学習」できるのは、 1) 入力と出力の関係に「法則」がある 2) 入力および出力に「連続性」、つまり教師信号に近い値の入力は、教師信号の出力に近い値になる、こと が基本です。基本といったのは、こうでな場合も「学習」できないことはないのですが、難しくなりますし、学習できない場合もあります。 ということで、教師信号を乱数で生成した場合、学習できない事があっても仕方がないかと思います。