¿Qué es la técnica de "abandono"?

Respuestas:

7

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).

Matthew Graves
fuente
4

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:

agrupar como un ensamblador

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.

Tshilidzi Mudau
fuente
"El abandono funciona seleccionando y eliminando al azar neuronas en una red neuronal". Realmente, solo la parte completamente conectada de una red neuronal.
Monica Heddneck
2

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"?

Las redes neuronales profundas con una gran cantidad de parámetros son sistemas de aprendizaje automático muy potentes. Sin embargo, el sobreajuste es un problema grave en tales redes. Las redes grandes también son lentas de usar, lo que hace difícil lidiar con el sobreajuste combinando las predicciones de muchas redes neuronales grandes diferentes en el momento de la prueba. La deserción es una técnica para abordar este problema.

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.

Iman Mirzadeh
fuente
2

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.

thegreenpizza
fuente