Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Cross-Entropy Loss

交差エントロピー損失は、予測されたクラス確率と正解ラベルを比較し、学習中の分類モデルやセグメンテーションモデルを導きます。

交差エントロピー損失は、モデルが予測したクラス確率と正解ラベルがどの程度一致しているかを測定します。正しいクラスに高い確率が割り当てられると小さなペナルティを、確率が低いと大きなペナルティを与えます。損失関数として、教師あり学習では学習中に最小化する目的関数を提供します。

Claude Shannonが1948年に発表した通信の数学的理論は、エントロピーの基礎を確立しました。D. F. Kerridgeは1961年の論文不正確さと推論で、交差エントロピー尺度を「不正確さ」として導入しました。分類では、対数損失は同義語であり、ロジスティック回帰とニューラル分類器の両方で使用されます。

交差エントロピー損失の仕組み#

正しいクラスが1つある1つのサンプルの場合、重み付けなしの交差エントロピーはloss = -ln(p_correct)です。正しいクラスの確率が0.9の場合、損失は約0.105になり、0.1の場合は約2.303になります。自然対数で表した結果の単位はナットです。通常、学習ではバッチ内のこれらのペナルティを平均します。

より一般的には、交差エントロピーは各クラスの正解確率に予測確率の負の対数を掛け、クラス全体で合計します。ワンホット形式の正解ラベルでは、正しいクラスに1、それ以外に0を設定するため、正しいクラスの項だけが残ります。重み付けなしのワンホット形式の正解ラベルでは、交差エントロピーの最小化は観測されたラベルの尤度を最大化することと同等です。誤差逆伝播法で勾配を計算し、勾配降下法でモデルのパラメーターを更新します。

二値・カテゴリカル・スパース交差エントロピー#

適切な形式はラベルによって異なります。

  • シグモイドを用いた二値交差エントロピー: 0または1の正解ラベルyと、クラス1の予測確率pに対する損失は-[y * ln(p) + (1 - y) * ln(1 - p)]です。マルチラベル分類では、同時に該当する可能性のあるラベルごとに独立して適用します。
  • ソフトマックスを用いたカテゴリカル交差エントロピー: 確率の合計が1になる、相互排他的なクラスを評価します。ソフトマックスは、生のモデルスコアであるロジットをその確率分布に変換します。
  • スパースカテゴリカル交差エントロピー: ワンホットベクトルの代わりに整数のクラスインデックスを使用します。同じ損失を計算し、「スパース」は正解ラベルのエンコード方法を表します。

ソフトラベルでは、複数のクラスに確率を分配します。ソフトラベルはラベルスムージングや知識蒸留で使用され、知識蒸留では生徒モデルが教師モデルの確率分布から学習します。

PyTorchでの交差エントロピーの計算#

PyTorchは、CrossEntropyLossで生のロジットを受け取ります。クラスインデックス形式の正解ラベルに対する計算は、log-softmaxの後に負の対数尤度を計算する方法と同等です。事前にsoftmaxを適用すると、この関数は確率をロジットとして扱うため、損失と勾配が変わります。整数形式の正解ラベルにはtorch.longを使用し、確率形式の正解ラベルには浮動小数点値を使用します。確率形式の正解ラベルの形状はロジットと一致させます。

import torch
from torch import nn

# Both predictions select class 0; the second is more confident.
logits = torch.tensor([[2.0, 0.0, 0.0], [4.0, 0.0, 0.0]])
targets = torch.tensor([0, 0], dtype=torch.long)
loss_fn = nn.CrossEntropyLoss(reduction="none")

losses = loss_fn(logits, targets)
print(f"Lower confidence loss: {losses[0].item():.4f}")
print(f"Higher confidence loss: {losses[1].item():.4f}")

両方の予測が正解のまま、損失は0.2395から0.0360に減少します。精度はクラスの判定を記録しますが、交差エントロピーは確率の割り当てにも反応します。二値またはマルチラベルのロジットには、BCEWithLogitsLossを使用するとシグモイドと二値交差エントロピーを組み合わせられます。

コンピュータービジョンでの応用#

単一ラベルの画像分類では、画像ごとに1つのクラスを学習するために交差エントロピーを使用します。UltralyticsのYOLO26の分類学習では、クラスロジットに対する平均交差エントロピーを使用し、分類器を更新してラベル付けされたカテゴリに近づけます。

医療画像セグメンテーションでは、初期のU-Netは、生物医学顕微鏡画像を使い、ピクセル単位のソフトマックスと重み付き交差エントロピーで学習しました。重みマップは、接触する細胞間の境界におけるペナルティを増やし、隣接する細胞の分離を支援しました。これはセマンティックセグメンテーションで各ピクセルに分類を適用するものです。

損失値の解釈#

有効な正解確率分布と非負の重みを用いた離散交差エントロピーは、非負です。重み付けなしのハードラベルでは、正しいクラスに確率1が割り当てられると損失は0になり、その確率が0に近づくほど損失は無限に増大します。負の値は、正解ラベルに負の値が含まれる、重みが負であるなど、入力または実装に誤りがあることを示します。

エントロピーは1つの分布内の不確実性を測定し、交差エントロピーは正解ラベルと予測を比較します。交差エントロピーは、正解ラベルのエントロピーに、追加の不一致ペナルティであるカルバック・ライブラー・ダイバージェンスを加えたものです。そのため、ソフトラベルのエントロピーが正の場合、損失の最小値も正になります。

クラス重み付けは、選択したクラスの寄与を増やします。焦点損失は、物体検出における前景と背景の不均衡に対処するため、簡単なサンプルの寄与を減らします。一様な予測の場合、重み付けなしの対数損失はln(number_of_classes)となり、2クラスでは約0.693、10クラスでは約2.303です。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう