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.
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.
El abandono se utiliza ampliamente en diversos ámbitos de la inteligencia artificial (IA) y el aprendizaje automático (AM):
La deserción es una de las varias técnicas utilizadas para la regularización en el aprendizaje profundo. Otras incluyen:
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.