今だけ人気マンガ100円レンタル特集♪

現在、階層型(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個前後)しましたが、だめでした。
ふがいない説明で申し訳ありませんが、どなたかご教授お願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

階層型(3層)ニューラルネットワークで「学習」できるのは、



1) 入力と出力の関係に「法則」がある
2) 入力および出力に「連続性」、つまり教師信号に近い値の入力は、教師信号の出力に近い値になる、こと

が基本です。基本といったのは、こうでな場合も「学習」できないことはないのですが、難しくなりますし、学習できない場合もあります。

ということで、教師信号を乱数で生成した場合、学習できない事があっても仕方がないかと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング