ディープラーニングフィードフォワードネットにおける騒々しい行動

datascience.stackexchange https://datascience.stackexchange.com/questions/11410

  •  16-10-2019
  •  | 
  •  

質問

私は、3つ以上の層でニューラルネットを最適化することについて少し確信が持てません。入力データは非常にうるさく、私はノイズを学習に投影するようです(データの強いバイアス、90%は5つのクラスに属します)。

ただし、解釈に関するフィードバックを受け取りたいと思います(ドロップアウトで50/25/8/8/8/8/8Neuronsを使用します(keep_prob =最初の隠れレイヤーの後に0,9):

enter image description here enter image description here

役に立ちましたか?

解決

F1スコアグラフの過剰対数形状は、学習が効果的であり、コストが最小に向かっていることを示しています。それは良い。私は、あなたが言及しているノイズは、約3kの反復後のグラフの不安定性であると仮定しています:Zig-zagの方法でコストが削減され、上昇します。

これは多くの場合、学習率が大きすぎることを示唆しています。バック伝播は右勾配を見つけますが、コスト関数の端に沿って下るのではなく、大きな一歩を踏み出し、登ることになります。グラフが中間値の周りに振動するように見えるとき、それは特に明白です。使用している学習率の正確な価値については言及していませんが、それを減らすようにしてください。良い出発点は0.01ですが、それは多くの要因に依存するので、実験してみてください。

別の問題はバッチサイズかもしれません:つまり、勾配の計算に貢献する例の数。大きすぎると、間違った方向に平均勾配が向けられる可能性があります。そして、小さなステップ(つまり、学習率が低い)でも役に立ちません。そして、それは再びジグザグパターンで現れるかもしれません。バッチサイズがパラメーターの1つである場合、それを減らしようとします。

最も可能性の低い問題は、ネットワークのエンコーディングアーキテクチャである可能性があります。特に、最後の層の8つのニューロンの控えめな数。この場合、個々のニューロンは最終出力に大きな影響を与える可能性があります。そして、背中の伝播の単一のステップから生じる小さな調整でさえ、そのニューロンの活性化値の兆候を潜在的に反転させ、他の例の結果に影響を与える可能性があります。最後の層のニューロンの数を増やしてみてください。私は個人的に50x50x50のアーキテクチャを試すことをお勧めします。

お役に立てれば!

ライセンス: CC-BY-SA帰属
所属していません datascience.stackexchange
scroll top