2016-05-22 16 views
1

私はニューラルネットワークを使い、バックプロパゲーションの導出をほぼ完璧に(最後に!)理解しています。しかし、私は少し疑いがありました。 すべての重量を同時に更新しているため、コストがより低くなるという保証があります。重みが1つずつ更新される場合、コストがより低くなり、線形回帰に似ています。しかし、すべての体重を同時に更新すると、最小値を超えない可能性がありますか?ニューラルネットワークのバックプロパゲーション

また、各テストケースの順方向伝播と逆伝播の後に重みを更新するようなバイアスを更新しますか?

最後に、私はRNNで読み始めました。 RNNのBPTTを理解するのに役立つ情報はありますか?

+0

Cross-Validated(http://stats.stackexchange.com/)でこの質問を投稿すると運が増えるかもしれません。 Cross-Validatedは、機械学習のためのStackExchangeサイトです。 –

+1

RNNを学ぶときに私が作った派生物があります。 https://github.com/lifuhuang/memo-of-thoughts/blob/master/Derivation%20of%20RNN.pdf –

答えて

0

はい、その度に1つのウェイトだけを更新すると、毎回エラー値が減少する可能性がありますが、NNを使用した実際のソリューションではこのようなアップデートを実行することは通常不可能です。今日のアーキテクチャの大部分は通常〜10^6のパラメータを持つため、すべてのパラメータの1つのエポックが非常に長く続く可能性があります。さらに、逆伝播の性質のために、与えられたパラメータに関して微分を計算するためには、通常、異なる導関数の負荷を計算する必要があります。そのようなアプローチを使用すると多くの計算を無駄にします。

しかし、あなたが言及している現象は、長い時間前に気づき、それに対処する方法がいくつかあります。それに接続された2つの最も一般的な問題があります。

  1. 共分散シフト:強く与えられた層の誤差や重量の更新がそうあなたがそれを更新する際、前の層からの出力に依存する場合、それはだ - での結果次のレイヤーが異なる場合があります。現在この問題に対処する最も一般的な方法はBatch normalizationです。リニアDifferentation対
  2. た非線形関数:あなたがBPを考えるとき、それは非常に珍しいことだが誘導体は、勾配降下中に多くの問題を発生させる可能性がある線形演算子です。最も直感的な例は、入力に定数を掛けた場合、すべての派生も同じ数で乗算されるという事実です。これは多くの問題につながるかもしれませんが、学習の最近の方法の大部分はそれを扱う上で素晴らしい仕事をします。

についてBPTTについて私はANN、特にこのvideoについて、私はひどくお勧めします。

関連する問題