¿Qué es la invariancia de traducción en la visión por computadora y la red neuronal convolucional?

38

No tengo experiencia en visión por computadora, pero cuando leo algunos artículos y documentos relacionados con el procesamiento de imágenes y las redes neuronales convolucionales, me enfrento constantemente al término translation invariance, o translation invariant.
¿O leí mucho que la operación de convolución proporciona translation invariance? ¿Qué significa esto?
Yo mismo siempre lo traduje a mí mismo como si significa que si cambiamos una imagen en cualquier forma, el concepto real de la imagen no cambia.
Por ejemplo, si giro una imagen de un árbol, digamos, nuevamente es un árbol, no importa lo que le haga a esa imagen.
Y yo mismo considero que todas las operaciones que pueden sucederle a una imagen y transformarla de una manera (recortarla, redimensionarla, escalarla en gris, colorearla, etc.) son de esta manera. No tengo idea si esto es cierto, por lo que agradecería que alguien me lo explicara.

Rika
fuente

Respuestas:

61

Estás en el camino correcto.

Invarianza significa que puede reconocer un objeto como un objeto, incluso cuando su apariencia varía de alguna manera. Esto generalmente es algo bueno, ya que conserva la identidad, la categoría, (etc.) del objeto a través de los cambios en los detalles de la entrada visual, como las posiciones relativas del espectador / cámara y el objeto.

La imagen a continuación contiene muchas vistas de la misma estatua. Usted (y redes neuronales bien entrenadas) puede reconocer que el mismo objeto aparece en cada imagen, a pesar de que los valores de píxeles reales son bastante diferentes.

Varios tipos de invariancia, demostrados

Tenga en cuenta que la traducción aquí tiene un significado específico en visión, tomado de la geometría. No se refiere a ningún tipo de conversión, a diferencia de, por ejemplo, una traducción del francés al inglés o entre formatos de archivo. En cambio, significa que cada punto / píxel en la imagen se ha movido la misma cantidad en la misma dirección. Alternativamente, puede pensar que el origen se ha desplazado una cantidad igual en la dirección opuesta. Por ejemplo, podemos generar las imágenes segunda y tercera en la primera fila desde la primera moviendo cada píxel 50 o 100 píxeles hacia la derecha.


Se puede demostrar que el operador de convolución conmuta con respecto a la traducción. Si convolucionas con , no importa si traduces la salida convolucionada , o si traduces o primero, entonces convolucionalas. Wikipedia tiene un poco más .FsolFsolFsol

Un enfoque para el reconocimiento de objetos invariantes de traducción es tomar una "plantilla" del objeto y convolucionarlo con cada ubicación posible del objeto en la imagen. Si obtiene una gran respuesta en una ubicación, sugiere que un objeto parecido a la plantilla se encuentra en esa ubicación. Este enfoque a menudo se denomina coincidencia de plantillas .


Invarianza vs. Equivalencia

La respuesta de Santanu_Pattanayak ( aquí ) señala que hay una diferencia entre la invariancia de traducción y la equivalencia de traducción . La invariancia de traducción significa que el sistema produce exactamente la misma respuesta, independientemente de cómo se cambie su entrada. Por ejemplo, un detector facial podría informar "ENCONTRADO CARA" para las tres imágenes en la fila superior. La equivalencia significa que el sistema funciona igual de bien en todas las posiciones, pero su respuesta cambia con la posición del objetivo. Por ejemplo, un mapa de calor de "cara a cara" tendría protuberancias similares a la izquierda, centro y derecha cuando procesa la primera fila de imágenes.

Esto es a veces una distinción importante, pero muchas personas llaman a ambos fenómenos "invariancia", especialmente porque generalmente es trivial convertir una respuesta equivalente en una invariante, simplemente ignore toda la información de posición).

