メインコンテンツへスキップ
AI用語集に戻る
AI用語

正規化

Normalization

解説

異なる尺度や範囲を持つデータを、比較可能な一定のルールに基づいて調整すること。GDPOでは、各評価軸の難易度の差を埋めるために「偏差値」のような形でスコアを調整します。これにより、難易度の高い目標を達成した際の貢献度を正しく評価できるようになります。

さらに詳しく解説

正規化とは

正規化(Normalization)は、データやパラメータを一定の範囲やスケールに変換する処理です。機械学習において、学習の安定性向上や収束速度の改善に重要な役割を果たします。

正規化の種類

種類対象用途
データ正規化入力データ前処理
バッチ正規化中間層出力学習安定化
レイヤー正規化レイヤー出力Transformer
重み正規化パラメータ汎化性能向上

データ正規化

Min-Max正規化

x_normalized = (x - x_min) / (x_max - x_min)

結果: 0〜1の範囲に変換

Z-score正規化(標準化)

x_normalized = (x - μ) / σ

結果: 平均0、標準偏差1に変換

バッチ正規化(Batch Normalization)

バッチ正規化の処理:
1. ミニバッチの平均・分散を計算
   μ = mean(x), σ² = var(x)
   ↓
2. 正規化
   x̂ = (x - μ) / √(σ² + ε)
   ↓
3. スケール・シフト
   y = γx̂ + β
   (γ、βは学習パラメータ)

バッチ正規化の効果

効果説明
学習の高速化より大きな学習率が使用可能
勾配消失の緩和勾配の伝播が安定
正則化効果過学習を抑制
初期値への依存低減初期化の影響が軽減

レイヤー正規化(Layer Normalization)

Transformerで標準的に使用される正規化手法。

レイヤー正規化:
- バッチではなく、各サンプルの
  特徴次元方向で正規化
- シーケンス長が可変でも適用可能
- [推論](/glossary/inference)時もバッチ統計に依存しない

RMSNorm

LLMで使用される軽量な正規化手法。

RMSNorm:
- 平均を計算せず、RMS(二乗平均平方根)のみ使用
- 計算コストを削減
- [Llama](/glossary/llama)等で採用

正規化手法の比較

手法正規化方向用途
Batch Normバッチ方向CNN
Layer Norm特徴方向Transformer
Instance Norm空間方向スタイル変換
Group Normグループ方向小バッチ

実装例(PyTorch)

python
import torch.nn as nn

# バッチ正規化
bn = nn.BatchNorm2d(num_features=64)

# レイヤー正規化
ln = nn.LayerNorm(normalized_shape=768)

# RMSNorm
class RMSNorm(nn.Module):
    def __init__(self, dim, eps=1e-6):
        super().__init__()
        self.scale = nn.[Parameter](/glossary/parameter)(torch.ones(dim))
        self.eps = eps

    def forward(self, x):
        rms = torch.sqrt(x.pow(2).mean(-1, keepdim=True) + self.eps)
        return x / rms * self.scale
AI用語集に戻る

この用語をシェア

AIの導入についてご相談ください

「うちの会社でも使えるの?」「何から始めればいい?」
そんな疑問に、30分のオンライン相談でお答えします。

無料相談を予約する