La normalización de lotes: El eje sobre el que tomar media y varianza

votos
3

Estoy tratando de poner en práctica por lotes Normalización ( http://arxiv.org/pdf/1502.03167.pdf ) en mi red neuronal de convolución, pero estoy realmente confundido como eje en torno a lo que debería calcular la media y la varianza.

Si una entrada a la conv-capa es de forma 3 * 224 * 224 * 32
donde:
los canales de entrada 3-.
224 * 224-forma de canal único
de 32 tamaño minibatch

Lo que debe ser el eje en la siguiente fórmula
Mean = numpy.mean (input_layer, eje =?)

Y, si una entrada a la capa totalmente conectado es de forma 100 * 32
donde:
100- número de entradas
32- tamaño minibatch

Una vez más, lo que debería ser el eje en la siguiente fórmula
Mean = numpy.mean (input_layer, eje =?)

Publicado el 03/03/2016 a las 19:44
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
2

# 1. axis = (1,2,3)
numpy.mean(input_layer,axis=(1,2,3)) 
# 2. axis = 1
numpy.mean(input_layer,axis=1)

Para las capas convolucionales con pesos compartidos que utiliza normalización En cuanto a prestaciones, para las capas totalmente conectadas que utiliza la normalización de la muestra se refiere.

Código de la capa de BN de la biblioteca Keras para referencia: https://github.com/fchollet/keras/blob/0daec53acbf4c3df6c054b36ece5c1ae2db55d86/keras/layers/normalization.py

Respondida el 03/03/2016 a las 23:17
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more