Función de activación, función inicializador, etc, los efectos sobre las redes neuronales para la detección de rostros

StackOverflow https://stackoverflow.com/questions/2686045

Pregunta

Hay varias funciones de activación: sigmoide, tanh, etc., y también hay un par de funciones de inicializador: Nguyen y Widrow, al azar, normalizado, constante, cero, etc. Lo mismo ocurre con éstos tienen mucho efecto en el resultado de una red neuronal especializada en la detección de caras? En este momento estoy usando la función de activación Tanh y justo asignaron al azar a todos los con un peso de -0.5 a 0.5. No tengo idea de si este es el mejor enfoque, sin embargo, y de 4 horas para entrenar la red cada vez, prefiero pido aquí que en el experimento!

¿Fue útil?

Solución

Tome unos pocos cientos de casos de datos y vistazo a la media y la desviación estándar de los valores de activación de sus unidades. ¿Quieres estar fuera del régimen de saturación de la sigmoide tanh.

dudo diferentes esquemas de inicialización razonables tendrán mucho efecto en la calidad de sus soluciones. Es probablemente lo suficientemente bueno para simplemente inicializar los pesos a ser uniforme en el intervalo [-1 / sqrt (N), + 1 / sqrt (N)], donde N es el número de conexiones entrantes.

Una vez dicho esto, lo que tiende a hacer una gran diferencia está pre-entrenamiento los pesos de la red, ya sea como GBR o como un autoencoder. Esto puede ser útil incluso para las redes neuronales capa oculta individuales, aunque es mucho más esencial para las redes más profundas. Usted no menciona la arquitectura que está utilizando, esa información permitiría una respuesta más útil a su pregunta.

Hay incluso una nueva norma de inicialización que parece funcionar bien descrita en este documento: http://www.iro.umontreal.ca /~lisa/publications2/index.php/publications/show/447 El documento también menciona algunos de los síntomas del mal de inicialización que se refería a antes que se puede comprobar fácilmente para.

Para resumir, uniforme en [-1 / sqrt (N), + 1 / sqrt (N)] no es demasiado malo ni es el que se menciona en el documento puedo enlazar. No se preocupe demasiado si se utiliza uno de esos. Lo que es muy importante es pre-entrenamiento los pesos como autoencoder (o restringido Máquina de Boltzmann), lo que usted debe buscar en incluso si sólo tiene una única capa oculta.

Si desea pre-entrenar los pesos como GBR, que podría cambiar a sigmoids logísticos e incluso inicializar los pesos de una pequeña desviación estándar de Gauss sin correr en problemas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top