¿Por qué los pesos de las redes neuronales se inicializan con números aleatorios?


9

¿Por qué los pesos iniciales de las redes neuronales se inicializan como números aleatorios? Había leído en alguna parte que esto se hace para "romper la simetría" y esto hace que la red neuronal aprenda más rápido. ¿Cómo la ruptura de la simetría hace que aprenda más rápido?

¿No sería una mejor idea inicializar los pesos a 0? De esa manera, los pesos podrían encontrar sus valores (ya sean positivos o negativos) más rápido.

¿Existe alguna otra filosofía subyacente detrás de aleatorizar los pesos además de esperar que estén cerca de sus valores óptimos cuando se inicializan?

Respuestas:


6

La intuición básica detrás de la inicialización de las capas de peso en valores pequeños (y diferentes) es solo para que el sesgo del sistema se rompa y los valores de peso puedan moverse a lo largo y lejos y separarse a diferentes valores.

Más concretamente, es probable que desee que sus pesos iniciales sean distintos y tengan un "pequeño espacio" entre ellos, este 'espacio' se expande a medida que avanza y obliga a que los pesos sean un poco más grandes en cada iteración, y esto ayuda la red converge más rápido, es decir, el proceso de aprendizaje se acelera.

Si, en cambio, tuviera todos sus pesos en una constante, cada peso se actualizará a una velocidad muy lenta (~ fija), y esto no ayudará mucho, especialmente si los valores iniciales están 'muy lejos' de los valores finales.

Espero que ayude, diviértete aprendiendo :)


Entonces, lo que está diciendo es aleatorizar los pesos iniciales es equivalente a dar un empujón a cada peso en la dirección que necesita moverse (y el espacio para expandirse).
Shayan RC

No creo que deba estar en la dirección correcta, también puede comenzar con un peso inicial de [-0.5, +0.5] donde los valores finales pueden ser [+0.5, -0.5], la idea clave es tener valores diferentes ..
Subhayan

Ha pasado más de un año desde que trabajé con las NN, así que estoy hablando de forma ondulada, por favor, avíseme si desea las matemáticas detrás de esto. pero creo que es más importante tener la intuición aquí, las matemáticas están prácticamente disponibles en todas partes .. :)
Subhayan

Las matemáticas detrás de esto serían útiles, pero aún más útiles serían algunos consejos prácticos: por ejemplo, ¿qué tan pequeños deberían ser los pesos iniciales (10 ^?) ¿Cómo varían para diferentes tipos de redes? ¿Hay algún tipo de número mágico que funcione para todos?
Shayan RC
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.