Existen algunas variaciones sobre cómo normalizar las imágenes, pero la mayoría parece utilizar estos dos métodos:
- Reste la media por canal calculada sobre todas las imágenes (por ejemplo, VGG_ILSVRC_16_layers )
- Reste por píxel / canal calculado sobre todas las imágenes (por ejemplo , CNN_S , también vea la red de referencia de Caffe )
El enfoque natural sería en mi mente normalizar cada imagen. Una imagen tomada a plena luz del día hará que se disparen más neuronas que una imagen nocturna y, si bien puede informarnos del momento en que generalmente nos preocupamos por las características más interesantes presentes en los bordes, etc.
Pierre Sermanet se refiere en 3.3.3 a la normalización del contraste local que estaría basada en imágenes, pero no he encontrado esto en ninguno de los ejemplos / tutoriales que he visto. También he visto una pregunta interesante de Quora y la publicación de Xiu-Shen Wei, pero no parecen apoyar los dos enfoques anteriores.
¿Qué es exactamente lo que me estoy perdiendo? ¿Es este un problema de normalización del color o hay un documento que realmente explique por qué tantos usan este enfoque?
fuente
Respuestas:
Restar la media del conjunto de datos sirve para "centrar" los datos. Además, idealmente le gustaría dividir por el sttdev de esa característica o píxel también si desea normalizar cada valor de la característica a un puntaje z.
La razón por la que hacemos ambas cosas es porque en el proceso de capacitación de nuestra red, vamos a multiplicar (pesos) y agregar (sesgar) estas entradas iniciales para provocar activaciones que luego propagamos con los gradientes para entrenar a la modelo.
En este proceso, nos gustaría que cada característica tenga un rango similar para que nuestros gradientes no se salgan de control (y que solo necesitemos un multiplicador de tasa de aprendizaje global).
Otra forma en que puede pensar es que las redes de aprendizaje profundo tradicionalmente comparten muchos parámetros, si no escalara sus entradas de una manera que resultara en valores de características de rango similar (es decir: en todo el conjunto de datos restando la media) no compartiría sucede muy fácilmente porque para una parte del peso de la imagen
w
es demasiado y para otra es demasiado pequeño.Verá en algunos modelos de CNN que se utiliza el blanqueamiento por imagen, lo que está más en la línea de su pensamiento.
fuente
Antes de la normalización por lotes, se usó la resta media por canal para centrar los datos alrededor de la media cero para cada canal (R, G, B). Esto generalmente ayuda a la red a aprender más rápido ya que los gradientes actúan de manera uniforme para cada canal. Sospecho que si usa la normalización por lotes, el paso de preprocesamiento de sustracción media por canal no es realmente necesario ya que de todos modos está normalizando por mini lote.
fuente
La normalización por imagen es común e incluso es la única función incorporada actualmente en Tensorflow (principalmente debido a que es muy fácil de implementar). Se usa por la razón exacta que mencionó (día VS noche para la misma imagen). Sin embargo, si imagina un escenario más ideal donde se controla la iluminación, entonces las diferencias relativas entre cada imagen serían de gran valor en el algoritmo, y no querríamos borrar eso con la normalización por imagen (y nos gustaría hacer la normalización en el contexto de todo el conjunto de datos de entrenamiento).
fuente
Esto se llama preprocesamiento de datos antes de usarlo. Puede procesar de muchas maneras, pero hay una condición de que debe procesar cada dato con la misma función X_preproc = f (X) y este f (.) No debe depender de los datos en sí, por lo que si usa la imagen actual significa procesar esto imagen actual, entonces su f (X) en realidad será realmente f (X, imagen) y no quiere eso.
La normalización del contraste de la imagen de la que hablaba tiene un propósito diferente. La normalización del contraste de la imagen ayudará en la función.
Pero f (.) Anterior ayudará en la optimización al mantener todas las características numéricamente iguales entre sí (por supuesto, aproximadamente)
fuente