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

Loss Function

損失関数は、モデルの予測と正解データの差を評価し、学習ではその値を最小化します。一般的な損失関数とそれぞれの用途を紹介します。

損失関数は、モデルの予測と学習データの正解ラベルとの差を測定し、その誤差を1つの数値に集約します。この数値は小さいほど良好です。ニューラルネットワークの学習とは、この数値ができるだけ小さくなるようにモデルの重みを調整することです。「コスト関数」と「目的関数」も一般的な同義語ですが、文献によっては「損失」を単一の例に対する誤差、「コスト」をバッチやデータセット全体の平均に限定して使う場合があります。

損失が学習を促す仕組み#

学習では、データの各バッチについて同じサイクルを繰り返します。モデルが予測を行い、損失関数がラベルと照らして予測を評価し、誤差逆伝播が各重みに対する損失の勾配を計算します。続いて、確率的勾配降下法(SGD)やAdamオプティマイザーなどのオプティマイザーが、学習率で決まるステップ幅で、各重みを勾配と反対方向に少し移動させます。この処理は勾配に依存するため、損失関数はほぼすべての点で微分可能である必要があります。各エポックの後に学習損失と検証損失をプロットするのが、実行状況を監視する標準的な方法です。学習損失が下がり続ける一方で検証損失が上がる場合、これは過学習の典型的な兆候です。

一般的な損失関数#

適切な損失関数はモデルの予測対象によって異なります。PyTorchなどのフレームワークには、標準的な選択肢の多くが用意されています。

  • 平均二乗誤差(MSE): 予測値と正解値の差を二乗した値の平均で、回帰に使われます。二乗することで大きな誤差の影響が強くなるため、外れ値に大きく引っ張られます。
  • 平均絶対誤差(L1)とHuber損失: 大きな誤差に対して線形に増加する回帰損失で、外れ値の影響を受けにくくなります。Huber損失は小さな誤差に対しては二次関数的に、大きさがしきい値を超えると線形に増加します。
  • 交差エントロピー: 相互に排他的なクラスに対するsoftmax確率を用いて計算する、画像分類の標準的な損失関数です。
  • 二値交差エントロピー(BCE): sigmoidを通じて各クラスを独立した二値予測として評価するため、マルチラベル問題や検出器のクラススコアに適しています。
  • Focal loss: 簡単な例の重みを下げる交差エントロピーの変種です。クラスの不均衡が大きい場合に、希少で難しい例が学習を促すようにします。
  • IoUベースの損失: Intersection over Union (IoU)に基づくボックス回帰損失です。DIoUやCIoUなどの変種では、中心間距離に対するペナルティが追加され、CIoUではアスペクト比に対するペナルティも追加されます。
  • Dice損失: 画像セグメンテーションに使う領域重複損失です。前景が画素のごく一部しか占めない場合でも、有効な学習信号を保ちます。
  • コントラスト損失: コントラスト学習で使う損失で、一致するペアを埋め込み空間で近づけ、一致しないペアを遠ざけます。

交差エントロピーでは、正解クラスに割り当てられた確率の負の対数を使います。そのため、確信を持った誤答のコストは、確信のない誤答よりはるかに大きくなり、確信を持った正解のコストはほぼゼロになります。PyTorchのCrossEntropyLossは、同じ確信度を持つ2つの予測に対する効果を示しています。

import torch
from torch import nn

# CrossEntropyLoss applies softmax to raw scores (logits) internally
loss_fn = nn.CrossEntropyLoss()

# Logits for 3 classes; the true class is index 0
target = torch.tensor([0])
confident_right = torch.tensor([[4.0, 0.5, -1.0]])
confident_wrong = torch.tensor([[-1.0, 4.0, 0.5]])

print(f"Confident and right: {loss_fn(confident_right, target).item():.4f}")
print(f"Confident and wrong: {loss_fn(confident_wrong, target).item():.4f}")

確信を持った正解の損失は0.0363ですが、同じ確信度で誤ったクラスを選ぶと5.0363となり、およそ139倍になります。

物体検出における複合損失#

物体検出モデルは各物体の位置と種類を予測するため、学習損失は複数の項の加重和になります。YOLO26では、CIoUボックス損失、BCE分類損失、正規化されたボックス距離に対するL1損失を組み合わせます。このL1損失は、以前のYOLOモデルで使われていたDistribution Focal Lossを置き換えるものです。各損失にはbox、cls、dflの学習引数で重みを設定します(デフォルト値は7.5、0.5、1.5です)。また、Progressive Lossは学習の進行に合わせて、NMS不要の推論に使われる一対一ヘッドへ、一対多ヘッドから重みを移します。

  • 評価指標: 精度や平均適合率(mAP)などの指標は、人が重視する観点から性能を報告します。しかし、ほとんどの指標は離散的に変化するため、勾配を計算できません。学習では、これらの指標の代理として微分可能な損失を最小化します。
  • 正則化: モデルの複雑さを抑えるために損失へ追加するペナルティ項です。L2正則化は、重みの二乗和に係数を掛けた項を加えます。これにより、汎化性能が高まりやすい小さな重みへオプティマイザーを誘導します。
  • 報酬関数: 強化学習における目的関数です。エージェントは損失を最小化するのではなく、累積報酬を最大化します。そのため、報酬は負の損失に相当します。

ソリューションを見る

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

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

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の未来を一緒に築きましょう!

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