誤差逆伝播は、 最も一般的なトレーニングアルゴリズムです これにより、多層ニューラル ネットワークで勾配降下法が可能になります。 多くの ML コード ライブラリ(Keras など) バックプロパゲーションは自動的に処理されるため、追加の構成や 基礎となる計算を自分で行う必要はありません。次の動画をご覧ください。 誤差逆伝播法の概念的な概要:
ニューラル ネットワーク トレーニングのベスト プラクティス
このセクションでは、誤差逆伝播法の失敗例と、 よく使われる手法です。
消える勾配
下層ニューラル ネットワークの勾配 ネットワーク層(入力層に近い層)は非常に小さくなる場合があります。 ディープ ネットワーク( 複数の隠れ層など)である場合、これらの勾配の計算には、 単語の積です。
下位レイヤの勾配値が 0 に近づくと、勾配は 表示されます。勾配が消失するレイヤのトレーニングは非常に遅いか、 ありません。
ReLU 活性化関数は、勾配の消失を防ぐのに役立ちます。
勾配爆発
ネットワーク内の重みが非常に大きい場合、 多くの大規模な項の積が関与します。この場合は 勾配爆発: 大きくなりすぎて収束しない勾配
バッチ正規化は、勾配爆発の防止に役立ち、 学習します
無効な ReLU ユニット
ReLU ユニットの加重合計が 0 を下回ると、ReLU ユニットは 停止します。出力は 0 で、ネットワークの出力には寄与しません。 勾配は逆伝播中に通過できなくなります。 勾配ソースが途切れると、ReLU への入力が十分に変化しないことがある 重みの合計を 0 より大きくします。
学習率を低くすると、ReLU ユニットが機能しなくなるのを防ぐことができます。
ドロップアウト正則化
もう一つの正則化の形式は、 ドロップアウト正則化、 ニューラル ネットワークに役立ちます。ランダムに「ドロップアウト」する 1 つの勾配ステップにおける 1 ユニットのアクティベーション数です。 ドロップする回数が多いほど、正則化は強くなります。
- 0.0 = ドロップアウト正則化なし。
- 1.0 = すべてのノードをドロップアウト。モデルは何も学習しません。
- 0.0 ~ 1.0 の値が有用です。