Glosario

Capa de abandono

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

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

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 abandono se ha convertido en un método de regularización ampliamente adoptado en el aprendizaje profundo (AD), 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 sólo 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 concreta. La fracción de neuronas que se eliminan viene determinada por la tasa de eliminación, un hiperparámetro que suele fijarse entre 0,2 y 0,5.

Fundamentalmente, 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 hay 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, que se suele aplicar en marcos como PyTorch y TensorFlow).

Ventajas de utilizar Dropout

La principal ventaja de utilizar 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 abandonar 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 características más robustas e independientes, útiles por sí mismas.
  • Conjunto implícito: Aplicar el abandono durante el entrenamiento es similar a entrenar un gran número de redes neuronales "adelgazadas" diferentes con pesos compartidos. En el momento de la inferencia, utilizar la red completa con activaciones escaladas se aproxima a promediar 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 varios modelos, el abandono consigue este efecto de conjunto en un único ciclo de entrenamiento del modelo, por lo que es mucho más barato computacionalmente que el ensamblaje explícito de modelos.

Aplicaciones en el mundo real

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

  1. Visión por ordenador: En visión por ordenador (VC), el abandono ayuda a modelos como Ultralytics YOLO rinden 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 resistentes a las variaciones de iluminación, clima u 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 los Transformadores y el BERT. En aplicaciones como la traducción automática o el análisis de sentimientos, el dropout impide 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 novedoso. Esto mejora el rendimiento de los chatbots y las herramientas de resumen de texto.

Conceptos y distinciones relacionados

El abandono es una de las diversas técnicas utilizadas para la regularización en el aprendizaje profundo. Otras son:

  • 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 ligero efecto regularizador, reduciendo potencialmente la necesidad de un fuerte abandono. Mientras que la BN aborda el desplazamiento interno de las covariables, el Dropout 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) aumentan 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 juntos.

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

Leer todo