Label Smoothing
ラベルスムージングが過学習をいかに防ぎ、モデルの汎化能力を向上させるかを学びます。より良い結果を得るために、この手法をUltralytics YOLO26に実装する方法を発見しましょう。
ラベルスムージングは、モデルの汎化性能を向上させ、過学習を防ぐために機械学習で広く使用されている正則化手法です。ニューラルネットワークの学習における目的は、一般的に予測と正解データの間の誤差を最小化することです。しかし、モデルが予測に自信を持ちすぎると、特定のクラスに対して100%に近い確率を割り当てるようになり、堅牢なパターンを学習する代わりに学習データに含まれる特定のノイズを記憶し始めることがよくあります。過学習として知られるこの現象は、新しい未知のデータに対するパフォーマンスを低下させます。ラベルスムージングは、モデルが絶対的な確信を持って予測することを抑制することでこれに対処し、ネットワークに対して常に小さな誤差の余地があることを本質的に伝えます。
Link to this sectionソフトターゲットのメカニズム#
ラベルスムージングの動作原理を理解するには、標準的な「ハード」ターゲットと比較するのが役立ちます。従来型の教師あり学習では、分類ラベルは通常ワンホットエンコーディングで表現されます。例えば、猫と犬を区別するタスクでは、「犬」の画像はターゲットベクトル[0, 1]を持ちます。これを完璧に一致させるために、モデルはその内部スコア(ロジットとして知られる)を無限大に向かって押し上げようとしますが、これが勾配の不安定化や適応能力の欠如につながる可能性があります。
Label smoothing replaces these rigid 1s and 0s with "soft" targets. Instead of a target probability of 1.0, the correct class might be assigned 0.9, while the remaining probability mass (0.1) is distributed uniformly across the incorrect classes. This subtle shift modifies the objective of the loss function, such as cross-entropy, preventing the activation function (usually Softmax) from saturating. The result is a model that learns tighter clusters of classes in the feature space and produces better model calibration, meaning the predicted probabilities more accurately reflect the true likelihood of correctness.
Link to this section実社会での応用#
この手法は、データの曖昧さが内在しているドメインや、データセットにラベル付けの誤りが含まれやすい分野において特に重要です。
- 医療診断: 医療分野におけるAIの領域では、臨床データが白黒はっきりしていることは稀です。例えば、医療画像解析において、スキャン画像が疾患を強く示唆しているものの決定的ではない特徴を示す場合があります。ハードラベルを用いて学習させると、モデルはこの不確実性を無視せざるを得なくなります。ラベルスムージングを適用することで、モデルは一定の懐疑的度合いを保持することができ、過信が誤診につながる可能性がある意思決定支援システムにおいて不可欠となります。
- 大規模画像分類: ImageNetのような巨大な公開データセットには、ラベルが間違っている画像や、有効な複数のオブジェクトが含まれる画像がしばしば混在しています。モデルがこれらのノイズの多いサンプルを100%の確信度で適合させようとすると、誤った関連付けを学習してしまいます。ラベルスムージングはラベルノイズに対する緩衝材として機能し、少数の不適切なデータポイントが最終的なモデル重みを大きく歪めないようにします。
Link to this sectionUltralyticsでラベルスムージングを実装する#
現代のディープラーニングフレームワークでは、この手法の適用が簡素化されています。ultralyticsパッケージを使用すると、画像分類や検出タスクの学習パイプラインにラベルスムージングを容易に統合できます。これは、YOLO26のような最先端モデルからさらなる性能を引き出すためによく行われます。
以下の例は、ラベルスムージングを有効にして分類モデルを学習させる方法を示しています:
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Train with label_smoothing set to 0.1
# The target for the correct class becomes 1.0 - 0.5 * 0.1 = 0.95 (depending on implementation specifics)
model.train(data="mnist", epochs=5, label_smoothing=0.1)Link to this section関連概念との比較#
ラベルスムージングをいつ使用すべきかを理解するために、他の正則化戦略と区別しておくと役立ちます。
- vs. ドロップアウト: ドロップアウト層は、学習中にニューロンをランダムに無効化することで、ネットワークに冗長な表現を学習させます。どちらも過学習を防ぐものですが、ドロップアウトはネットワークのアーキテクチャを動的に変更するのに対し、ラベルスムージングは最適化ターゲット(ラベル自体)を変更します。
- vs. 知識蒸留: どちらの手法もソフトターゲットを用いて学習を行います。しかし、知識蒸留では、ソフトターゲットは「教師」モデルから得られるものであり、学習された情報(例:「これは10%猫のように見える」)が含まれています。対照的に、ラベルスムージングでは数学的に導出された「情報を持たない」ソフトターゲットを使用します(例:「他のすべてのクラスに10%の確率を均等に与える」)。
- vs. データ拡張: データ拡張のための戦略は、入力データ(回転、クロッピング、色調整)を変更して多様性を高めます。ラベルスムージングは出力の期待値を変更します。Ultralytics Platformでの包括的な学習ワークフローでは、最大の精度を達成するために、拡張、ドロップアウト、およびラベルスムージングを組み合わせることがよくあります。
最終層における勾配消失問題を軽減し、モデルにより堅牢な特徴を学習させることを促すラベルスムージングは、現代のディープラーニングアーキテクチャにおける定番の手法です。






