ニューラル・ネットワーク専門家からの質問 - ページ 19

 

小さな」問題が発生しました。

同じ学習例(TS)を同じネットワークに与えるが、学習前にランダムな重みで初期化した場合。

の場合、ネットワークは毎回異なる方法で学習し、同じテストサンプルで異なる結果を得ることができます。

FANNライブラリーを 使用しています。

同じような状況でStatistics 6がどのように動作するかを確認することにしましたか?

そして、ここでは同じアーキテクチャのネットワークでも、異なる結果が得られています。

説明のために、最も結果が異なる2つのネットワークを選びました。性能が全く逆になっているのがわかると思います。


活性化閾値のグラフから、同じOP上の2つのネットワークが全く異なる方法で学習されたことが確認できる。

(全ネットワークの全結果と全サンプルのデータを添付しています)


...............................................

ニューラルネットワークの学習プロセスで安定性を実現するための方法があれば教えてください。

ファイル:
 
lasso:

小さな」問題が浮上した......。

ネットワークは毎回異なる方法で学習し、同じテストサンプルで異なる結果を得ることができます。

ニューラルネットワークの学習プロセスで安定性を確保する方法を教えてください。


だから質問なんです)NSのトレーニングには多くの方法が使われていますが、どれも明らかな理由で、直接的なブルートフォースとは異なります。そして、そのすべてに共通する本質的な欠点があります。それは、麻痺したり、局所的な極限状態に陥ってしまうことです。学習の仕組み・アルゴリズムの質を上げること、学習時間(学習のエポック数)を長くすること以外、普遍的な解決策はない。そして、それぞれのケースで異なる方法で解決されます。
 
lasso:

ニューラルネットワークの学習過程での安定性を実現する方法を教えてください。

GAを使う。
 
lasso:


ニューラルネットワークの学習過程での安定性を実現する方法を教えてください。


SVMです。

2クラスの場合の例です。

分割面の可能性...。 MLP BPはどちらかを見つけて停止します・・・・。

SVMについては。

この改造では、常に1つの分割面を見つけることになる・・・。

あるいは、上記の提案のようなGA...。

頑張ってください.

 
Figar0:

つまり、質問の問題です)NSのトレーニングには多くの方法が使われていますが、どれも明らかな理由で、直接的なブルートフォースとは異なっています。そして、これらには共通して、麻痺や局所的な極限状態から抜け出せないという本質的な欠点があるのです。学習の仕組み・アルゴリズムの質を上げること、学習時間(学習のエポック数)を長くすること以外、普遍的な解決策はない。そして、それぞれのケースで異なる方法で解決されます。

局所的な極限状態に陥るということであれば、この場合、結果はすべて「良い」であり、「良い」「悪い」という一定の範囲内でしか違わないはずだと思うのですが......。

しかし、テスト結果を劇的に変えてはいけない! わかりましたか?

1ヶ月のテスト期間での実行結果は以下の通りです。

-9337

+5060

+14522

+7325

+12724

-3475

+10924

-9337

+5060

-3475

-9337

-3475

ここで、外国人同志がネットワーク委員会の適用を勧める

が、これが最適解とは思えません...。

特に、この問題で提案されているOPデータは、線形手法でかなり簡単に分離できることを思い出してほしい。

そして、NSという形でシンプルかつ安定した解決策を見出すことはできないのでしょうか。

 

GAについてよくわからないのですが、何を検索するときに適用されるのでしょうか?

つまり、NSにプラスしてGAを適用するのではなく、NSの代わりにGAを適用するのですか?

 
lasso:

GAについてよくわからないのですが、何を検索するときに適用されるのでしょうか?

つまり、NSにプラスしてではなく、代わりにGAを適用すること?


GAではNSの重みを拾うことができ、何でもフィットネス関数として使うことができる...。私の記憶ではEMA GAを探せばいいのですが・・・。
でも、正直このGAがどう役に立つのか理解できない、違うところで止まってしまうこともある・・・NSと同じで・・・。

そして一般的には、正直なところ、あまり差がなければ普通の現象なのですが......。

 
lasso:

局所的な極限状態に陥るということであれば、この場合、結果はすべて「良い」であり、「良い」「悪い」という一定の範囲内でしか違わないはずだと思うのですが......。

しかし、テスト結果を劇的に変えてはいけない! わかったか?


この場合、ネットワークが過剰に訓練されているのではなく、過小に訓練されている可能性が高い。その理由は、どうやらアーキテクチャが十分でないかららしい。

オーバートレーニングの可能性もあるが、ネットワーク構造が過度に冗長で初期設定がランダムな場合、メッシュが毎回異なる極値で固まる可能性があり、そのため結果に大きな差が出る。

 
alsu:

この場合、ネットワークが過剰に訓練されているのではなく、過小に訓練されている可能性が高い。その理由は、質の高い建築物の不足にあるようです。

オーバートレーニングの可能性もあるが、ネットワーク構造が過度に冗長で初期設定がランダムな場合、メッシュが毎回異なる極値で固まる可能性があり、そのため結果に大きな差が出る。

何がつまづいているのかを具体的に判断するために、どのようなデータや結果が必要なのでしょうか。
 

もうひとつ。現在のネットワーク出力の範囲の「狭さ」に警鐘を鳴らしているのです。明確にすること。

-- MLPネットワークは1-7-1

-- ネットワークの出力は[0;1]の範囲に均等に分布しており、学習例での出力は1と-1で表される。

学習後、入力値の 全範囲をネットワークに通すと、ネットワークの出力は非常に狭い範囲にあることがわかる。例えば、こんな感じです。

opt_max_act=-0.50401336 opt_min_act=-0.50973881 step=0.0000286272901034

其の癖

opt_max_real=-0.99997914 opt_min_real=-0.99999908 step=0.00000010

これは正しいのか、そうでないのか?