Introducción a Tensorflow2.0 y notas de estudio práctico (6): estandarización de lotes y red neuronal convolucional (imagen de satélite)

Tabla de contenido

1 Estandarización

1.1 ventajas

1.2 Formas comunes de estandarización de datos

2 ¿Qué es la normalización por lotes?

2.2 Estandarización de lotes

2.3 ¿Por qué la estandarización de lotes

3 Resumen:

4 TF realiza la estandarización de lotes

4.1 Proceso de implementación:

4.2 Proceso de pronóstico estandarizado por lotes

4.3 Ubicación del procesamiento por lotes:

4.4 Código de implementación:


1 Estandarización

La estandarización en el aprendizaje automático tradicional también se denomina normalización , que generalmente consiste en asignar datos a un rango específico para eliminar problemas en el procesamiento de datos de diferentes dimensiones.

 

1.1 ventajas

La estandarización de datos hace que las diferentes muestras vistas por el modelo de aprendizaje automático sean más similares entre sí , lo que ayuda a modelar el aprendizaje y la generalización de nuevos datos.

1.2 Formas comunes de estandarización de datos

 

Estandarización y normalización : reste el promedio de los datos para hacer que su centro sea 0 y luego divida los datos por su desviación estándar para hacer que su desviación estándar sea 1 .

Para fórmulas específicas, consulte las fórmulas en el libro sobre la base del aprendizaje profundo

¿Qué es la normalización por lotes (normalización por lotes)?

La normalización por lotes, similar a la normalización de datos ordinarios, es un método para unificar datos dispersos y un método para optimizar redes neuronales.

2.2 Estandarización de lotes

No solo estandariza los datos antes de ingresarlos en el modelo . Los estándares de datos deben considerarse después de cada transformación de la red.

Incluso si la media y la varianza cambian con el tiempo durante el proceso de entrenamiento , también puede estandarizar los datos de forma adaptativa, que es la corrección mencionada en el documento.
 

2.3 ¿Por qué la estandarización de lotes

El problema que resuelve la estandarización por lotes es la desaparición del gradiente y la explosión del gradiente .

La normalización por lotes es un método de optimización de entrenamiento sobre la desaparición del gradiente. Tome la función sigmoidea como ejemplo. La función sigmoidea genera la salida en [0,1]
Entre. 
Con el aumento en el número de nuestros entrenamientos, tenderá a 0,1 el gradiente resultante desaparece
 

Beneficios de utilizar el procesamiento por lotes:

Si la entrada es grande , la pendiente correspondiente es pequeña , el gradiente de retropropagación es pequeño y la velocidad de aprendizaje es muy lenta.

Sabemos que la estandarización del preprocesamiento de datos puede acelerar la convergencia . De manera similar, el uso de la estandarización en redes neuronales también puede acelerar la convergencia, y hay más beneficios.

3 Resumen:

Beneficios de la estandarización por lotes

  • Tiene el efecto de regularización
  • Mejorar la capacidad de generalización del modelo.
  • Permite una mayor tasa de aprendizaje para acelerar la convergencia
La normalización por lotes ayuda a la propagación del gradiente y, por lo tanto, permite redes más profundas. Para algunas redes muy profundas, el entrenamiento solo se puede realizar cuando contiene múltiples capas de BatchNormalization.
Expansión:
BatchNormalization se utiliza ampliamente en muchas Keras integradas de alto nivel
Arquitectura de red neuronal convolucional de nivel, como ResNet50, Inception
V3 y Xception.

4 TF realiza la estandarización de lotes

La capa BatchNormalization se usa generalmente después de la capa convolucional o la capa densamente conectada .

Tf.keras.layers.Batchnormalization ()
 

4.1 Proceso de implementación:

1. Calcula la media de los datos de cada lote de entrenamiento
2. Encuentra la varianza de los datos de cada lote de entrenamiento.
3. Normalización de datos
4. Parámetros de entrenamiento γ, β
5. La salida y obtiene el valor original mediante la transformación lineal de γ y β

Nota:
En la propagación hacia adelante del entrenamiento, la salida actual no cambiará, solo se registran γ y β . En la retropropagación, de acuerdo con los γ y β obtenidos mediante el método de derivación en cadena, se calcula la tasa de aprendizaje y se cambia el peso.

4.2 Proceso de pronóstico estandarizado por lotes

Cuando modelamos el entrenamiento, registramos la media y la varianza en cada lote, hasta que se completa el entrenamiento, encontramos la media y la varianza de las expectativas a lo largo de los valores de la muestra de entrenamiento , nuestras predicciones como la media y la varianza BN

4.3 Ubicación del procesamiento por lotes:

El artículo original decía que generalmente debería usarse antes de la función de activación no lineal en CNN, pero de hecho, el efecto puede ser mejor después de la función de activación.

4.4 Código de implementación:

 

Supongo que te gusta

Origin blog.csdn.net/qq_37457202/article/details/107896747
Recomendado
Clasificación