ワンホットラベルの正解確率を1.0から(1-ε)に下げ、残りのεを他クラスに均等配分することでモデルの過信を抑制し、予測のキャリブレーション精度と汎化性能を向上させる正則化手法。翻訳・要約などのLLMタスクで広く使用される。
Label Smoothing(ラベル平滑化)は、2016 年に Szegedy らが Inception v2 の論文で提案した正則化手法である。通常のクロスエントロピー損失では正解クラスに確率 1.0、それ以外に 0.0 を割り当てるワンホットラベルを使用するが、Label Smoothing ではこの「硬い」ラベルを「柔らかい」ラベルに変換する。
具体的には、正解クラスの確率を (1 - ε) に、残りの確率 ε を他の全クラスに均等配分する。ここで ε(イプシロン)は平滑化パラメータで、典型的には 0.1 が使用される。
変換例(クラス数 K = 5、正解クラス = 2、ε = 0.1):
Label Smoothing を適用したクロスエントロピー損失は以下のように定式化される。
通常のクロスエントロピー損失:L_CE = -Σ y_i * log(p_i)(y はワンホットラベル、p はモデル出力確率)
Label Smoothing 適用後:y_smooth_i = y_i * (1 - ε) + ε / K
| パラメータ | 説明 | 典型的な値 |
|---|---|---|
| ε(epsilon) | 平滑化強度 | 0.1 |
| K | クラス数(語彙サイズ) | 32,000〜256,000 |
| 1 - ε | 正解クラスの確率 | 0.9 |
| ε / K | 非正解クラスの確率 | 非常に小さい値 |
LLM では K が語彙サイズ(数万〜数十万)であるため、非正解トークンに配分される確率は極めて小さい。しかし、この微小な確率の存在がモデルの出力 logit の大きさを抑制し、過信を防ぐ効果がある。
Label Smoothing がモデルに与える影響を以下に整理する。
| 効果 | 説明 | 実測結果 |
|---|
| 過信抑制 | 出力確率の最大値が 1.0 に近づかない | キャリブレーション ECE 20〜40% 改善 |
| logit 圧縮 | 出力 logit の絶対値が小さくなる | logit の分散が 30〜50% 減少 |
| 暗黙的な知識蒸留 | ソフトラベルが教師モデルの出力に類似 | 知識蒸留と類似の効果 |
| 温度スケーリング不要化 | 出力分布が自然にキャリブレーションされる | 推論時の温度調整が不要に |
| 汎化性能向上 | テストセットでの性能改善 | BLEU +0.5〜1.0(翻訳タスク) |
LLM での Label Smoothing の採用状況は手法によって分かれる。
| モデル/手法 | Label Smoothing | ε 値 | タスク |
|---|---|---|---|
| 原著 Transformer | 使用 | 0.1 | 機械翻訳 |
| BERT | 不使用 | - | マスク言語モデル |
| GPT-2/3 | 不使用 | - | 自己回帰生成 |
| T5 | 不使用 | - | テキスト生成 |
| mBART | 使用 | 0.2 | 多言語翻訳 |
| NLLB | 使用 | 0.1 | 多言語翻訳 |
| PaLM | 不使用 | - | 汎用 LLM |
| LLaMA | 不使用 | - | 汎用 LLM |
翻訳モデルでは積極的に使用される一方、汎用 LLM の事前訓練では使用しないケースが多い。これは、自己回帰生成タスクでは「正解トークンに最大確率を割り当てる」ことが生成品質に直結するため、Label Smoothing による確率の平坦化が生成品質を低下させる可能性があるためである。
基本的な一様分布 Label Smoothing 以外にも、様々な派生手法が提案されている。
| 派生手法 | 原理 | 利点 |
|---|---|---|
| Token-Level Smoothing | トークンの頻度に応じて ε を調整 | 稀少トークンの学習改善 |
| Unigram Smoothing | 非正解ラベルを一様ではなくユニグラム分布で配分 | 言語的に妥当な分布 |
| Adaptive Smoothing | 訓練進行に応じて ε を変化 | 初期は強く後半は弱く |
| Focal Label Smoothing | Focal Loss と Label Smoothing の組み合わせ | 困難サンプルへの注力 |
| Bidirectional Smoothing | 正解・非正解の両方向に平滑化 | より滑らかな出力分布 |
モデルのキャリブレーション(予測確率と実際の正解率の一致度)は、LLM の信頼性にとって重要な指標である。
| キャリブレーション指標 | 説明 | Label Smoothing の影響 |
|---|---|---|
| ECE(Expected Calibration Error) | ビン分割による期待キャリブレーション誤差 | 大幅に改善(20〜40%) |
| MCE(Maximum Calibration Error) | 最大キャリブレーション誤差 | 改善 |
| Brier Score | 確率予測の二乗誤差 | 改善 |
| NLL(Negative Log-Likelihood) | 対数尤度 | 若干悪化することがある |
Label Smoothing はキャリブレーションを大幅に改善するが、NLL は若干悪化する場合がある。これは、Label Smoothing が logit の大きさを制限するため、正解トークンに対する log 確率が低下するためである。
| 注意点 | 説明 | 対策 |
|---|---|---|
| ε の選択 | 大きすぎると正解ラベルの情報が失われる | 0.05〜0.2 の範囲で検証 |
| パディングトークン | パディングに確率を配分しない | ignore_index の設定 |
| 特殊トークン | BOS/EOS に平滑化が必要か | タスクに応じて判断 |
| 温度との相互作用 | Label Smoothing + 温度スケーリングの二重効果 | 一方のみ使用を推奨 |
| 混合精度訓練 | FP16 での微小確率の精度 | ε/K が FP16 の精度範囲内か確認 |
多くのタスクで 0.1 は良好な出発点だが、万能ではない。語彙サイズが非常に大きい LLM(K > 100,000)では ε = 0.1 でも非正解トークンへの配分は無視できるほど小さくなる。翻訳タスクでは 0.1〜0.2 が一般的だが、テキスト生成タスクでは 0.0〜0.05 が適切な場合がある。検証セットでの perplexity と BLEU/ROUGE をバランスよく評価して決定する。
部分的に代替可能だが、完全な代替ではない。Label Smoothing は一様分布で平滑化するのに対し、知識蒸留は教師モデルの出力分布(クラス間の類似性を反映した「暗黒知識」)を利用する。知識蒸留の方がクラス間の関係性をより豊かに伝達できるため、教師モデルが利用可能な場合は知識蒸留が優れる。ただし、教師モデルがない場合の簡便な代替としては有効。
自己回帰 LLM では次トークン予測の精度が生成品質に直結する。Label Smoothing は正解トークンの確率を下げるため、ビームサーチやグリーディデコーディングでの最良トークンの選択精度が低下する可能性がある。また、十分に大きなデータセットでは過学習自体が起きにくく、Weight Decay のみで十分な正則化効果が得られる。翻訳タスクでは BLEU が改善するが、これは翻訳品質の評価指標の特性による部分もある。