Carta: Qual è la differenza tra la normalizzazione dei livelli, la normalizzazione batch periodica (2016) e la RNN batch normalizzata (2015)?


30

Quindi, recentemente c'è un documento sulla normalizzazione dei livelli . C'è anche una sua implementazione su Keras.

Ma ricordo che ci sono articoli intitolati Recurrent Batch Normalization (Cooijmans, 2016) e Batch Normalized Recurrent Neural Networks (Laurent, 2015). Qual è la differenza tra quei tre?

C'è questa sezione di lavoro correlato che non capisco:

La normalizzazione in lotti è stata precedentemente estesa alle reti neurali ricorrenti [Laurent et al., 2015, Amodei et al., 2015, Cooijmans et al., 2016]. Il lavoro precedente [Cooijmans et al., 2016] suggerisce che le migliori prestazioni della normalizzazione batch periodica si ottengono mantenendo statistiche di normalizzazione indipendenti per ogni fase temporale. Gli autori mostrano che l'inizializzazione del parametro di guadagno nel livello di normalizzazione batch ricorrente su 0,1 fa una differenza significativa nelle prestazioni finali del modello. Il nostro lavoro è anche legato alla normalizzazione del peso [Salimans e Kingma, 2016]. Nella normalizzazione del peso, invece della varianza, la norma L2 dei pesi in entrata viene utilizzata per normalizzare gli input sommati a un neurone. L'applicazione della normalizzazione del peso o della normalizzazione in lotti utilizzando le statistiche previste equivale a una diversa parametrizzazione della rete neurale feed-forward originale. La parametrizzazione nella rete ReLU è stata studiata nel SGD Pathnormalized [Neyshabur et al., 2015]. Il nostro metodo di normalizzazione degli strati proposto, tuttavia, non è una parametrizzazione della rete neurale originale. Il modello normalizzato a strati, quindi, ha proprietà di invarianza diverse rispetto agli altri metodi , che studieremo nella sezione seguente

Risposte:


25
  • Normalizzazione dei livelli ( Ba 2016 ): non utilizza le statistiche batch. Normalizza usando le statistiche raccolte da tutte le unità all'interno di un livello del campione corrente. Non funziona bene con ConvNets.

  • Recurrent Batch Normalization (BN) ( Cooijmans, 2016 ; proposto anche contemporaneamente da Qianli Liao e Tomaso Poggio , ma testato su ConvNets ricorrenti, invece di RNN / LSTM): uguale alla normalizzazione batch. Utilizzare statistiche di normalizzazione diverse per ogni passaggio temporale. È necessario memorizzare un set di deviazione media e standard per ogni passaggio temporale.

  • Reti neurali ricorrenti normalizzate in lotti ( Laurent, 2015 ): la normalizzazione in lotti viene applicata solo tra l'input e lo stato nascosto, ma non tra gli stati nascosti. cioè, la normalizzazione non viene applicata nel tempo.

  • Streaming Normalization ( Liao et al. 2016 ): riassume le normalizzazioni esistenti e supera la maggior parte dei problemi sopra menzionati. Funziona bene con ConvNets, l'apprendimento ricorrente e l'apprendimento online (ovvero piccoli mini-batch o un campione alla volta):

  • L2L21y=x(w/|w|)xwgy=ygg non sembra essenziale per le prestazioni (anche i livelli apprendibili a valle possono impararlo comunque).

  • L2y=(x/|x|)(w/|w|)xw

Si noti che sia la normalizzazione del peso che quella del coseno sono state ampiamente utilizzate (chiamate prodotto a punti normalizzati) negli anni 2000 in una classe di ConvNets chiamata HMAX (Riesenhuber 1999) per modellare la visione biologica. Potresti trovarli interessanti.

Rif: il riferimento al modello HMAX

Rif: Riferimento del simulatore di rete corticale

Rif: Normalizzazione del coseno: utilizzo della somiglianza del coseno invece del prodotto Dot nelle reti neurali , Luo Chunjie, Zhan jianfeng, Wang lei, Yang Qiang

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.