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 modelos de aprendizaje profundo, en particular redes neuronales, para combatir el sobreajuste. El sobreajuste se produce cuando un modelo aprende demasiado bien los datos de entrenamiento, incluidos su ruido y patrones específicos, lo que dificulta su capacidad de generalización a datos nuevos no vistos. El abandono aborda este problema "eliminando" temporal y aleatoriamente, o poniendo a cero, una fracción de las activaciones neuronales de una capa durante cada iteración de entrenamiento. Esto obliga a la red a aprender características más robustas que no dependen de una sola neurona.

Cómo funciona el abandono escolar

Durante el proceso de entrenamiento, para cada ejemplo de entrenamiento de un lote, cada neurona de la capa de abandono tiene una cierta probabilidad (la "tasa de abandono", normalmente entre 0,1 y 0,5) de desactivarse. Esto significa que su salida se pone a cero para ese paso hacia delante y hacia atrás en concreto. Las restantes neuronas activas aumentan sus salidas en un factor equivalente a 1/(1-tasa de abandono) para mantener la suma total esperada de activaciones. Este proceso crea eficazmente arquitecturas de red "adelgazadas" ligeramente diferentes para cada paso de entrenamiento, evitando que las neuronas se coadapten demasiado y animándolas a aprender más características útiles de forma independiente. Es importante destacar que, durante la evaluación del modelo o la fase de inferencia, la Capa de Desaparición se desactiva, y todas las neuronas se utilizan con sus pesos aprendidos, lo que garantiza que se utilice toda la capacidad de la red para las predicciones.

Beneficios e importancia

La principal ventaja de utilizar capas de abandono es la mejora de la generalización del modelo. Al impedir las coadaptaciones complejas entre neuronas, el abandono hace que el modelo sea menos sensible al ruido y a los patrones específicos de los datos de entrenamiento, lo que conduce a un mejor rendimiento en los datos de validación o de prueba no vistos. Actúa como una forma de regularización, similar en su objetivo a técnicas como el decaimiento de pesos L1/L2, pero operando mediante un mecanismo estocástico. Es especialmente eficaz en redes grandes con muchos parámetros, donde el sobreajuste es un reto habitual. El concepto original se detalló en el artículo "Dropout: Una forma sencilla de evitar el sobreajuste de las redes neuronales".

Aplicaciones en el mundo real

Las capas de deserción se utilizan ampliamente en diversos ámbitos de la IA y el aprendizaje automático:

  1. Visión por ordenador: En tareas como la detección de objetos y la clasificación de imágenes, el Dropout se aplica a menudo a las capas totalmente conectadas de las Redes Neuronales Convolucionales (CNN). Modelos como Ultralytics YOLO se benefician implícitamente de técnicas de regularización durante el entrenamiento, lo que les ayuda a generalizar mejor en diversos conjuntos de datos de imágenes como COCO o datos personalizados preparados mediante Ultralytics HUB. Esto garantiza su robustez al detectar objetos en escenas variadas del mundo real, algo crucial para aplicaciones en vehículos autónomos o sistemas de seguridad.
  2. Procesamiento del Lenguaje Natural (PLN): El Dropout se utiliza habitualmente en las Redes Neuronales Recurrentes (RNN) como las LSTM y en los modelos Transformadores utilizados para tareas como la traducción automática o el análisis de sentimientos. Ayuda a evitar que los modelos memoricen frases o estructuras oracionales específicas del corpus de entrenamiento, lo que conduce a una mejor comprensión y generación del lenguaje natural. Los marcos como los Transformadores deHugging Face suelen incorporar el abandono en las arquitecturas de sus modelos.

Conceptos y distinciones relacionados

El abandono es una de las diversas técnicas utilizadas para evitar el sobreajuste. Otras son:

  • Regularización L1 y L2: 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.
  • Normalización de lotes: Normaliza las entradas a una capa para cada minilote. Aunque se utiliza principalmente para estabilizar y acelerar el entrenamiento, también puede tener un ligero efecto regularizador.
  • Aumento de datos: Aumenta artificialmente el tamaño y la diversidad del conjunto de datos de entrenamiento aplicando transformaciones como rotaciones, giros o cambios de color a los datos de entrada. Explora las técnicas de aumento en la documentaciónUltralytics .

El abandono difiere en que manipula directamente las activaciones neuronales estocásticamente durante el entrenamiento, entrenando de forma efectiva un conjunto de redes adelgazadas.

Aplicación

Las capas de abandono son componentes estándar en los principales marcos de aprendizaje profundo. Están fácilmente disponibles en bibliotecas como PyTorch y TensorFlowlo que facilita su incorporación a las arquitecturas de redes neuronales.

Leer todo