Para elaborar sobre la respuesta de Khanis Rok en la que se mencionan correctamente las dos técnicas principales de preprocesamiento: normalización y aumento. Me enfocaré más en la normalización. Pienso en el aumento como una forma de reducir el sobreajuste y expandir su conjunto de datos. A menudo, una solución muy simple y accesible.
La clave para tener en cuenta es que el preprocesamiento excluye la extracción de características. Por lo general, queremos que las redes convolucionales aprendan esto último implícitamente.
¿Por qué necesitamos preprocesar nuestros píxeles?
- ¿El error de clasificación de las redes neuronales se denomina "tasa de error"?
- ¿Existe alguna base biológica para las redes de confrontación generativas?
- ¿Puede explicar la optimización convexa sin matrices de arpillera y solo la segunda derivada?
- ¿Cuáles son algunos buenos métodos para el procesamiento previo de datos en el aprendizaje automático?
- ¿Cuál es el significado físico de usar SVD / NMF en una matriz de correlación espacial?
Los valores de píxel a menudo se encuentran en el rango [0, 255]. Introducir estos valores directamente en una red puede provocar desbordamientos numéricos. También resulta que algunas opciones de activación y funciones objetivas no son compatibles con todo tipo de entrada. La combinación incorrecta da como resultado una red que hace un mal trabajo en el aprendizaje.
Imagine usar funciones de activación sigmoide en su red. Multiplicar sus pesos con valores de píxeles de grandes magnitudes obligará a la neurona a saturarse. “Pero sus pesos eventualmente se actualizarán a valores realmente pequeños para contrarrestar el efecto de la entrada grande”. Desafortunadamente, esto no sucederá, porque los gradientes para las activaciones saturadas serán demasiado pequeños para que ocurra una actualización significativa. Tus pesos terminarán atascados.
Técnicas de preprocesamiento:
- resta media de la imagen : funciona bien si sus distribuciones de color o intensidad no son consistentes en toda la imagen (por ejemplo, solo objetos centrados)
- normalización por canal (restar media, dividir por desviación estándar), bastante estándar, útil para entradas de tamaño variable donde no se puede usar 1.
- resta media por canal : buena para entradas de tamaño variable en las que no puede usar 1 y no desea hacer demasiadas suposiciones sobre la distribución.
- blanqueamiento (convierta la distribución en una distribución normal, a veces tan fácil como la normalización, pero solo si ya está distribuida normalmente). Quizás otros puedan influir en los casos en que el blanqueamiento no es una buena idea.
- Reducción de la dimensionalidad (por ejemplo, análisis de componentes principales). Básicamente, está transformando sus datos en un espacio comprimido con menos dimensiones, controla la cantidad de pérdida y la usa como su entrada a su red. No es tan común para los enfoques de aprendizaje profundo, pero aplicable de todos modos. Esta publicación de blog tiene algunos argumentos en contra: ¿Debería aplicar PCA a sus datos?
- ¿Más? Sí, algunos son tareas específicas, datos específicos, es de esperar que más personas piensen en esto.
¿Cuándo usar cuál?
Los más fáciles son a menudo los más efectivos. Básicamente, desea distribuirlo lo más ampliamente posible. Hacer el menor preprocesamiento posible se alinea con la tendencia a hacer la menor cantidad de suposiciones o alterar sus datos y dejar que el modelo lo descubra en la medida en que las opciones de diseño sean compatibles con el rango de valores de entrada.