Entrenando una red neuronal de convolución

11

Actualmente estoy trabajando en un software de reconocimiento de rostros que utiliza redes neuronales de convolución para reconocer rostros. Basado en mis lecturas, he deducido que una red neuronal convolucional ha compartido pesos, para ahorrar tiempo durante el entrenamiento. Pero, ¿cómo se adapta la propagación hacia atrás para que pueda usarse en una red neuronal de convolución? En la retropropagación, se usa una fórmula similar a esta para entrenar los pesos.

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

Sin embargo, dado que en las redes neuronales convolucionales, los pesos se comparten, cada peso se usa con múltiples neuronas, entonces, ¿cómo decido cuál Output of InputNeuronse usa?

En otras palabras, dado que los pesos se comparten, ¿cómo decido cuánto cambiar los pesos?

diwgan32
fuente

Respuestas:

13

Primero debe calcular todas sus actualizaciones como si las palabras no se compartieran, pero simplemente almacénelas, en realidad no realice ninguna actualización todavía.

wkyok={(yo,j):wyo,j=wk}Δwyo,j=-ηJwyo,jηJwyo,j

wyo,j=wyo,j+Δwyo,j.
Δwk=(yo,j)yokΔwyo,j
wk=wk+Δwk.
Alto
fuente
1
¿Tienes alguna referencia para esto? Para leer más
Jon