web-dev-qa-db-ja.com

入力正規化の代わりにバッチ正規化

入力レイヤーの直後にバッチ正規化レイヤーを使用して、データを正規化しないことはできますか?同様の効果/パフォーマンスを期待できますか?

ケラス関数では次のようになります:

x = Input (...)
x = Batchnorm(...)(x)
...
22
user2146414

できます。ただし、アクティベーション分布の安定化に加えて、batchnormの良い点は、ネットワークが学習するにつれて平均値と標準偏差が移行する可能性が高いことです。

事実上、入力層の直後にBatchnormを設定するのは、おもしろいdata pre-processingステップです。それは時には役立ちます(例えば、線形回帰において)。ただし、バッチごとに学習するよりも、トレーニングサンプル全体の平均と分散を一度計算する方が簡単で効率的です。パフォーマンスの観点から、batchnormは無料ではないので、悪用しないでください。


19
Maxim