CNNでのローカル応答の正規化の重要性


41

Imagenetやその他の大規模なCNNは、ローカル応答の正規化レイヤーを利用していることがわかりました。しかし、私はそれらに関する多くの情報を見つけることができません。それらはどのくらい重要で、いつ使用する必要がありますか?

http://caffe.berkeleyvision.org/tutorial/layers.html#data-layersから:

「ローカル応答正規化レイヤーは、ローカル入力領域を正規化することにより、一種の「横方向抑制」を実行します。ACROSS_CHANNELSモードでは、ローカル領域は近くのチャネルに広がりますが、空間範囲はありません(つまり、local_size x 1 x 1の形状を持ちます) WITHIN_CHANNELモードでは、ローカル領域は空間的に拡張されますが、別々のチャネルにあります(つまり、形状は1 x local_size x local_sizeの形状です)。各入力値は(1+(α/ n)∑ix2i)βで除算されます。は各ローカル領域のサイズであり、合計はその値を中心とする領域で取得されます(必要に応じてゼロパディングが追加されます)。

編集:

これらの種類のレイヤーの影響は最小限で、使用されなくなったようです。基本的に、それらの役割は、他の正則化技術(ドロップアウトやバッチ正規化など)、より良い初期化、およびトレーニング方法によって実現されています。詳細については、以下の回答を参照してください。

回答:


20

これらの種類のレイヤーの影響は最小限で、使用されなくなったようです。基本的に、それらの役割は、他の正則化技術(ドロップアウトやバッチ正規化など)、より良い初期化、およびトレーニング方法によって実現されています。これは、ConvNetsのスタンフォードコースCS321nの講義ノートに記載されているものです。

正規化レイヤー

ConvNetアーキテクチャーで使用するために、多くのタイプの正規化レイヤーが提案されていますが、生体脳で観察される抑制スキームを実装することもあります。しかし、実際には、これらのレイヤーは、実際にはその寄与が最小限に抑えられていることが示されているため、最近では好まれなくなりました。さまざまな種類の正規化については、Alex Krizhevskyのcuda-convnetライブラリAPIの説明を参照してください。


20

確かに、単一の場所に良い説明はないようです。最も良いのは、それがどこから来たの記事を読むことです:

元のAlexNetの記事では、セクション3.3で少し説明しています。

  • Krizhevsky、Sutskever、およびヒントン、ディープ畳み込みニューラルネットワークとImageNet分類、NIPS 2012年PDF

これを行う正確な方法が提案されました(ただし、ここでは多くの追加情報はありません)。

  • Kevin Jarrett、Koray Kavukcuoglu、Marc'Aurelio Ranzato、およびYann LeCun、オブジェクト認識に最適なマルチステージアーキテクチャとは?、ICCV 2009. pdf

計算神経科学に触発されました:

  • S.リュウとE.シモンチェリ。除算正規化を使用した非線形画像表現。CVPR 2008. pdf。このホワイトペーパーでは、数学の詳細を説明しますが、seanv507の回答に基づいています。
  • [24] N.ピント、DDコックス、およびJJディカルロ。現実の仮想オブジェクト認識が難しいのはなぜですか?PLoS計算生物学、2008年。

15

バツバツTバツ

最適な解決策は、各ニューロンへの入力を球体化/白色化することですが、これは計算が高すぎます。LCNは、隣接するピクセル(またはチャネル)間の相関度が高いという仮定に基づいたおおよそのホワイトニングとして正当化できます。 (各ニューロンの)入力次元全体


2
バッチ正規化は:内部共変量シフトセルゲイ・ヨッフェ、クリスチャンSzegedyを減らすことで深いネットワークのトレーニングを加速、arxiv.org/abs/1502.03167はニューロン入力の再スケーリング(慎重に設計)を行うと、より大きな学習レートを使用することが可能であることにより大幅なスピードアップを実現します。
seanv507

回答テキストの下にある編集ボタンを使用して、この情報を回答に編集できます。
モニカを

10

この回答で、私は他の著者の貢献を要約し、それが何であり、どのように機能するかを知りたいだけの人のために、LRN(または対照的正規化)テクニックの単一の場所の説明を提供したいと思います。

動機: ' この種の応答正規化(LRN)は、実際のニューロンに見られるタイプに触発された形態の横方向抑制を実装し、異なるカーネルを使用して計算されたニューロン出力間で大きなアクティビティの競合を作成します。' AlexNet 3.3

言い換えると、LRNは、近隣に対して均一に大きい応答を減少させ、近隣内で大きな活性化をより顕著にする、つまり活性化マップのコントラストを高めることができます。prateekvjoshi.comは、RELUとしての制限のないアクティベーション関数で特に有用であると述べています。

元の式:単一の「ピクセル」出力に対応する特定の位置(x、y)およびカーネルiごとに、同じ位置に適用される他のn個のカーネルの出力に関する情報を組み込む「フィルター」を適用します。この正規化は、アクティベーション機能の前に適用されます。実際、この正則化はカーネルの順序に依存しています。これは、私の知る限り、偶然の一致です。

LRN

実際には(Caffeを参照)2つのアプローチを使用できます。

  1. WITHIN_CHANNEL。1つのチャネルのローカル近傍で正規化します(1つの畳み込みフィルターに対応)。言い換えれば、近くのピクセルの同じニューロンの出力値に従って、単一ピクセルの単一チャネルの応答を分割します。
  2. ACROSS_CHANNELS。単一ピクセルの場合、同じピクセルのすべてのチャネルの値に従って、すべてのチャネルの値を正規化します

実際の使用 LRNは、LeNet-5のような初期の陥没の時代に頻繁に使用されました。CaffeでのGoogLeNet(Inception)の現在の実装では、プーリング手法に関連してLRNを使用することがよくありますが、それは単に持っているために行われているようです。オリジナルのInception / GoogLeNet(ここ)も、以下のバージョンもLRNに言及していません。また、Inception(元の作成者のチームによって提供および更新された)ネットワークのTensorFlow実装では、LRNが利用可能であっても使用しません。

結論ハイパーパラメータ値が妥当である限り、LRNをプーリング層とともに適用しても、ネットワークのパフォーマンスを損なうことはありません。それにもかかわらず、LRN /コントラスト正規化をニューラルネットワークに適用する最近の正当化については知りません。



7

局所応答正規化(LRN)タイプのレイヤーは、制限のない活性化を持つニューロン(たとえば、修正された線形ニューロン)を使用する場合に役立ちます。地元の近所で。これは、ニューロンの近くのグループ間での大きなアクティビティの「競合」を促進するタイプのレギュラーです。

src- https://code.google.com/p/cuda-convnet/wiki/LayerParams#Local_response_normalization_layer_(same_map)


0

バツ=バツk+αjバツj2β

kαβRκ=0α=1β=12

ただし、「バッチ正規化」と呼ばれるはるかに新しい手法(ペーパーを参照)がありますが、これは非常によく似ており、LRNを使用しないことを推奨します。バッチ正規化もピクセル単位で機能します。

y=バツμσ2+ϵγ+β

μσ2ε>0γβR

したがって、答えは次のとおりです。ローカルレスポンスの正規化は重要ではなくなりました。より適切に機能し、LRNに取って代わるものがあります。バッチ正規化です。

こちらもご覧ください


これは正しくないと思います。LRNは、入力ではなくカーネルの出力に適用されます(ただし、Alexnetは入力の正規化を使用しますが、それは別個のものです)。
シタールシャー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.