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