Matt Krause
fuente
2
Me alegro de poder ayudar. Este es uno de mis grandes intereses de investigación, así que si hay algo más que pueda ser útil, veré qué puedo hacer.
Matt Krause
¿Podría aclarar cómo se logra la invariancia de traducción con CNN? Las activaciones de una capa convolucional en una CNN no son invariables bajo las traducciones: se mueven a medida que la imagen se mueve (es decir, son equivalentes, en lugar de invariables, a las traducciones). Esas activaciones generalmente se introducen en una capa de agrupación, que tampoco es invariable para las traducciones. Y la capa de agrupación puede alimentar una capa completamente conectada. ¿Los pesos en una capa totalmente conectada cambian de alguna manera el comportamiento de transacción equivalente al comportamiento invariante de traducción?
max
@max, Pooling aumenta la invariancia de traducción, especialmente max-pooling (!), que ignora por completo la información espacial dentro del vecindario de pooling. Consulte el Capítulo 9 de Deep Learning deeplearningbook.org/contents/convnets.html (a partir de la p. 335). Esta idea también es popular en neurociencia: el modelo HMAX (p. Ej., Aquí: maxlab.neuro.georgetown.edu/docs/publications/nn99.pdf ) utiliza una combinación de promediación y agrupación máxima para generar traducción (y otros tipos de ) invariancia.
Matt Krause el
1
Ah, claro, la agrupación proporciona invariancia sobre las traducciones pequeñas (estaba pensando en turnos más grandes, pero quizás cada capa sucesiva de agrupación puede manejar turnos progresivamente más grandes). Pero, ¿qué pasa con las redes totalmente convolucionales ? Sin agrupación, ¿qué proporciona invariancia (al menos aproximada)?
max
1
@Fredom, eso podría ser mejor como una nueva pregunta, pero en resumen: la señal de audio suena igual incluso si la adelantas a tiempo (por ejemplo, agregando un montón de silencio al principio). Sin embargo, si lo cambia en el dominio de la frecuencia, suena diferente: no solo se modifica el espectro, sino que las relaciones entre las frecuencias (por ejemplo, los armónicos) también se distorsionan.
Matt Krause
4

Creo que hay cierta confusión sobre lo que se entiende por invariancia traslacional. La convolución proporciona el significado de equivalencia de traducción si un objeto en una imagen está en el área A y a través de la convolución se detecta una característica en la salida en el área B, entonces la misma característica se detectaría cuando el objeto en la imagen se traduzca a A '. La posición de la función de salida también se traduciría a una nueva área B 'en función del tamaño del núcleo del filtro. Esto se llama equivalencia traslacional y no invariancia traslacional.

Santanu_Pattanayak
fuente
2

La respuesta es realmente más complicada de lo que parece al principio. En general, la invariancia traslacional significa que reconocería el objeto sin importar dónde aparece en el marco.

En la siguiente imagen en los cuadros A y B, reconocería la palabra "estresado" si su visión apoya la invariancia de traducción de las palabras . ingrese la descripción de la imagen aquí

Destaqué el término palabras porque si su invariancia solo se admite en letras, entonces el cuadro C también será igual a los cuadros A y B: tiene exactamente las mismas letras.

En términos prácticos, si entrenó a su CNN en letras, entonces cosas como MAX POOL ayudarán a lograr la invariancia de traducción en letras, pero no necesariamente pueden conducir a la invariancia de traducción en palabras. La agrupación extrae la característica (que se extrae mediante una capa correspondiente) sin relación con la ubicación de otras características, por lo que perderá el conocimiento de la posición relativa de las letras D y T y las palabras ESTRESADAS y POSTRES tendrán el mismo aspecto.

El término en sí es probablemente de la física, donde la simetría translacional significa que las ecuaciones permanecen igual independientemente de la traducción en el espacio.

Aksakal
fuente
1

@Santanu

Si bien su respuesta es correcta en parte y conduce a la confusión. Es cierto que las capas convolucionales en sí mismas o los mapas de características de salida son equivalentes de traducción. Lo que hacen las capas de agrupación máxima es proporcionar cierta invariancia de traducción como señala @Matt.

Es decir, la equivalencia en los mapas de características combinados con la función de capa de agrupación máxima conduce a la invariancia de traducción en la capa de salida (softmax) de la red. El primer conjunto de imágenes de arriba todavía produciría una predicción llamada "estatua" a pesar de que se ha traducido a la izquierda o la derecha. El hecho de que la predicción siga siendo "estatua" (es decir, la misma) a pesar de traducir la entrada significa que la red ha logrado cierta invariancia de traducción.

señor e
fuente
No estoy tan seguro de que la agrupación conduzca a la invariancia de la traducción.
Aksakal
Moderadamente lo hace. Recuerde que el operador de agrupación máxima toma el valor de píxel máximo como su salida en una ventana determinada. Esto matemáticamente requiere cierta invariancia ya que la ubicación espacial de los valores máximos de píxeles es irrelevante (dentro de cierta tolerancia).
Señor e