Según la ley de los grandes números, la media y la varianza de la muestra convergen con la media y la varianza verdaderas a medida que el número de muestras se aproxima al infinito. En la configuración de Normalización de lote, primero está normalizando cada lote por su media y varianza. Esta es una estimación muy ruidosa para la media y la varianza de la media real y la varianza que es responsable de generar los datos de entrada debido al hecho de que batch_size << dataset_size << inf.
Por lo tanto, está tratando de acumular la mayor cantidad de estadísticas posible para converger a la media y la varianza verdaderas. moving_mean y moving_variance acumulan estas estadísticas durante el entrenamiento. No los acumula durante la inferencia porque la inferencia generalmente no se realiza en lotes y, por lo tanto, las estadísticas de un solo ejemplo distorsionarían las estadísticas acumuladas. (Puede actualizar las estadísticas con mini lotes de prueba; sin embargo, esto violaría la propiedad de retención del conjunto de prueba y no indicará el verdadero riesgo (rendimiento de generalización))
En realidad, hay una brecha entre el entrenamiento y la prueba. Durante el entrenamiento, la red solo usa estadísticas de lotes y aprende a trabajar con estadísticas de lotes. Sin embargo, de repente cambia a moving_mean y moving_var durante la inferencia que el modelo no ha visto antes. Esto es a veces la razón por la cual las redes batch_norm realizan una validación de modo de entrenamiento adecuado y un rendimiento significativamente peor en la prueba de modo de inferencia.
- ¿Cuáles son algunos paquetes de software populares para modelos gráficos?
- ¿Existe una relación entre el aprendizaje automático y los procesos estocásticos?
- ¿Qué tan cerca estamos de poder crear máquinas autorreplicantes que puedan replicarse utilizando minerales que se encuentran en el espacio exterior?
- ¿Cuál es la diferencia entre una red neuronal y una red de codificador automático?
- ¿Cómo pudo la policía de Arizona llegar a una conclusión tan rápida que el auto Uber que se volcó no fue el culpable?
Recientemente se solucionó mediante una capa reciente llamada Renormalización por lotes. deberías echarle un vistazo: hacia la reducción de la dependencia del minibatch en modelos normalizados por lotes