comprensione della normalizzazione in lotti


8

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 appresoBe normalizza il risultato sottraendo la media dell'attivazione calcolata sui dati di allenamento: X^=X-E[X] dove X=u+B,X=X1 ...N è l'insieme di valori di X sul set di allenamento e E[X]=1N(Σio=1nXio) .

Se un gradiente di discesa del gradiente ignora la dipendenza di E [x] su b, aggiornerà , dove . Quindi .BB+ΔBΔBα-l/X^

(1)u+(B+ΔB)-E[u+(B+ΔB)]=u+B-E[u+B]

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:

  1. Abbiamo un lotto di dimensioni N (un lotto di formazione)

  2. Lascia che ci siano due strati nascosti arbitrari collegati tra loro (L1 e L2) collegati dai parametri eWB

  3. l'uscita che esce da L1 è x1

  4. u=X1W (è qui che inizia la letteratura sopra. la dimensione di u è MxN) (M è il numero di unità in L2)

  5. X=u+B (dimensione b = dimensione x = dimensione u = MxN)

  6. Ora prima di alimentare x in L2 la centriamo sottraendo la media di da ciascuna voce in ( )XXX^=X-E[X]

  7. Calcoliamo la perdita e retroproponiamo il gradiente e aggiorniamo solo la questo livello per dargli un test di integrità. Nuovo =BBB+ΔB

  8. Lo eseguiamo di nuovo sullo stesso batch con l'aggiornamentoB

  9. ripetere 3 e 4

  10. Xnew=u+B+ΔB (dimensione b, = dimensione x = dimensione u = MxN)ΔB

  11. 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'allenamentoXXX^=X+ΔB-E[X+ΔB]=X-E[X]

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 "BB+ΔBΔBα-l/X^

(1)u+(B+ΔB)-E[u+(B+ΔB)]=u+B-E[u+B]

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

(1)u+(B+ΔB)-E[u+(B+ΔB)]=u+B-E[u+B]

Risposte:


3

Supponiamo che tu stia cercando di ridurre al minimo la seguente perdita per una determinata attività, doveè la distanza eucliciana e l'output previsto è per semplicità. I gradienti possono quindi essere calcolati come segue:

(y,y^)=12y-y^2,
y^=X^

ΔB=-X^X^B,Δω=-X^X^ω

Now, the gradient of X^ with respect to the bias B is

X^B=B(X-E[X])=B((u+B)-E[(u+B)])=1-BE[(u+B)]

Ignorando il fatto E(X) dipende da B rende il gradiente sopra uguale a 1 e quindi continua ad aggiornare il bias come segue:

X^B=1-BE[X]=1-0=1
e poi

ΔB=-X^(1),BB+ΔB

Altrimenti, se si desidera considerare questa dipendenza, il gradiente diventa 0 e quindi nessun aggiornamento come segue:

X^B=1-BE[u+B]=1-(BE[u]+BE[B])=1-(0+1)=0
e poi
ΔB=-X^(0),BB+0

In entrambi i casi, indipendentemente dall'aggiornamento del bias, la funzione di perdita rimarrà fissa,

u+(B+ΔB)-E[u+(B+ΔB)]=u+B-E[u+B],

tuttavia, nel primo caso, il pregiudizio crescerà indefinitamente.

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.