Formazione di una rete neurale di convoluzione


11

Attualmente sto lavorando a un software di riconoscimento facciale che utilizza reti neurali di convoluzione per riconoscere i volti. Sulla base delle mie letture, ho riscontrato che una rete neurale convoluzionale ha condiviso pesi, in modo da risparmiare tempo durante l'allenamento. Ma come si adatta la backpropagation in modo che possa essere utilizzata in una rete neurale di convoluzione. In backpropagation, si usa una formula simile a questa per allenare i pesi.

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

Tuttavia, poiché nelle reti neurali convoluzionali, i pesi sono condivisi, ogni peso viene utilizzato con più neuroni, quindi come faccio a decidere quale Output of InputNeuronviene utilizzato?

In altre parole, poiché i pesi sono condivisi, come faccio a decidere di quanto modificare i pesi?

Risposte:


13

Devi prima calcolare tutti i tuoi aggiornamenti come se i wieghts non fossero condivisi, ma semplicemente archiviarli, in realtà non eseguono ancora alcun aggiornamento.

wkIk={(i,j):wi,j=wk}Δwi,j=ηJwi,jηJwi,j

wi,j=wi,j+Δwi,j.
Δwk=(i,j)IkΔwi,j
wk=wk+Δwk.

1
Hai qualche riferimento per questo? Per ulteriori letture
Jon
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.