【ラベルスムージング】
ラベルスムージング とは?
最終更新:
💡 学習の目標を、0と1だけの分布から少しやわらげる
分類モデルの学習で、one-hotの目標分布に一様分布などを混ぜる正則化手法。クラス数と係数を使った計算、モデルの予測との違い、性能や知識蒸留に対する注意点を解説します。
📌 このページのポイント
- 変更するのは学習に使う目標分布で、正解の意味や予測値そのものではない
- 一様分布を混ぜる方式では q′ = (1−ε)q + ε/K
- 4クラス・ε=0.1なら、正解クラス0.925、ほかは各0.025
- 精度や確率の校正への効果は条件による。常に改善する保証はない
何をスムーズにするの?
分類の学習で使う目標分布だよ。猫が正解なら、猫を1、ほかを0とするone-hotの分布がある。ラベルスムージングでは、そこに少し別の分布を混ぜる。モデルが出した予測確率そのものを固定する処理ではないんだ。
正解が間違っているかもしれないという意味?
この手法だけで、ラベルの誤りを推定しているわけではないよ。正解のクラスは同じまま、学習時に極端な目標分布をやわらげる正則化の方法なんだ。過度に確信した予測を抑えたり、未知のデータへの性能に役立ったりする場合がある。
係数が0.1なら、正解は必ず0.9?
分配方法とクラス数によるよ。PyTorchのCrossEntropyLossが説明する、元のラベルと全クラスの一様分布を混ぜる方式なら、正解にも一様分布の分が足される。4クラスでは0.9+0.1÷4=0.925になるんだ。
ほかのクラスは、いくつになる?
この例なら各0.1÷4=0.025だよ。0.925+0.025×3=1となる。10クラスなら正解0.91、ほかは各0.01だ。正解以外にだけ配る方式もあるので、式が違う実装の数値を混ぜないようにしよう。
使えば、精度は必ず上がる?
そうとは限らないよ。係数を含めて検証データで比べよう。研究では精度や確率の校正が改善した例がある一方、ラベルスムージングで学習した教師モデルが、知識蒸留では不利になる結果も示されている。用途と評価の条件が大切なんだ。
もっと詳しく知りたい人へ
式のKとεは何を表す?
Kはクラス数、εは一様分布を混ぜる割合です。qは元の目標分布で、各クラスについてq′=(1−ε)q+ε/Kと計算します。ε=0なら元のone-hot、ε=1ならこの方式では全クラス一様になります。中間の値の良し悪しは、データ・モデル・目的によって変わります。
正解0.9、残りを他クラスに配る説明は間違い?
正解以外のクラスにだけεを配る定義なら、その説明になります。たとえば4クラス・ε=0.1で正解0.9、ほかは各0.1/3です。本ページの一様分布を全クラスに混ぜる定義とは式が違うため、同じεでも値は一致しません。論文や実装の定義を先に確認します。
📖 おまけ:英語の意味
「Label Smoothing」 = ラベルの平滑化
💬 学習目標として使う分布の鋭さをやわらげる、という意味です。正解ラベルの名称を変更したり、誤ったラベルを自動的に直したりすることを指しません。