記事についてのディスカッション

 

新しい記事「ニューラルネットワークが簡単に(第12回): ドロップアウト」はパブリッシュされました:

ニューラルネットワークを研究する次のステップとして、ニューラルネットワークの訓練中に収束を高める手法を検討することをお勧めします。そのような手法はいくつかありますが、本稿では、それらの1つである「ドロップアウト」について考察します。

ニューラルネットワークを訓練する場合、多数の機能が各ニューロンに供給され、それぞれの個別の特徴の影響を評価することは困難です。その結果、一部のニューロンのエラーは他のニューロンの正しい値によって平滑化されますが、これらのエラーはニューラルネットワークの出力に蓄積されます。これにより、かなり大きなエラーによって訓練が特定の極小値で停止します。この効果は、特徴検出器の共適応と呼ばれ、各特徴の影響が環境に適応します。環境が個別の特徴に分解され、各特徴の影響を個別に評価できる場合は、逆の効果がある方がよいでしょう。

2012年、トロント大学の科学者グループは、複雑な共適応問題の解決策として、ニューロンの一部を学習プロセスからランダムに除外することを提案しました[第12部]。訓練中の特徴の数が減少すると、各特徴の重要性が増し、特徴の量的および質的構成が絶えず変化することで、それらの共適応のリスクが減少します。この手法はドロップアウトと呼ばれます。この手法の適用はよく決定木と比較されます。ニューロンの一部を削除することにより、訓練の反復ごとに独自の重みを持つ新しいニューラルネットワークを取得します。組み合わせ論の規則によれば、そのようなネットワークの変動性は非常に高くなります。


作者: Dmitriy Gizlyk

 

Fractal_OCL_AttentionMLMH_dで Net.feedForward(TempData,12,true)の代わりに使う場合の注意;

チェック if(!Net.feedForward(TempData,12,true))

printf("ネットのフィードフォワードでエラー。トポロジーと入力データをチェック");

はエラーを生成する。Fractal_OCL_AttentionMLMH版とは異なり、このようなエラーは発生しません。

原因を確認してください。

 
Dmitry Nazarov:

Fractal_OCL_AttentionMLMH_dで Net.feedForward(TempData,12,true)の代わりに使用する場合の注意;

チェックif(!Net.feedForward(TempData,12,true))

printf("ネットのフィードフォワードでエラー。トポロジーと入力データをチェック");

はエラーを生成する。Fractal_OCL_AttentionMLMH版とは異なり、このようなエラーは発生しません。

原因を確認してください。

ありがとうございます。

 
すべてのフィードフォワードの値がNaNかInfかをチェックする必要がある。
 
Dmitry Nazarov:

Fractal_OCL_AttentionMLMH_dで Net.feedForward(TempData,12,true)の代わりに使用する場合の注意;

チェックif(!Net.feedForward(TempData,12,true))

printf("ネットのフィードフォワードでエラー。トポロジーと入力データをチェック");

はエラーを生成する。Fractal_OCL_AttentionMLMH版とは異なり、このようなエラーは発生しません。

原因を確認してください。

エラーは出ませんでした。

ファイル:
 
オーケー。エラーはなくなりました。ありがとう。
 

この記事をどうもありがとう。私はすでに自分のロボットを新機能に対応させ、とてもうまくいっている。

 
OCLなしでは何も動かないということですか?残念、私はゲーマーじゃないし、カードも古いんだ......。
 
作者は、ロボットのための大きなありがとう、EA自体のコードのエラーをチェックしてください、トレーニング中に、アルゴリズムが未定義の信号を示すときに、ミスパターンの数が100%になる傾向があるため、最後のバーでエポックの終わりに購入または売却が表示されたときに、次のエポックでは、ミスパターンの値が減少します。
 
Alexey Volchanskiy:
OCLなしでは何も動かないということですか?残念ですが、私はゲーマーではありませんし、カードも古いので...。
もしプロセッサがマルチコアなら、OCLにそのプロセッサ用のドライバを入れてください。
 
ドミトリー、Neuronkeyの作成におけるウィンドウ・パラメーターについて、もう少し詳しく教えてください。これは、1ステップの計算のために(ステップを伴って)順次取られるニューロンの数だと理解していいのでしょうか? 計算能力を節約するためですか?