最終更新日:2026年8月21日
gk cnn neural_network
G検定トップ
> データ拡張と正規化の違い|入力を変えるか、値を整えるか【G検定】
まず結論
データ拡張と正規化は、何を変える処理かが違います。
- データ拡張:入力データへ変換を加え、学習時の多様性を増やす
- 正規化:値のスケールや、ネットワーク内部の統計量を整える
G検定では、回転・反転・切り抜き → データ拡張、0〜1へ変換 → 入力の正規化、ミニバッチの統計量 → Batch Normalization と切り分けます。
直感的な説明
データ拡張は、同じ題材から少し違う問題を作るイメージです。
正規化は、問題そのものを増やすのではなく、数値の基準をそろえて扱いやすくするイメージです。
この2つは、どちらも学習を助けることがありますが、役割は別です。
定義・仕組み
データ拡張(Data Augmentation)
学習データに意味を壊しにくい変換を加えます。
- 回転
- 反転
- クロップ
- 色変換
- RandAugment / AutoAugment
実装では、変換後データを事前に保存する場合もあれば、学習中にその場で変換する場合もあります。したがって、「必ず学習前にデータ数を物理的に増やす」とは限りません。
入力データの正規化
特徴量や画素値のスケールをそろえます。
例:
- 画素値 0〜255 を 0〜1へ変換
- Min-Max正規化
Batch Normalization
ニューラルネットワーク内部で、学習時にミニバッチの統計量を使って活性値を正規化します。
入力前処理のNormalizationとは同じ名前でも、作用する場所が異なります。
いつ使う?(得意・不得意)
データ拡張
- データが少ない
- 画像の向き・位置・明るさなどの変化に頑健にしたい
- 過学習を抑え、汎化性能を高めたい
正規化
- 特徴量の桁をそろえたい
- 入力スケールの差を小さくしたい
- ネットワーク内部の学習を安定させたい(BatchNormなど)
G検定ひっかけポイント
| 問題文の表現 | 判断 |
|---|---|
| 回転・反転・クロップ | データ拡張 |
| 0〜1へ変換 | 入力の正規化 |
| 平均0・分散1 | 標準化 |
| ミニバッチの平均・分散 | Batch Normalization |
| 重みに罰則 | 正則化 |
- ❌ データ拡張は必ず学習前にデータを保存して増やす
- ❌ 正規化は過学習対策そのもの
- ⭕ データ拡張は入力の多様性を増やす
- ⭕ 正規化は値や統計量を整える
まとめ(試験直前用)
- データ拡張:入力の多様性を増やす
- 正規化:値・分布を整える
- 「回転・反転」ならデータ拡張
- 「0〜1」「ミニバッチ統計」なら正規化系を疑う