Por que a retropropagação não funciona quando você inicializa os pesos com o mesmo valor?

20

Por que a retropropagação não funciona quando você inicializa todo o peso com o mesmo valor (por exemplo, 0,5), mas funciona bem quando dados números aleatórios?

O algoritmo não deveria calcular o erro e trabalhar a partir daí, apesar de os pesos serem inicialmente os mesmos?

user1724140
fonte

Respostas:

26

Quebra de simetria.

Se todos os pesos começarem com valores iguais e se a solução exigir que pesos desiguais sejam desenvolvidos, o sistema nunca poderá aprender.

Isso ocorre porque o erro é propagado de volta pelos pesos na proporção dos valores dos pesos. Isso significa que todas as unidades ocultas conectadas diretamente às unidades de saída receberão sinais de erro idênticos e, como as alterações de peso dependem dos sinais de erro, os pesos dessas unidades para as unidades de saída devem sempre ser os mesmos. O sistema está iniciando em um tipo de ponto de equilíbrio instável que mantém os pesos iguais, mas é mais alto do que alguns pontos vizinhos na superfície do erro e, uma vez que se afasta para um desses pontos, nunca retornará. Nós combatemos esse problema iniciando o sistema com pequenos pesos aleatórios. Sob essas condições, problemas de simetria desse tipo não surgem.

Esta
fonte
Portanto, os pesos iniciais de um NN não determinam apenas a velocidade com que ele treina, mas também podem ser a causa do aprendizado ou não do aprendizado?
user1724140
2
Sim, às vezes, não treinamos apenas (uma Rede Neural, por exemplo) com apenas um conjunto de pesos. Uma coisa comum a se fazer, se tivermos tempo, é criar várias configurações diferentes de peso inicial e treinar a rede. Como algumas vezes, pode acontecer que uma configuração acabe em um local ideal ou o peso infelizmente não tenha sido aleatório.
EStE
Não está errado, porque diferentes entradas ainda podem quebrar a simetria. Veja: open.wolframcloud.com/env/…
user3180
12

RnR

O que você quer é um mínimo global, mas você não tem uma maneira garantida de encontrá-lo. E se sua superfície possui vários mínimos locais, você pode estar com problemas.

Mas se houver apenas alguns, a estratégia de Thierry deve funcionar - realizar várias pesquisas por mínimos locais iniciando em pontos selecionados aleatoriamente deve aumentar as chances de você encontrar o mínimo global.

E no feliz caso em que há apenas um mínimo - qualquer vetor de peso inicial o levará a ele.

Rohit Chatterjee
fonte