これは、ニューラルネットワークのパフォーマンスに関するより高いレベルの質問です。私が抱えている問題は、レイヤーあたりのニューロン数が多いため、ネットワークが頻繁に完全に愚かになることです。それらは一貫していません。層が60ニューロン(常に3層)より大きくなると、一般的な成功と失敗の確率は約50/50になるようです。
10〜200のサイズの入力層と非表示層を持つネットワークに同じ関数を教えることによってこれをテストしました。成功率は0-1%または90 +%のいずれかですが、その間にはありません。これを視覚化するために、グラフを作成しました。失敗は、5k回のトレーニング反復後の200個のデータセットに対する誤った応答の総数です。。
ネットワークが成功または失敗する数は、実験を実行するたびに変化することに注意することも重要だと思います。私が思いついた唯一の原因は極小値です(ただし、これがあなたの答えに影響を与えないようにしてください。私はこれに不慣れであり、極小値の可能性を最小限に抑える最初の試みは効果がないようです)。
したがって、最終的な問題は、何がこの動作を引き起こす可能性があるかということです。なぜこれほどひどく矛盾しているのですか?
PythonコードはGithubにあり、このグラフを生成したコードはtest.pyのtestHugeNetworkメソッドです(172行目)。ネットワークアルゴリズムの特定の部分が役立つ場合は、関連するスニペットを投稿できてうれしいです。