5 votos

¿Cómo manejan las CNN la invariabilidad de escala?

Incluso después de buscar en Google y leer artículos de ajuste y respuestas a preguntas de ajuste aquí en StackExchange, no entiendo cómo las CNN manejan la invariancia de escala.

Encontré respuestas que parecían lógicas y que decían que sólo se hacía por medio de la agrupación, otras, igualmente sólidas, decían que era una combinación de convolución y agrupación; nadie dio una explicación basada en un ejemplo sencillo.

¿El manejo de la invariabilidad de escala está "localizado" en una capa o "repartido" en varias capas? Si es así, ¿se puede describir fácilmente el mecanismo?

¿Se necesitan imágenes con patrones de diferentes escalas en la fase de entrenamiento para entrenar la invariabilidad de escala? Si es así, eso significaría que se necesitan todos los tamaños posibles y eso no puede ser así, ¿verdad? En consecuencia, eso significaría que no se produciría ningún aprendizaje/"abstracción" real?

Un ejemplo sencillo: Una CNN muy sencilla debería aprender a identificar un símbolo concreto en las imágenes, por ejemplo, el dígito "4".

Digamos que sólo tengo imágenes de un tamaño fijo, por ejemplo, 12x12 píxeles.

¿Qué se necesita como datos de entrenamiento para detectar "4" de distinto tamaño?

Después del entrenamiento, ¿cómo detecta la CNN que un píxel de 5x5 '4' en comparación con un píxel de 10x10 '4'? ¿Qué hace en las diferentes capas?

4voto

Josh Pearce Puntos 2288

Por sí mismos, los filtros convolucionales no manejan la invariabilidad de escala. Cada filtro aprendido será sensible a un determinado conjunto de características sólo dentro de un estrecho rango de escala. En general, hay tres técnicas que pueden ayudar a aproximar la invariabilidad de escala y hacer que la red sea resistente a los cambios de escala:

1) Entrenamiento con acercamiento/alejamiento aleatorio de la imagen de entrada. Esto proporciona sintéticamente ejemplos a diferentes escalas. Esta técnica funciona bien, en particular, para alejar la imagen, pero el acercamiento es limitado, ya que se puede acabar acercando demasiado la parte equivocada de la imagen.

2) Entrada multiescala: la imagen de entrada se introduce a múltiples escalas, por ejemplo, 0,5, 1x y 2x; las predicciones se promedian entonces en las salidas. Otra técnica consiste en utilizar características de las pirámides .

3) Convoluciones multitamaño o dilatadas: en lugar de utilizar un tamaño de filtro fijo (por ejemplo, 3x3), se utilizan varios tamaños de filtro (3x3, 4x4, 5x5) en cada etapa. También se puede utilizar filtros dilatados Por ejemplo, una convolución de 3x3 que cubre un campo receptivo de 5x5 saltándose los superpíxeles intermedios.

2voto

H.Jian Puntos 11

Yo diría que las CNN no son inherentemente capaces de manejar características no invariables en escala.

Imaginemos que tenemos una imagen A de tamaño n x n que sólo contiene una "esquina" que parece una curva. Si ampliamos la imagen 100 veces, la nueva imagen B tendrá un tamaño de 100n x 100n y cada una de sus subregiones de n x n parecerá un borde recto en lugar de una curva en forma de esquina.

Supongamos que tenemos un clasificador de imágenes C basado en CNN para las características de las esquinas que se entrena sólo con núcleos más pequeños que n x n. Ahora bien, si introducimos B en el clasificador, éste mirará las subregiones n x n (o más pequeñas) de B y no tendrá ninguna posibilidad de obtener resultados positivos.

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