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 de regularización utilizada en las redes neuronales para evitar el sobreajuste, un problema habitual cuando un modelo funciona bien con los datos de entrenamiento pero mal con los datos no vistos. Durante la fase de entrenamiento, la capa de abandono "abandona" o desactiva aleatoriamente un determinado porcentaje de neuronas de la red. Este proceso obliga a la red a aprender características más robustas que no dependen de la presencia de neuronas específicas, mejorando así la capacidad del modelo para generalizar a datos nuevos y desconocidos.

Cómo funcionan las capas de abandono

En una red neuronal estándar, cada neurona de una capa está conectada a todas las neuronas de la capa anterior. Durante el entrenamiento, estas conexiones se refuerzan o debilitan en función de los datos que procesa la red. Sin embargo, esto puede llevar a que la red se especialice demasiado en los datos de entrenamiento, captando ruido y patrones específicos que no se generalizan bien a los nuevos datos.

Una capa de abandono aborda este problema poniendo a cero aleatoriamente una fracción de las neuronas de una capa en cada iteración de entrenamiento. La fracción de neuronas que se desactivan es un hiperparámetro, que suele fijarse entre 0,2 y 0,5. Esto significa que entre el 20% y el 50% de las neuronas de la capa se desactivarán en cada pasada hacia delante y hacia atrás. La selección de las neuronas que se desactivan cambia en cada iteración, para que la red no dependa demasiado de una neurona concreta.

Ventajas del uso de las capas desplegables

Las capas de abandono ofrecen varias ventajas en el entrenamiento de modelos de aprendizaje profundo:

  • Generalización mejorada: Al impedir que la red dependa demasiado de neuronas concretas, las capas de abandono fomentan el aprendizaje de características más robustas y generalizables.
  • Reducción del sobreajuste: El abandono ayuda a mitigar el sobreajuste al introducir ruido en el proceso de entrenamiento, haciendo que el modelo sea menos sensible a los datos de entrenamiento específicos.
  • Efecto conjunto: El abandono puede considerarse como el entrenamiento de un conjunto de múltiples redes con diferentes subconjuntos de neuronas. Este efecto de conjunto promedia las predicciones de estas diferentes redes, lo que conduce a un mejor rendimiento global.
  • Eficiencia computacional: Aunque el abandono introduce cierta sobrecarga durante el entrenamiento, puede conducir a una convergencia más rápida y a un entrenamiento más eficiente al reducir la complejidad de la red completa.

Aplicaciones en el mundo real IA/ML

Las capas de abandono se utilizan ampliamente en diversas aplicaciones de aprendizaje profundo. He aquí dos ejemplos concretos:

  1. Reconocimiento de imágenes: En las tareas de reconocimiento de imágenes, como las que realizan las Redes Neuronales Convolucionales (CNN), las capas de abandono se utilizan a menudo para mejorar la capacidad de generalización del modelo. Por ejemplo, en una red entrenada para clasificar imágenes, el abandono puede evitar que el modelo se ajuste en exceso a características específicas de las imágenes de entrenamiento, lo que conduce a un mejor rendimiento en un conjunto diverso de imágenes nuevas.
  2. Procesamiento del Lenguaje Natural: En las tareas de Procesamiento del Lenguaje Natural (PLN), como el análisis de sentimientos o la generación de textos, se pueden aplicar capas de exclusión a las Redes Neuronales Recurrentes (RNN) o a los modelos Transformadores. Al eliminar neuronas aleatoriamente, el modelo aprende a hacer predicciones basadas en una variedad de pistas contextuales, mejorando su robustez y precisión en datos de texto no vistos.

El abandono frente a otras técnicas de regularización

La deserción es una de las diversas técnicas de regularización utilizadas en el aprendizaje automático (AM). He aquí cómo se compara con otros métodos comunes:

  • Regularización L1 y L2: Estas técnicas añaden un término de penalización a la función de pérdida basado en la magnitud de los pesos del modelo. La regularización L1 fomenta la dispersión llevando algunos pesos a cero, mientras que la regularización L2 fomenta pesos más pequeños en general. A diferencia del abandono, estos métodos no implican la desactivación aleatoria de neuronas, sino que ajustan los pesos durante el entrenamiento.
  • Detención temprana: Esta técnica consiste en controlar el rendimiento del modelo en un conjunto de datos de validación y detener el proceso de entrenamiento cuando el rendimiento empieza a degradarse. Aunque la parada temprana puede evitar el sobreajuste, no mejora el aprendizaje de características robustas del mismo modo que el abandono.
  • Aumento de datos: Esta técnica consiste en crear nuevos ejemplos de entrenamiento aplicando transformaciones a los datos existentes, como rotar o recortar las imágenes. El aumento de datos aumenta la diversidad del conjunto de entrenamiento, ayudando al modelo a generalizar mejor. Aunque eficaz, es un enfoque diferente comparado con la regularización interna que proporciona el abandono.

Implementar el abandono en las redes neuronales

Las capas de abandono suelen insertarse entre capas totalmente conectadas o después de capas convolucionales en una red neuronal. Pueden integrarse fácilmente en modelos que utilicen marcos de aprendizaje profundo populares como TensorFlow y PyTorch. La tasa de abandono, que determina la fracción de neuronas que se desactivan, es un hiperparámetro que puede ajustarse para optimizar el rendimiento del modelo. Para conocer técnicas más avanzadas de optimización de modelos, explora el ajuste de hiperparámetros.

Al aplicar el abandono, es importante tener en cuenta que la capa de abandono se comporta de forma diferente durante el entrenamiento y la inferencia. Durante el entrenamiento, las neuronas se abandonan aleatoriamente como se ha descrito. Sin embargo, durante la inferencia, todas las neuronas están activas, pero sus salidas se reducen en función de la tasa de abandono para mantener la magnitud de salida esperada. Este escalado garantiza que las predicciones del modelo sean coherentes entre el entrenamiento y la inferencia.

Para profundizar en la lectura, puedes explorar el trabajo de investigación original sobre el abandono escolar de Srivastava et al., que ofrece un análisis en profundidad del método y su eficacia: Dropout: Una forma sencilla de evitar el sobreajuste de las redes neuronales. También puedes aprender más sobre conceptos relacionados, como la normalización por lotes y la regularización, para comprender mejor las técnicas utilizadas para mejorar el rendimiento de las redes neuronales.

Leer todo