Treinando uma rede neural de convolução


11

Atualmente, estou trabalhando em um software de reconhecimento de rosto que usa redes neurais de convolução para reconhecer rostos. Com base nas minhas leituras, concluí que uma rede neural convolucional compartilhou pesos, para economizar tempo durante o treinamento. Mas como adaptar a retropropagação para que possa ser usada em uma rede neural de convolução. Na retropropagação, utiliza-se uma fórmula semelhante a essa para treinar os pesos.

New Weight  = Old Weight +  LEARNING_RATE * 1 * Output Of InputNeuron * Delta

No entanto, como nas redes neurais convolucionais, os pesos são compartilhados, cada peso é usado com vários neurônios, então como eu decido qual Output of InputNeuroné usado?

Em outras palavras, uma vez que os pesos são compartilhados, como decido quanto alterar os pesos?

Respostas:


13

Você precisa primeiro calcular todas as suas atualizações como se os wieghts não fossem compartilhados, mas apenas armazená-las, ainda não faça nenhuma atualização.

WkEuk={(Eu,j):WEu,j=Wk}ΔWEu,j=-ηJWEu,jηJWEu,j

WEu,j=WEu,j+ΔWEu,j.
ΔWk=(Eu,j)EukΔWEu,j
Wk=Wk+ΔWk.

11
Você tem alguma referência para isso? Para uma leitura mais aprofundada
Jon
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.