3 votos

¿Puede una ConvNet ver patrones que un ser humano no ve?

Estoy entrenando una ConvNet para detectar diferentes tipos de rayas en mis imágenes. Como estoy trabajando con imágenes astronómicas, los valores de mis píxeles son densidades de flujo y, por tanto, representan datos reales. Cuando yo (como humano) miro mis imágenes con el rango completo (algunas imágenes tienen rangos de -10 a 125, otras de -0,05 a 3,5, etc...), a menudo no puedo detectar estas rayas. Sin embargo, al condensar el rango a 0 - 1sigma (para x < 0: x=0, y para x > 1sigma: x=1sigma) puedo ver rayas de tipo 1. Para detectar visualmente (humanamente) la franja de tipo 2, tengo que condensar el intervalo a 0 - 3sigma.

Ahora me parece bien realizar estos pasos de preprocesamiento para construir un conjunto de entrenamiento adecuado y correcto, pero obviamente no puedo aplicar diferentes preprocesamientos dependiendo de la clase en los datos de prueba.

Así que mi pregunta es: Si etiqueto mis datos de entrenamiento basándome en los rangos condensados (donde los humanos pueden ver las rayas), pero entreno la red neuronal en las imágenes originales (donde los humanos no pueden ver las rayas debido a la mala resolución espectral), ¿será capaz el algoritmo de ver los artefactos a pesar de todo?

¿Y cómo influiría en esto el hecho de que las ConvNets a veces "aplastan" los valores entre 0 y 1? ¿O esto sólo es relevante cuando se utiliza sigmoide como función de activación?

¿Necesito normalizar o estandarizar mis imágenes? Si lo hago y miro la imagen, también es casi imposible detectar humanamente las rayas.

2voto

Dipstick Puntos 4869

Las redes neuronales son populares (y buenas) en áreas como el trabajo con imágenes y texto, donde son capaces de detectar patrones y hacer ingeniería de características por sí mismas. Si para extraer (ver) las características lo único que hay que hacer es realizar algunas manipulaciones sencillas sobre los datos, las redes neuronales deberían manejarlo bien por sí solas. Esto no significa que siempre lo hagan, o que no encuentren algunos patrones espurios, puesto que ya tenemos muchos ejemplos de este tipo. Por otro lado, si puedes hacer fácilmente algún tipo de ingeniería de características significativas, esto no hará daño y facilitará el aprendizaje de la red. Así que, básicamente, deberías probar diferentes arquitecturas de redes neuronales y comprobar si funcionan como se espera de ellas. Probablemente debería leer más sobre visualización de características .

En cuanto a la normalización y estandarización de las imágenes, las operaciones sólo reescalan los datos, por lo que no deberían tener ningún efecto negativo. Sólo podría ser problemático si te preocupas por algunos valores muy pequeños, que se harían aún más pequeños, por lo que daría lugar a problemas de precisión numérica, pero esto probablemente no es algo de lo que debas preocuparte.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X