ニューラル ネットワークの入力の正規化の利点は何ですか?
勾配が減少することに気付きましたが、本当に良い結果につながるかどうかはわかりません。
ニューラル ネットワークの入力の正規化の利点は何ですか?
勾配が減少することに気付きましたが、本当に良い結果につながるかどうかはわかりません。
この回答で説明されています
入力変数が MLP のように線形に結合されている場合、少なくとも理論上は、入力を厳密に標準化する必要はほとんどありません。その理由は、入力ベクトルの再スケーリングは、対応する重みとバイアスを変更することで効果的に元に戻すことができ、以前とまったく同じ出力が得られるためです。ただし、入力を標準化することでトレーニングを高速化し、局所的な最適化に行き詰まる可能性を減らすことができるさまざまな実際的な理由があります。また、重み減衰とベイジアン推定は、標準化された入力を使用してより便利に実行できます。
機能のスケーリングにより、勾配降下手順中にすべての機能が均等に寄与するようになり、最適化が高速化されます。
1 つは のスケールで、もう 1 つは のスケールである 2 つの変数を使用した機械学習の問題を想像する10
と1,000,000
、勾配降下法は、両方の特徴の相対誤差が似ていても、ほぼすべての誤差が 2 番目の特徴にあると考えます。
上記の場合のエラー サーフェスは、長くて細い峡谷であると想像できますが、直交する両方の方向を同等の重要性で扱う場合、そのような峡谷の正確な底を見つけることは困難です。
機能のスケーリングにより、峡谷が見事な円形の「ボウル」になり、最適化アルゴリズムが巨大な圧倒的な機能に気を取られないため、正確な底に収束するのがはるかに簡単になります。
また、特徴のスケーリングによって、特徴空間内の最適点の相対位置が変更されることはないことに注意してください。線形回帰を例にとると、フィーチャが定数c
でスケーリングされている場合、フィーチャの重みは逆の変換を受け、最終的に同じ答えが得られます。
w = inv(X'*X)*X'*y
ここで、 が対角列スケーリング マトリックスでX
ある再スケーリングされたバージョンQC
で機能を置き換えてみてください。C
w = inv(C'*Q'*Q*C)*C'*Q'*y
w = inv(C)*inv(Q'*Q)*inv(C')*C'*Q'*y
Cw = inv(Q'*Q)*Q'*y
したがって、新しいスケーリングされた機能を使用すると、同じソリューションでQ=X*inv(C)
新しい重みが得られます。u=Cw
y