ニューラル ネットワークのトレーニング: ベスト プラクティス

このセクションでは、誤差逆伝播法の失敗例と、ニューラル ネットワークを正則化する最も一般的な方法について説明します。

失敗ケース

誤差逆伝播法がうまくいかない一般的な方法はいくつかあります。

消失するグラデーション

下位レイヤ(入力に近いレイヤ)の勾配は非常に小さくなる場合があります。ディープ ネットワークでは、これらの勾配の計算に多くの小さな項の積を取る必要があります。

下位レイヤの勾配が 0 に向かって消失すると、これらのレイヤのトレーニングは非常に遅く、またはまったくトレーニングされません。

ReLU 活性化関数は、勾配消失の防止に役立ちます。

勾配が爆発する

ネットワークの重みが非常に大きい場合、下位レイヤの勾配には多くの大きな項の積が含まれます。この場合、勾配爆発(大きすぎて収束できない勾配)が発生する可能性があります。

バッチ正規化は、学習率の低下と同様に、勾配爆発を防ぐのに役立ちます。

デッド ReLU ユニット

ReLU ユニットの加重合計が 0 を下回ると、ReLU ユニットは停止する可能性があります。活性化は 0 を出力するため、ネットワークの出力には何も寄与しません。また、誤差逆伝播中に勾配が通過できなくなります。勾配のソースがカットされていると、ReLU への入力は、加重合計を 0 より大きくするのに十分な変化がない場合があります。

学習率を低くすると、ReLU ユニットが機能しなくなるのを防ぐことができます。

ドロップアウト正則化

また、ニューラル ネットワークには、ドロップアウトと呼ばれる別の形式の正則化が有用です。これは、単一の勾配ステップで、ネットワーク内のユニット活性化をランダムに「ドロップアウト」させることで機能します。ドロップアウトすればするほど、正則化が強くなります。

  • 0.0 = ドロップアウトの正則化なし。
  • 1.0 = すべてをドロップアウトする。モデルは何も学習しません。
  • 0.0 ~ 1.0 の値ほど便利である。