Learn how to use a [dropout layer](https://www.ultralytics.com/glossary/dropout-layer) to prevent overfitting. Discover how to train [YOLO26](https://docs.ultralytics.com/models/yolo26/) for more robust AI models.
Una capa de abandono es una técnica de regularización fundamental utilizada en redes neuronales (NN) para combatir el problema generalizado del sobreajuste. Cuando un modelo se entrena con un conjunto finito de ejemplos, a menudo aprende a memorizar el ruido y los detalles específicos de los datos de entrenamiento en lugar de discernir los patrones generales subyacentes. Esta memorización conduce a una alta precisión durante el desarrollo, pero a un rendimiento deficiente con entradas nuevas y desconocidas. El abandono aborda este problema desactivando aleatoriamente —o «abandonando»— una fracción de las neuronas de una capa durante cada paso del proceso de entrenamiento. Esta estrategia simple pero eficaz, introducida en un influyente artículo de investigación de Srivastava et al., ha mejorado significativamente la estabilidad y el rendimiento de las arquitecturas de aprendizaje profundo (DL).
El mecanismo que hay detrás de una capa de dropout es intuitivamente similar a retirar jugadores de un equipo deportivo durante los entrenamientos para obligar a los jugadores restantes a esforzarse más y no depender de un único deportista estrella. Durante la fase de entrenamiento del modelo, la capa genera una máscara probabilística de ceros y unos. Si la tasa de abandono se establece en 0,5, aproximadamente el 50 % de las neuronas se ignoran temporalmente durante ese paso adelante y atrás específico. Este proceso obliga a las neuronas activas restantes a aprender características robustas de forma independiente, lo que evita que la red dependa en exceso de una sola neurona, un fenómeno conocido en el aprendizaje automático (ML) como coadaptación de características.
Durante la inferencia en tiempo real, o la fase de prueba , la capa de abandono suele desactivarse. Todas las neuronas permanecen activas para utilizar toda la capacidad predictiva del modelo entrenado. Para garantizar que los valores de activación totales sigan siendo coherentes con la fase de entrenamiento, el marco suele escalar los pesos automáticamente. Las bibliotecas modernas como PyTorch gestionan estas operaciones matemáticas de escalado a la perfección, lo que permite a los desarrolladores centrarse en la arquitectura en lugar de en la aritmética.
Para los usuarios del ultralytics paquete, aplicando el abandono a un modelo de última generación como
YOLO26 es tan sencillo como ajustar un argumento de entrenamiento. Esto
resulta especialmente útil cuando se trabaja con conjuntos de datos más pequeños, en los que el riesgo de sobreajuste es mayor. Al introducir
aleatoriedad, se puede animar al modelo a generalizar mejor en entornos diversos.
from ultralytics import YOLO
# Load the latest YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")
# Train the model with a custom dropout rate of 0.1 (10%)
# This encourages the model to learn more generalized features
results = model.train(data="coco8.yaml", epochs=50, dropout=0.1)
El dropout es indispensable en varios ámbitos de la inteligencia artificial (IA) en los que los modelos utilizan un gran número de parámetros en relación con los datos disponibles.
Aunque el dropout es muy eficaz, a menudo se utiliza junto con otras técnicas. Se diferencia del aumento de datos, que modifica las imágenes de entrada (por ejemplo, volteándolas o rotándolas) en lugar de la propia arquitectura de la red. Del mismo modo, difiere de la normalización por lotes, que normaliza las entradas de las capas para estabilizar el aprendizaje, pero no desactiva explícitamente las neuronas.
En proyectos complejos, la gestión de estos hiperparámetros puede resultar complicada. Ultralytics simplifica esta tarea al proporcionar herramientas para visualizar las métricas de entrenamiento, lo que ayuda a los usuarios a determinar si sus tasas de abandono están reduciendo eficazmente la pérdida de validación. Tanto si está creando un sistema personalizado de clasificación de imágenes como un sofisticado canal de segmentación, comprender el abandono es fundamental para crear sistemas de IA resilientes.