Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Focal Loss

Focal Loss gewichtet die Kreuzentropie so, dass einfache Beispiele kaum zählen und seltene, schwierige Beispiele das Training bestimmen. Behandelt Formel, Gamma, RetinaNet und Varianten.

Focal Loss ist eine modifizierte Kreuzentropie-Verlustfunktion, die Beispiele geringer gewichtet, die ein Modell bereits gut klassifiziert. Dadurch konzentriert sich das Training auf schwierige, falsch klassifizierte Beispiele. Lin et al. stellten das Verfahren 2017 zusammen mit dem Detektor RetinaNet in der Arbeit Focal Loss for Dense Object Detection vor, um das extreme Ungleichgewicht zwischen Hintergrund und Objekten bei der Objektdetektion zu bewältigen. Heute kommt es häufig bei Klassifikationsaufgaben zum Einsatz, bei denen eine Klasse die übrigen zahlenmäßig deutlich übertrifft.

Das Ungleichgewichtsproblem#

Einstufige Objektdetektoren klassifizieren jede mögliche Position in einem Bild. RetinaNet bewertet pro Bild etwa 100,000 solcher Positionen. Fast alle davon zeigen Hintergrund, den das Modell zu Beginn des Trainings zu erkennen lernt. Bei gewöhnlicher Kreuzentropie trägt jedes einfache Negativbeispiel weiterhin einen kleinen Verlust bei. Ihre schiere Anzahl lässt sie den Gesamtverlust und seine Gradienten dominieren und überdeckt damit die wenigen Positionen, an denen Objekte liegen. Zweistufige Objektdetektoren umgehen das Problem, indem sie Kandidaten mit einer Region-Proposal-Stufe filtern und ein festes Verhältnis von Vorder- zu Hintergrund auswählen. Frühere einstufige Detektoren setzten auf Hard-Negative-Mining. Focal Loss gleicht das Ungleichgewicht direkt in der Verlustfunktion aus, sodass ohne Stichprobenauswahl mit allen Kandidaten trainiert werden kann.

So funktioniert Focal Loss#

Schreibe p_t für die Wahrscheinlichkeit, die das Modell der korrekten Klasse zuweist. Die Kreuzentropie lautet CE = -log(p_t); Focal Loss multipliziert sie mit einem Modulationsfaktor:

FL = -α_t (1 - p_t)^γ log(p_t)

  • Fokussierungsparameter γ (gamma): Steuert, wie schnell der Verlust einfacher Beispiele sinkt. Bei γ = 0 entspricht Focal Loss der Kreuzentropie. Nähert sich p_t dem Wert 1, nähert sich (1 - p_t)^γ dem Wert 0. Ein falsch klassifiziertes Beispiel mit kleinem p_t behält dagegen fast seinen vollständigen Kreuzentropieverlust. Bei der besten Einstellung aus der Arbeit, γ = 2, verursacht ein mit p_t = 0.9 klassifiziertes Beispiel einen 100-mal geringeren Verlust als bei der Kreuzentropie.
  • Ausgleichsgewicht α_t (alpha): Ein festes Gewicht für die positive Klasse und sein Komplement für die negative Klasse. RetinaNet verwendet α = 0.25 mit γ = 2. Außerdem normalisiert die Arbeit den Gesamtverlust jedes Bildes anhand der Anzahl der Anker, die Objekten zugeordnet sind.

Die Funktion sigmoid_focal_loss in torchvision implementiert die Formel. Mit alpha=-1 wird das Ausgleichsgewicht deaktiviert. So lässt sich die Wirkung von γ auf ein einfaches, ein mittelschweres und ein schwieriges positives Beispiel isolieren:

import torch
import torch.nn.functional as F
from torchvision.ops import sigmoid_focal_loss

# Logits for three positive examples: easy, moderate, and hard
logits = torch.tensor([4.0, 1.0, -2.0])
targets = torch.ones(3)

# alpha=-1 turns off class weighting so only the gamma focusing term differs
bce = F.binary_cross_entropy_with_logits(logits, targets, reduction="none")
focal = sigmoid_focal_loss(logits, targets, alpha=-1, gamma=2.0, reduction="none")

for p, b, f in zip(logits.sigmoid(), bce, focal):
    print(f"p={p:.2f}  cross-entropy={b:.6f}  focal={f:.6f}  ratio={b / f:,.1f}x")

Focal Loss verringert den Verlust des einfachen Beispiels (p = 0.98) um etwa den Faktor 3,091, den des mittelschweren Beispiels (p = 0.73) um den Faktor 13.8 und den des schwierigen Beispiels (p = 0.12) nur um den Faktor 1.3. So liefert das schwierige Beispiel nun fast das gesamte Trainingssignal.

Einsatzbereiche von Focal Loss#

Neben RetinaNet trainieren Focal Loss und Varianten davon den Klassifikationszweig vieler dichter Detektoren und Transformer-basierter Detektoren, darunter Modelle der DETR-Familie wie Deformable DETR. Bei der Analyse medizinischer Bilder nehmen Läsionen oft nur einen winzigen Teil der Pixel ein. Daher kombinieren Modelle zur Bildsegmentierung Focal Loss häufig mit Dice Loss, damit kleine Befunde nicht ignoriert werden und der Recall steigt. Bei Ultralytics bewertet der Trainer von RT-DETR Klassen mit Varifocal Loss. Das Modul ultralytics.utils.loss stellt eine Klasse FocalLoss mit den Standardwerten gamma=1.5 und alpha=0.25 bereit.

  • Klassengewichtung: Gewichtete Kreuzentropie gibt jedem Beispiel einer seltenen Klasse denselben festen Aufschlag, der sich nach der Klassenhäufigkeit richtet. Focal Loss gewichtet jedes Beispiel danach, wie schwierig es gerade ist. Die Gewichte ändern sich also, während das Modell lernt.
  • Hard-Negative-Mining: Behält nur die Negativbeispiele mit dem höchsten Verlust und verwirft die übrigen. Focal Loss berücksichtigt alle Beispiele und verringert den Einfluss einfacher Beispiele gleichmäßig.
  • Varifocal Loss: Eine asymmetrische Variante von VarifocalNet, die nur Negativbeispiele geringer gewichtet und Positivbeispiele auf einen IoU-bewussten Wert trainiert. So spiegelt die Klassen-Konfidenz auch die Lokalisierungsqualität wider.
  • Distribution Focal Loss (DFL): Eine Verlustfunktion für die Box-Regression aus Generalized Focal Loss, die jede Boxkante als diskrete Wahrscheinlichkeitsverteilung behandelt. Mit Focal Loss teilt sie nur den Namen; sie wird für die Box-Regression verwendet.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens