Label Smoothing
Aprende cómo el suavizado de etiquetas (label smoothing) evita el sobreajuste y mejora la generalización del modelo. Descubre cómo implementar esta técnica con Ultralytics YOLO26 para obtener mejores resultados.
El suavizado de etiquetas es una técnica de regularización ampliamente utilizada en machine learning para mejorar la generalización del modelo y evitar el sobreajuste. Al entrenar neural networks, el objetivo suele ser minimizar el error entre las predicciones y la verdad básica. Sin embargo, si un modelo se vuelve demasiado seguro en sus predicciones (asignando una probabilidad cercana al 100% a una sola clase), a menudo comienza a memorizar el ruido específico en los training data en lugar de aprender patrones sólidos. Este fenómeno, conocido como overfitting, degrada el rendimiento en ejemplos nuevos y no vistos. El suavizado de etiquetas aborda esto al desalentar al modelo de predecir con absoluta certeza, indicando esencialmente a la red que siempre hay un pequeño margen de error.
La mecánica de los objetivos blandos#
Para comprender cómo funciona el suavizado de etiquetas, ayuda contrastarlo con los objetivos "duros" estándar. En el supervised learning tradicional, las etiquetas de clasificación suelen representarse mediante one-hot encoding. Por ejemplo, en una tarea que distingue entre gatos y perros, una imagen de un "perro" tendría un vector objetivo de [0, 1]. Para coincidir perfectamente con esto, el modelo empuja sus puntuaciones internas, conocidas como logits, hacia el infinito, lo que puede provocar gradientes inestables y una incapacidad para adaptarse.
El suavizado de etiquetas reemplaza estos rígidos 1 y 0 con objetivos "suaves". En lugar de una probabilidad objetivo de 1.0, a la clase correcta se le puede asignar 0.9, mientras que la masa de probabilidad restante (0.1) se distribuye uniformemente entre las clases incorrectas. Este sutil cambio modifica el objetivo de la loss function, como la cross-entropy, evitando que la activation function (generalmente Softmax) se sature. El resultado es un modelo que aprende grupos de clases más ajustados en el espacio de características y produce una mejor model calibration, lo que significa que las probabilidades predichas reflejan con mayor precisión la probabilidad real de acierto.
Aplicaciones en el mundo real#
Esta técnica es especialmente crítica en ámbitos donde la ambigüedad de los datos es inherente o los conjuntos de datos son propensos a errores de etiquetado.
- Diagnóstico médico: En el campo de la AI in healthcare, los datos clínicos rara vez son blancos o negros. Por ejemplo, en el medical image analysis, una exploración puede mostrar características que sugieren fuertemente una enfermedad pero que no son definitivas. Entrenar con etiquetas duras obliga al modelo a ignorar esta incertidumbre. Al aplicar el suavizado de etiquetas, el modelo conserva un grado de escepticismo, lo cual es vital para los sistemas de apoyo a la toma de decisiones donde el exceso de confianza podría conducir a un diagnóstico erróneo.
- Clasificación de imágenes a gran escala: Los conjuntos de datos públicos masivos como ImageNet a menudo contienen imágenes mal etiquetadas o imágenes que contienen múltiples objetos válidos. Si un modelo intenta ajustar estos ejemplos ruidosos con un 100% de confidence, aprende asociaciones incorrectas. El suavizado de etiquetas actúa como un amortiguador contra el ruido de las etiquetas, asegurando que unos pocos puntos de datos malos no sesguen drásticamente los model weights finales.
Implementación del suavizado de etiquetas con Ultralytics#
Los frameworks modernos de deep learning simplifican la aplicación de esta técnica. Utilizando el paquete ultralytics, puedes integrar fácilmente el suavizado de etiquetas en tu pipeline de entrenamiento para tareas de image classification o detección. Esto se hace a menudo para extraer un rendimiento adicional de modelos de última generación como YOLO26.
El siguiente ejemplo demuestra cómo entrenar un modelo de clasificación con el suavizado de etiquetas activado:
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)Comparación con conceptos relacionados#
Es útil distinguir el suavizado de etiquetas de otras estrategias de regularization para comprender cuándo usarlo.
- vs. Dropout: Una dropout layer desactiva aleatoriamente las neuronas durante el entrenamiento para forzar a la red a aprender representaciones redundantes. Aunque ambas previenen el sobreajuste, el dropout modifica la arquitectura de la red de forma dinámica, mientras que el suavizado de etiquetas modifica el objetivo de optimización (las etiquetas en sí).
- vs. Knowledge Distillation: Ambas técnicas implican entrenar con objetivos suaves. Sin embargo, en la knowledge distillation, los objetivos suaves provienen de un modelo "profesor" y contienen información aprendida (por ejemplo, "esto se parece un 10% a un gato"). En contraste, el suavizado de etiquetas utiliza objetivos suaves "no informativos" derivados matemáticamente (por ejemplo, "otorgar un 10% de probabilidad a todas las demás clases por igual").
- vs. Data Augmentation: Las estrategias de data augmentation cambian los datos de entrada (rotar, recortar, colorear) para aumentar la variedad. El suavizado de etiquetas cambia las expectativas de salida. Los flujos de trabajo de entrenamiento completos en la Ultralytics Platform a menudo combinan la aumentación, el dropout y el suavizado de etiquetas para lograr la máxima precisión.
Al mitigar el problema del vanishing gradient en las capas finales y alentar al modelo a aprender características más robustas, el suavizado de etiquetas sigue siendo un elemento básico en las arquitecturas modernas de deep learning.






