Glosario

Capa de abandono

Descubra cómo las capas de abandono evitan el sobreajuste en las redes neuronales mejorando la generalización, la robustez y el rendimiento del modelo.

Una capa de abandono es una técnica fundamental utilizada en el entrenamiento de redes neuronales (NN ) para combatir el problema del sobreajuste. Introducido por Hinton et al. en su influyente artículo de 2014, el dropout se ha convertido en un método de regularización ampliamente adoptado en el aprendizaje profundo (deep learning, DL), especialmente eficaz en redes grandes con muchos parámetros. Su objetivo principal es mejorar la capacidad de generalización del modelo, garantizando que funcione bien con datos no vistos, no solo con los datos de entrenamiento.

Cómo funciona el abandono escolar

Durante el proceso de entrenamiento del modelo, una capa de abandono "abandona" o desactiva aleatoriamente una fracción de las neuronas (unidades) de esa capa para cada muestra de entrenamiento. Esto significa que las salidas de estas neuronas seleccionadas se ponen a cero y no contribuyen al paso hacia delante ni participan en el paso de retropropagación para esa muestra específica. La fracción de neuronas que se descartan viene determinada por la tasa de descartes, un hiperparámetro que suele fijarse entre 0,2 y 0,5.

El abandono sólo está activo durante el entrenamiento. Durante la inferencia o predicción sobre datos de prueba, todas las neuronas están activas. Para compensar el hecho de que haya más neuronas activas durante la inferencia que durante el entrenamiento, las salidas de la capa suelen reducirse en función de la tasa de abandono (una técnica denominada abandono invertido, comúnmente implementada en marcos como PyTorch y TensorFlow).

Ventajas de utilizar Dropout

La principal ventaja del uso de las capas de abandono es la mejora de la generalización del modelo y la reducción del sobreajuste. Esto se consigue mediante varios mecanismos:

  • Coadaptación reducida: Al eliminar neuronas aleatoriamente, el abandono impide que las unidades de una capa dependan demasiado unas de otras (coadaptación) para corregir errores durante el entrenamiento. Esto obliga a cada neurona a aprender por sí misma características más robustas e independientes.
  • Ensemble implícito: Aplicar el abandono durante el entrenamiento es similar a entrenar un gran número de diferentes redes neuronales "adelgazadas" con pesos compartidos. En el momento de la inferencia, el uso de la red completa con activaciones escaladas se aproxima al promedio de las predicciones de este gran conjunto, lo que generalmente conduce a un mejor rendimiento y robustez.
  • Eficiencia computacional: Aunque conceptualmente es similar al entrenamiento de múltiples modelos, el abandono consigue este efecto de ensamblaje dentro de un único ciclo de entrenamiento del modelo, lo que lo hace computacionalmente mucho más barato que el ensamblaje explícito de modelos.

Aplicaciones reales

El abandono se utiliza ampliamente en diversos ámbitos de la inteligencia artificial (IA) y el aprendizaje automático (AM):

  1. Visión por computador: En visión por ordenador (CV), el dropout ayuda a modelos como Ultralytics YOLO a rendir mejor en tareas como la detección de objetos, la clasificación de imágenes y la segmentación de instancias. Por ejemplo, en los sistemas de conducción autónoma, el dropout puede hacer que los modelos de detección sean más robustos frente a variaciones en la iluminación, el clima o las oclusiones, mejorando la seguridad y la fiabilidad. El entrenamiento de estos modelos puede gestionarse eficazmente mediante plataformas como Ultralytics HUB.
  2. Procesamiento del Lenguaje Natural (PLN): El dropout se aplica habitualmente en modelos de PLN como Transformers y BERT. En aplicaciones como la traducción automática o el análisis de sentimientos, el dropout evita que el modelo memorice frases o estructuras oracionales específicas de los datos de entrenamiento, lo que conduce a una mejor comprensión y generación de texto nuevo. Esto mejora el rendimiento de los chatbots y las herramientas de resumen de texto.

Conceptos y distinciones afines

La deserción es una de las varias técnicas utilizadas para la regularización en el aprendizaje profundo. Otras incluyen:

  • Regularización L1 y L2: Estos métodos añaden una penalización a la función de pérdida basada en la magnitud de los pesos del modelo, fomentando pesos más pequeños. Más información sobre la regularización L1/L2.
  • Normalización por lotes: La Normalización por Lotes (BN) normaliza las activaciones dentro de una capa, lo que puede estabilizar el entrenamiento y a veces proporcionar un efecto regularizador leve, reduciendo potencialmente la necesidad de un fuerte abandono. Mientras que la BN aborda el cambio interno de covariables, el abandono se dirige directamente a la complejidad del modelo forzando la redundancia.
  • Aumento de datos: Técnicas como rotar, escalar o recortar imágenes(aumento de datos) incrementan artificialmente la diversidad del conjunto de datos de entrenamiento, lo que también ayuda a evitar el sobreajuste y a mejorar la generalización. El abandono y el aumento de datos suelen utilizarse conjuntamente.

En resumen, la capa de abandono es una técnica de regularización sencilla pero potente, esencial para el entrenamiento de modelos robustos de aprendizaje profundo en diversas aplicaciones, desde la visión por ordenador a la PNL.

Únase a la comunidad Ultralytics

Únase al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo.

Únete ahora
Enlace copiado en el portapapeles