Por que os pesos das redes neurais são inicializados com números aleatórios?

9

Por que os pesos iniciais das redes neurais são inicializados como números aleatórios? Eu tinha lido em algum lugar que isso é feito para "quebrar a simetria" e isso faz a rede neural aprender mais rápido. Como quebrar a simetria faz com que ela aprenda mais rápido?

Será que inicializar os pesos para 0 seria uma ideia melhor? Dessa forma, os pesos seriam capazes de encontrar seus valores (positivos ou negativos) mais rapidamente?

Existe alguma outra filosofia subjacente por trás da randomização dos pesos, além de esperar que eles estivessem próximos dos seus valores ótimos quando inicializados?

Shayan RC
fonte

Respostas:

6

A intuição básica por trás da inicialização das camadas de peso em valores pequenos (e diferentes) é apenas para que o viés do sistema seja quebrado e os valores de peso possam se mover ao longo e longe e se afastar para valores diferentes.

Mais concretamente, você provavelmente desejará que seus pesos iniciais sejam distintos e tenham "um pequeno espaço" entre eles, esse 'espaço' se expande à medida que avança e força os pesos a serem um pouco maiores a cada iteração, e isso ajuda a rede convergir mais rapidamente, ou seja, o processo de aprendizado acelera.

Se você preferir ter todos os seus pesos constantes, cada peso será atualizado a uma taxa muito lenta (~ fixa), e isso não ajudará muito, especialmente se os valores iniciais estiverem 'muito longe' dos valores finais.

Espero que ajude, Divirta-se aprendendo :)

Subhayan
fonte
Então, o que você está dizendo é que aleatorizar os pesos iniciais equivale a dar a cada peso um empurrão na direção que ele precisa se mover (e a diferença para expandir).
Shayan RC
Eu não acho que ele precisa estar na direção correta, você também pode começar com um peso inicial de [-0,5, +0,5], onde os valores finais podem ser [+0,5, -0,5], a ideia principal é ter valores diferentes ..
Subhayan
Já faz mais de um ano que eu trabalhei com NNs, então estou falando de uma maneira ondulada, por favor, deixe-me saber se você quer a matemática por trás disso. mas eu acho que é mais importante para obter a intuição aqui, a matemática é muito bonito disponível em todos os lugares .. :)
Subhayan
A matemática por trás disso seria útil, mas ainda mais útil seria um conselho prático: como os pesos iniciais devem ser pequenos (10 ^?) Como eles variam para diferentes tipos de redes? Existe algum tipo de número mágico que funciona para todos?
Shayan RC