CNNにおける標準化

Python, ML07 January 2021

CNNにおいても当然標準化は必要となるが、CNNで考えうる標準化は以下の4通りがある。

Batch Normalization

  • 各チャンネルごとにバッチ内の全データで標準化する
  • 最強。使えるならこれを使いたい
  • バッチ数が十分であることが必須条件
  • メモリを大量に消費するので、それに耐えうるマシンが必要

Instance Normalization

  • 各入力(各バッチの1チャンネル)ごとに標準化する
  • メモリ消費は少ないが微妙

Layer Normalization

  • 全チャンネルごと(=各画像ごと)に標準化する
  • 他のチャンネルの情報を潰してしまう可能性がある

Group Normalization

  • Instance NormalizationとLayer Normalizationの間
  • チャンネルをいくつかのグループに分けて標準化する
  • 悪くはないが、グループ数というハイパーパラメータが増えるのがデメリット

tags: Python, ML