Nel documento Normalizzazione in lotti: accelerare la formazione in rete profonda tramite la riduzione dello spostamento della covariata interna ( qui ) Prima di spiegare il processo di normalizzazione in lotti, il documento cerca di spiegare i problemi correlati (non ottengo quale sia esattamente il problema affrontato qui) .
estratto dalla sezione 2, paragrafo 2:
Potremmo prendere in considerazione attivazioni sbiancanti in ogni fase dell'allenamento o ad un certo intervallo, modificando direttamente la rete o modificando i parametri dell'algoritmo di ottimizzazione in modo da dipendere dai valori di attivazione della rete (Wiesler et al., 2014; Raiko et al., 2012 ; Povey et al., 2014; Desjardins & Kavukcuoglu). Tuttavia, se queste modifiche sono intervallate dalle fasi di ottimizzazione, la fase di discesa del gradiente potrebbe tentare di aggiornare i parametri in un modo che richieda l'aggiornamento della normalizzazione, il che riduce l'effetto del passaggio di gradiente. Ad esempio, considera un livello con l'input u che aggiunge il pregiudizio appresoe normalizza il risultato sottraendo la media dell'attivazione calcolata sui dati di allenamento: dove è l'insieme di valori di sul set di allenamento e .
Se un gradiente di discesa del gradiente ignora la dipendenza di E [x] su b, aggiornerà , dove . Quindi .
Pertanto, la combinazione dell'aggiornamento be la successiva modifica della normalizzazione non hanno portato a nessuna modifica dell'output del layer né, di conseguenza, alla perdita. Man mano che l'allenamento continua, b crescerà indefinitamente mentre la perdita rimane fissa. Questo problema può peggiorare se la normalizzazione non solo centra ma scala anche le attivazioni.
ecco la mia comprensione della letteratura:
Abbiamo un lotto di dimensioni N (un lotto di formazione)
Lascia che ci siano due strati nascosti arbitrari collegati tra loro (L1 e L2) collegati dai parametri e
l'uscita che esce da L1 è x1
(è qui che inizia la letteratura sopra. la dimensione di u è MxN) (M è il numero di unità in L2)
(dimensione b = dimensione x = dimensione u = MxN)
Ora prima di alimentare x in L2 la centriamo sottraendo la media di da ciascuna voce in ( )
Calcoliamo la perdita e retroproponiamo il gradiente e aggiorniamo solo la questo livello per dargli un test di integrità. Nuovo =
Lo eseguiamo di nuovo sullo stesso batch con l'aggiornamento
ripetere 3 e 4
(dimensione b, = dimensione x = dimensione u = MxN)
Ora prima di alimentare x in L2 la centriamo sottraendo la media di da ciascuna voce in ( ). che è lo stesso di quello che è stato calcolato prima dell'aggiornamento b e quindi dell'aggiornamento b ha avuto effetto sull'allenamento
La mia domanda è con questa parte dell'estratto:
"Se un gradiente di discesa del gradiente ignora la dipendenza di E [x] da b, aggiornerà , dove . Quindi "
Perché è
" " dipendente da ciò che viene prima? Qual è il punto di quel bit? Si noti inoltre l'uso della parola "Then" (reso grassetto) che implica che l'affermazione trae necessariamente la causalità da ciò che viene prima