Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Regularization

La regularización limita un modelo durante el entrenamiento para que generalice en lugar de memorizar el ruido. Incluye L1, L2, decaimiento de pesos, dropout y parada temprana.

La regularización es cualquier cambio en la forma de entrenar un modelo cuyo objetivo es reducir su error con datos nuevos, aunque aumente su error en los datos de entrenamiento. Contrarresta el sobreajuste, que se produce cuando un modelo con capacidad suficiente memoriza el ruido y las particularidades de los ejemplos que ha visto. La regularización limita la complejidad efectiva de un modelo penalizando los pesos grandes, inyectando ruido, añadiendo datos variados o deteniendo el entrenamiento antes de tiempo. En términos de sesgo-varianza, acepta un ligero aumento del sesgo a cambio de una mayor reducción de la varianza.

Penalizaciones L1 y L2#

La forma clásica añade una penalización de los pesos a la función de pérdida: pérdida total = pérdida de datos + λ × penalización. La regularización L2 penaliza la suma de los cuadrados de los pesos, Σw², lo que atrae cada peso hacia cero en proporción a su magnitud; en los modelos lineales se denomina regresión ridge. La regularización L1 penaliza la suma de los valores absolutos de los pesos; su atracción constante lleva muchos pesos exactamente a cero, por lo que la regresión lineal penalizada con L1, el lasso, también sirve para seleccionar características. La red elástica combina ambas. La intensidad de la penalización λ, denominada alpha en scikit-learn, es un hiperparámetro: si es demasiado pequeña, el modelo sigue sobreajustándose; si es demasiado grande, subajusta. Un ajuste polinómico de grado 9 a 12 puntos ruidosos de una onda sinusoidal muestra ambos modos de fallo:

import numpy as np
from sklearn.linear_model import Ridge
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import PolynomialFeatures

rng = np.random.default_rng(0)

# 12 noisy training points from a sine wave, plus clean test points
x_train = rng.uniform(0, 1, (12, 1))
y_train = np.sin(2 * np.pi * x_train[:, 0]) + rng.normal(0, 0.2, 12)
x_test = np.linspace(0, 1, 200)[:, None]
y_test = np.sin(2 * np.pi * x_test[:, 0])

# The same degree-9 polynomial, fit with a growing L2 penalty on its coefficients
for alpha in (0.0, 1e-4, 1e-2, 1.0):
    model = make_pipeline(PolynomialFeatures(9), Ridge(alpha=alpha)).fit(x_train, y_train)
    train_mse = np.mean((model.predict(x_train) - y_train) ** 2)
    test_mse = np.mean((model.predict(x_test) - y_test) ** 2)
    weight_norm = np.linalg.norm(model[-1].coef_)
    print(f"alpha {alpha:g}: train MSE {train_mse:.4f}, test MSE {test_mse:.4f}, |w| {weight_norm:.1f}")

Sin penalización, el polinomio se curva para atravesar el ruido: la norma de sus coeficientes alcanza aproximadamente 425 000, su error de entrenamiento es 0.0148 y su error de prueba es 0.1859. Una penalización de 0.0001 reduce la norma de los coeficientes a 20.8 y divide por once el error de prueba, que pasa a 0.0170, mientras que el error de entrenamiento sube a 0.0334. Con un alfa de 1, la penalización domina y el modelo subajusta, con un error de prueba de 0.3998.

Decaimiento de pesos y dropout en redes neuronales#

En las redes neuronales, la regularización L2 suele adoptar la forma de decaimiento de pesos: cada actualización también reduce cada peso en una pequeña fracción de su valor. En el descenso de gradiente estocástico básico, ambos métodos son equivalentes. En optimizadores adaptativos como Adam, un término L2 añadido al gradiente se divide por el escalado de Adam para cada parámetro, por lo que los pesos con gradientes grandes apenas se regularizan. El decaimiento de pesos desacoplado aplica directamente la reducción; el optimizador AdamW resultante es la opción estándar para los Transformers.

Una capa dropout pone a cero la salida de cada unidad con probabilidad p en cada paso de entrenamiento y escala las salidas que se mantienen por 1/(1 − p), de modo que la red no puede depender de una única unidad y, en la práctica, entrena muchas subredes reducidas que comparten pesos. Durante la inferencia, todas las unidades permanecen activas. En los experimentos originales, una probabilidad de dropout de 0.5 para las unidades ocultas resultó casi óptima en una amplia variedad de redes y tareas.

El entrenamiento de Ultralytics YOLO ofrece ambas opciones: weight_decay, con un valor predeterminado de 0.0005, se aplica únicamente a los pesos de las capas convolucionales y lineales, y omite los sesgos y los parámetros de las capas de normalización; dropout, con un valor predeterminado de 0.0, actúa justo antes de la última capa lineal de los modelos de clasificación de YOLO26.

from ultralytics import YOLO

# Carga un modelo de clasificación YOLO26n preentrenado
model = YOLO("yolo26n-cls.pt")

# Entrena con dropout en la cabeza de clasificación y un decaimiento de pesos más intenso
results = model.train(data="mnist160", epochs=10, dropout=0.2, weight_decay=0.001)

Otras técnicas de regularización#

  • Aumento de datos: Los volteos, recortes, cambios de escala y color, y el mosaico amplían la variedad de las imágenes de entrenamiento, de modo que el modelo ve cada objeto en muchas más condiciones de las que contiene el conjunto de datos original.
  • Suavizado de etiquetas: Sustituye los objetivos de clasificación one-hot por otros ligeramente suavizados, para que el modelo deje de llevar sus logits a valores de confianza extremos.
  • Regularización implícita: El ruido del gradiente durante el entrenamiento con lotes pequeños y el ruido entre lotes de la normalización por lotes regularizan el modelo sin necesidad de ningún término explícito.

La parada temprana regulariza al limitar el tiempo de entrenamiento. Evalúa el modelo con los datos de validación después de cada época y se detiene cuando la puntuación no ha mejorado durante un número determinado de épocas, llamado paciencia, conservando los mejores pesos obtenidos hasta ese momento:

  • Normalización: Reescala las entradas o activaciones para acelerar y estabilizar el entrenamiento. La normalización por lotes solo regulariza como efecto secundario.
  • Ajuste de hiperparámetros: Busca valores adecuados para los parámetros de regularización, como λ, la probabilidad de dropout y la paciencia, además de para todos los demás hiperparámetros.
  • Ensamblados de modelos: Reducen la varianza promediando las predicciones de varios modelos entrenados de forma independiente. El dropout aproxima este tipo de ensamblado dentro de una única red: durante el entrenamiento, toma muestras de un número exponencial de subredes reducidas y, durante la prueba, ejecutar la red completa con todas las unidades activas aproxima el promedio de todas sus predicciones.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático