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 de regularización potente pero sencilla que se utiliza en las redes neuronales (NN ) para combatir el sobreajuste. La sobreadaptación se produce cuando un modelo aprende demasiado bien los datos de entrenamiento, incluido su ruido e idiosincrasia, lo que perjudica su capacidad de generalización a datos nuevos y desconocidos. La idea central del abandono, introducida por Geoffrey Hinton y sus colegas en un innovador artículo de 2014, es "abandonar" aleatoriamente -o eliminar temporalmente- neuronas y sus conexiones durante cada paso del entrenamiento. Esto evita que las neuronas se vuelvan demasiado dependientes unas de otras, obligando a la red a aprender representaciones más robustas y redundantes.

Cómo funciona una capa de abandono

Durante el proceso de entrenamiento del modelo, una capa de abandono pone a cero aleatoriamente las activaciones de una fracción de neuronas de la capa anterior. La "tasa de abandono" es un hiperparámetro que define la probabilidad de que una neurona sea abandonada. Por ejemplo, una tasa de abandono de 0,5 significa que cada neurona tiene un 50% de probabilidades de ser ignorada durante una iteración de entrenamiento determinada. Este proceso puede considerarse como el entrenamiento de un gran número de redes reducidas que comparten pesos.

Al cambiar constantemente la arquitectura de la red, el abandono evita las coadaptaciones complejas, en las que la salida de una neurona depende en gran medida de la presencia de otras neuronas específicas. En su lugar, se anima a cada neurona a ser un detector de características más útil de forma independiente. Durante la fase de prueba o inferencia, la capa de abandono se desactiva y se utilizan todas las neuronas. Para compensar el hecho de que haya más neuronas activas que durante el entrenamiento, las salidas de la capa se reducen en función de la tasa de abandono. Esto garantiza que la salida esperada de cada neurona se mantenga constante entre el entrenamiento y la prueba. Frameworks como PyTorch y TensorFlow manejan este escalado automáticamente en sus implementaciones de capas de abandono.

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 comúnmente en modelos NLP 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. Esto permite una mejor comprensión y generación de texto nuevo, mejorando 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 para reducir la complejidad del modelo. Puede obtener más información sobre la regularización L1/L2. En cambio, la deserción modifica directamente la estructura de la red durante el entrenamiento en lugar de limitarse a penalizar los pesos.
  • 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. Esto también ayuda a evitar el sobreajuste y a mejorar la generalización. El abandono y el aumento de datos suelen utilizarse conjuntamente para obtener resultados aún más sólidos.

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 avanzada hasta 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