バッチ標準に学習可能なスケールとシフトがあるのはなぜですか?


11

私が理解している限り、バッチノルムは、レイヤーへのすべての入力フィーチャを単位正規分布正規化します。平均と分散μはσ 2は、現在のミニバッチのそれらの値を測定することによって推定されています。N(μ=0,σ=1)μ,σ2

正規化の後、入力はスケーリングされ、スカラー値によってシフトされます。

x^i=γx^i+β

(私がここで間違っている場合は修正してください-ここで私は少し不確かになり始めます。)

βはスカラー値で、バッチノルムレイヤーごとにそれぞれのペアがあります。それらは、バックプロップとSGDを使用して重みとともに学習されます。γβ

私の質問は、これらのパラメーターは冗長ではないかということです。これは、レイヤー自体の重みによって、入力をスケーリングおよびシフトできるためです。つまり、

y=Wx^+b

そして

x^=γx^+β

その後

y=Wx^+b

W=Wγb=Wβ+b

では、ネットワークにそれらを追加することのポイントは、すでにスケールとシフトを学習することができるのでしょうか。それとも私は完全に誤解していますか?

回答:


12

ディープラーニングブックのセクション8.7.1に完全な答えがあります。

ユニットの平均と標準偏差を正規化すると、そのユニットを含むニューラルネットワークの表現力が低下する可能性があります。ネットワークの表現力を維持するために、通常、正規化されたHではなく、隠れたユニットのアクティベーションHのバッチをγH+βで置き換えることが一般的です。変数γとβは、新しい変数に任意の平均と標準偏差。一見、これは役に立たないように見えるかもしれません—なぜ平均を0に設定してから、それを任意の値βに戻すことができるパラメーターを導入したのですか?

その答えは、新しいパラメーター化は古いパラメーター化と同じ入力の関数ファミリーを表すことができるということですが、新しいパラメーター化には異なる学習ダイナミクスがあります。以前のパラメーター化では、Hの平均はHの下のレイヤーのパラメーター間の複雑な相互作用によって決定されました。新しいパラメーター化では、γH+βの平均はβのみによって決定されます。新しいパラメーター化は、勾配降下法で学習する方がはるかに簡単です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.