¿Para qué sirve el método de "abandono" y cómo mejora el rendimiento general de la red neuronal?
fuente
¿Para qué sirve el método de "abandono" y cómo mejora el rendimiento general de la red neuronal?
La deserción significa que cada punto de datos individual solo se usa para ajustar un subconjunto aleatorio de las neuronas. Esto se hace para hacer que la red neuronal se parezca más a un modelo de conjunto.
Es decir, así como un bosque aleatorio está promediando los resultados de muchos árboles de decisión individuales, puede ver una red neuronal entrenada usando el abandono como promediando juntos los resultados de muchas redes neuronales individuales (con 'resultados' entendidos como activaciones en cada capa , en lugar de solo la capa de salida).
El documento original 1 que propuso el abandono de la red neuronal se titula: Deserción: una forma simple de evitar que las redes neuronales se sobreajusten . Ese título explica en una frase lo que hace Dropout. El abandono funciona al seleccionar y eliminar al azar las neuronas en una red neuronal durante la fase de entrenamiento. Tenga en cuenta que el abandono no se aplica durante las pruebas y que la red resultante no se abandona como parte de la predicción.
Esta eliminación / abandono aleatorio de neuronas evita la coadaptación excesiva de las neuronas y, al hacerlo, reduce la probabilidad de que la red se sobreajuste .
La eliminación aleatoria de neuronas durante el entrenamiento también significa que en cualquier momento, solo se entrena una parte de la red original. Esto tiene el efecto de que terminas entrenando múltiples subredes, por ejemplo:
Es a partir de este entrenamiento repetido de subredes en lugar de toda la red donde surge la noción de deserción de la red neuronal como una especie de técnica de conjunto. Es decir, el entrenamiento de las subredes es similar al entrenamiento de numerosos algoritmos relativamente débiles / modelos y combinarlos para formar un algoritmo que es más poderoso que las partes individuales.
Referencias
1 : Srivastava, Nitish, et al. "Abandono: una forma sencilla de evitar que las redes neuronales se sobreajusten". The Journal of Machine Learning Research 15.1 (2014): 1929-1958.
Trataré de responder sus preguntas usando las ideas de Geoffrey Hinton en papel de abandono y su clase de Coursera.
¿Para qué sirve el método de "abandono"?
Es una técnica de regularización que aborda el problema del sobreajuste (alta varianza).
¿Cómo mejora el rendimiento general?
por una mejor generalización y no caer en la trampa de un ajuste excesivo.
fuente
Hay algunas respuestas geniales aquí. La explicación más simple que puedo dar para el abandono es que excluye aleatoriamente algunas neuronas y sus conexiones de la red, durante el entrenamiento, para evitar que las neuronas se "adapten demasiado". Tiene el efecto de hacer que cada neurona se aplique de manera más general y es excelente para detener el sobreajuste para grandes redes neuronales.
fuente