Focal Loss
Explora cómo Focal Loss resuelve el desequilibrio entre clases en el aprendizaje profundo. Aprende a implementarla con Ultralytics YOLO26 para centrarte en los ejemplos difíciles y mejorar la precisión del modelo.
La pérdida focal es una función objetivo especializada que se utiliza principalmente en deep learning para abordar el problema del desequilibrio grave entre clases. En muchas tareas de visión por ordenador, como la detección de objetos, el número de ejemplos de fondo (muestras negativas) supera ampliamente al de los objetos de interés (muestras positivas). Los métodos estándar, como la pérdida de entropía cruzada, tratan todos los errores por igual, lo que a menudo provoca que el modelo se vea desbordado por el enorme volumen de datos de fondo fáciles de clasificar. La pérdida focal modifica el cálculo de la pérdida estándar para reducir el peso de estos ejemplos fáciles, lo que obliga al algoritmo de optimización a centrar su capacidad de aprendizaje en los ejemplos «difíciles»: los objetos poco frecuentes y difíciles de clasificar que son cruciales para el rendimiento del modelo.
El mecanismo de enfoque#
La principal innovación de la pérdida focal reside en su capacidad para escalar dinámicamente la penalización asignada a cada muestra en función de la confianza del modelo. En un escenario típico de aprendizaje supervisado, un detector puede evaluar miles de ubicaciones candidatas en una imagen. Como la mayoría de estas ubicaciones no contienen objetos, una función de pérdida estándar acumula muchas señales de error pequeñas procedentes de estos negativos fáciles, que pueden eclipsar la valiosa señal de las pocas instancias positivas.
La pérdida focal introduce un factor modulador que reduce la contribución a la pérdida a medida que aumenta la confianza en la clase correcta. Esto significa que, si un modelo ya tiene una certeza del 99 % de que un fragmento de fondo es realmente fondo, la pérdida de ese fragmento se reduce casi a cero. En consecuencia, los pesos del modelo se actualizan principalmente a partir de muestras mal clasificadas o de aquellas en las que el modelo no está seguro. Este enfoque específico es esencial para entrenar detectores de objetos de una sola etapa de alto rendimiento, como YOLO26, ya que les permite lograr una gran precisión sin necesitar etapas de muestreo complejas.
Aplicaciones en el mundo real#
Gestionar los datos de entrenamiento desequilibrados es fundamental para desplegar sistemas de IA robustos en entornos donde la seguridad y la precisión son prioritarias.
- IA en sanidad: En campos como el análisis de imágenes médicas, identificar patologías suele ser comparable a buscar una aguja en un pajar. Por ejemplo, en una exploración de MRI para buscar lesiones pequeñas, el tejido sano puede constituir más del 99 % de los píxeles. Un modelo estándar podría maximizar la precisión simple prediciendo «sano» en todas partes y pasar por alto el diagnóstico crítico. La pérdida focal permite al sistema suprimir la señal procedente del abundante tejido sano y priorizar el aprendizaje de las características sutiles de las anomalías, mejorando así el recall de las detecciones que pueden salvar vidas.
- Vehículos autónomos: Los sistemas de percepción de los vehículos autónomos deben detectar a usuarios vulnerables de la vía, como peatones o ciclistas, frente a fondos complejos formados por edificios, carreteras y cielo. Aunque el fondo se aprende fácilmente, los obstáculos pequeños o lejanos suponen un reto importante. Al utilizar la pérdida focal, las aplicaciones de IA en automoción pueden garantizar que el sistema de percepción no ignore estos objetos difíciles de detectar y mantener los estándares de seguridad incluso cuando los peligros ocupan solo una fracción mínima del campo visual.
Implementación con Ultralytics#
La biblioteca ultralytics incluye implementaciones optimizadas de funciones de pérdida avanzadas para dar soporte a modelos de última generación. Aunque Ultralytics Platform configura automáticamente estos hiperparámetros para lograr un entrenamiento óptimo, los desarrolladores también pueden acceder directamente a estos componentes para realizar investigaciones personalizadas.
El siguiente ejemplo muestra cómo inicializar la pérdida focal mediante el paquete de utilidades ultralytics y calcular el error de un conjunto de predicciones.
import torch
from ultralytics.utils.loss import FocalLoss
# Initialize Focal Loss.
# The 'gamma' parameter controls the focusing strength (higher = more focus on hard examples).
criterion = FocalLoss(gamma=1.5)
# Example: Model predictions (logits) and binary Ground Truth labels
# requires_grad=True simulates model outputs that need backpropagation
predictions = torch.tensor([[0.8], [-1.5], [0.1]], requires_grad=True)
targets = torch.tensor([[1.0], [0.0], [1.0]])
# Calculate the loss value
loss = criterion(predictions, targets)
print(f"Computed Focal Loss: {loss.item():.4f}")Diferencias con conceptos relacionados#
Comprender dónde encaja la pérdida focal en el panorama más amplio de la medición del error ayuda a seleccionar la estrategia adecuada para tareas específicas de visión por ordenador.
- Pérdida focal frente a pérdida de entropía cruzada: La entropía cruzada es la métrica fundamental para la clasificación y penaliza las predicciones en función del error logarítmico. La pérdida focal es estrictamente una extensión de la entropía cruzada; si el parámetro de enfoque se establece en cero, matemáticamente vuelve a convertirse en entropía cruzada estándar. La diferencia clave es la capacidad de la pérdida focal para reducir automáticamente el peso de los negativos fáciles, lo que la hace superior para conjuntos de datos desequilibrados como COCO.
- Pérdida focal frente a pérdida IoU: Mientras que la pérdida focal está diseñada para la clasificación (determinar qué es un objeto), la pérdida IoU se utiliza para la localización (determinar dónde está un objeto). Los detectores modernos utilizan una función de pérdida compuesta que combina la pérdida focal para las probabilidades de clase y métricas basadas en IoU para la regresión de la caja delimitadora.
- Pérdida focal frente a pérdida Dice: La pérdida Dice es otra técnica utilizada para abordar el desequilibrio, principalmente en tareas de segmentación de imágenes. Mientras que la pérdida focal opera sobre píxeles o muestras individuales en función de la confianza, la pérdida Dice optimiza globalmente la superposición entre las regiones predichas y las regiones de referencia. Es habitual utilizar ambas conjuntamente en flujos de trabajo de segmentación complejos.









