【E資格不合格から学ぶ】様々な正規化手法を活用して性能向上を図る!

  • 「正規化」について理解しているか不安・・・
  • 正規化は「Batch-Normalization(バッチ正規化)」しか知らないけど他の正規化手法があるの?
  • 「Batch-Normalization(バッチ正規化)」以外の正規化手法について分かりやすく教えて!

 「正規化」には「Batch-Normalization」以外に「Layer-Normalization/Instance-Normalization」があります。これは、レイヤー間を流れるデータの分布を、ミニバッチ単位で平均が0、分散が1になるように正規化するもので学習時間の短縮や初期値への依存低減、過学習の抑制など効果がある便利な技術ですが、興味があっても難しそうで何から学んだらよいか分からず、勉強のやる気を失うケースは非常に多いです。

 私は過去に基本情報技術者試験(旧:第二種情報処理技術者試験)に合格し、また2年程前に「一般社団法人 日本ディープラーニング協会」が主催の「G検定試験」に合格しました。現在、「E資格」にチャレンジ中ですが3回不合格になり、この経験から学習の要点について学ぶ機会がありました。

 そこでこの記事では、「Layer-Normalization/Instance-Normalization」のポイントについて解説します。

 この記事を参考にして「Layer-Normalization/Instance-Normalization」が理解できれば、E資格に合格できるはずです。

<<「Layer-Normalization/Instance-Normalization」のポイントについて今すぐ見たい方はこちら

目次

1.Batch-Normalization(バッチ正規化)とは(復習)

Batch-Normalization(バッチ正規化)とは・・・
Batch-Normalization の問題点
  • Batch Sizeが小さい条件下では、学習が収束しないことがある
    ⇒ 代わりにLayer-Normalizationなどの正規化手法が使われることがある。

2.Batch-Normalization 以外の正規化

正規化の種類
  • Batch-Normalization
    ミニバッチに含まれるsampleの同一チャンネルが同一分布に従うよう正規化
  • Layer-Normalization
    それぞれのsampleの全てのpixelsが同一分布に従うよう正規化
  • Instance-Normalization
    さらにchannelも同一分布に従うよう正規化

Batch-Norm          Layer-Norm      Instance-Norm

Batch Norm のイメージ図
Batch Norm のイメージ図
Layer Norm と Instance Norm のイメージ図
Layer Norm と Instance Norm のイメージ図

N:ミニバッチ数
C:Channel
H,W:Heigth/Widthをまとめた

参照論文https://arxiv.org/pdf/1803.08494.pdf

2.1 Batch-Normalization(バッチ正規化)

Batch-Normalization(バッチ正規化)とは・・・
  • H×W×C のsampleがN個あった場合に、N個の「同一チャンネル」が正規化の単位
  • RGBの3チャンネルのsampleがN個の場合は、それぞれのチャンネルの平均と分散を求め正規化を実施(下図の青い部分に対応)
    ⇒ チャンネル毎に正規化された特徴マップを出力。
  • ミニバッチのサイズを大きく取れない場合には、効果が薄くなってしまう。
BatchNormのイメージ図
Batch-Normのイメージ図
BatchNormにおいてN=2とした場合のイメージ図
Batc-NormにおいてN=2とした場合のイメージ図

参照論文https://arxiv.org/pdf/1803.08494.pdf

2.2 Layer-Normalization(レイヤー正規化)

Layer-Normalization(レイヤー正規化)とは・・・
  • N個のsampleのうち1つに注目。H×W×Cの全てのpixelが正規化の単位。
  • RGBの3チャンネルのsampleがN個の場合は、あるsampleを取り出し、全てのチャンネルの平均と分散を求め正規化を実施(下図の青い部分に対応)。
    ⇒ 特徴マップごとに正規化された特徴マップを出力
  • ミニバッチの数に依存しないので、上記の問題を解消できていると考えられる。
Layer-Normのイメージ図
Layer-NormにおいてN=2とした場合のイメージ図

参照元論文https://arxiv.org/pdf/1803.08494.pdf

Layer-Normalizationの特徴とは・・・

Layer-Normalizationは、入力データや重み行列に対して、以下の操作を施しても、出力が変わらないことが知られている。

  • 入力データのスケールに関してロバスト
  • 重み行列のスケールやシフトに関してロバスト

詳細は下記のスライドを参照
https://www.slideshare.net/KeigoNishida/layerーnormalizationnips

2.3 Instance-Normalization(インスタンス正規化)

Instance-Normalization(インスタンス正規化)とは・・・

  Instance-Norm

Instance Normのイメージ図
Instance-Normのイメージ図
Instance NormにおいてN=2とした場合のイメージ図
Instance-NormにおいてN=2とした場合のイメージ図

3.まとめ

【各正規化の特徴】
  • Batch-Normalization(復習)
    ・ミニバッチに含まれるsampleの同一チャンネルが同一分布に従うよう正規化
    ・問題点:Batch Sizeが小さい条件下では、学習が収束しないことがある。
  • Layer-Normalization
    それぞれのsampleの全てのpixelsが同一分布に従うよう正規化
  • Instance-Normalization
    さらにchannelも同一分布に従うよう正規化

最後まで読んで頂きありがとうございます。
皆様のキャリアアップを応援しています!!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次