¿Cómo puede una red neuronal convolucional aprender características invariables?

Después de pensarlo un poco, no creo que la operación de agrupación sea la razón principal de la propiedad invariable de traducción en las CNN. Creo que la invariancia (al menos a la traducción) se debe a los filtros de convolución (no específicamente a la agrupación) mientras que las capas completamente conectadas al final son “dependientes de la posición”,

Por ejemplo, usemos la Fig. 1 como referencia:

El volumen azul representa la imagen de entrada, mientras que los volúmenes verde y amarillo representan los volúmenes de activación de salida de capa 1 y capa 2 (consulte Redes neuronales convolucionales CS231n para reconocimiento visual si no está familiarizado con estos volúmenes). Al final, tenemos una capa totalmente conectada que está conectada a todos los puntos de activación del volumen amarillo.

Estos volúmenes se crean utilizando una convolución más una operación de agrupación. La operación de agrupación reduce la altura y el ancho de estos volúmenes, mientras que el creciente número de filtros en cada capa aumenta la profundidad del volumen.

Por el bien del argumento, supongamos que tenemos filtros muy “lúdicos”, como se muestra en la Fig. 2:

  • los filtros de primera capa (que generarán el volumen verde) detectan ojos, narices y otras formas básicas (en CNN reales, los filtros de primera capa coincidirán con líneas y texturas muy básicas);
  • Los filtros de la segunda capa (que generarán el volumen amarillo) detectan caras, patas y otros objetos que son agregaciones de los filtros de la primera capa. Nuevamente, esto es solo un ejemplo: los filtros de convolución de la vida real pueden detectar objetos que no tienen significado para los humanos.

Ahora suponga que hay una cara en una de las esquinas de la imagen (representada por dos puntos rojo y magenta). El primer filtro detecta los dos ojos y, por lo tanto, representarán dos activaciones en la primera porción del volumen verde. Lo mismo ocurre con la nariz, excepto que se detecta para el segundo filtro y aparece en el segundo corte. A continuación, el filtro facial encontrará que hay dos ojos y una nariz uno al lado del otro, y genera una activación en el volumen amarillo (dentro de la misma región de la cara en la imagen de entrada). Finalmente, la capa completamente conectada detecta que hay una cara (y tal vez una pierna y un brazo detectados por otros filtros) y muestra que ha detectado un cuerpo humano.

Ahora suponga que la cara se ha movido a otra esquina de la imagen, como se muestra en la Fig. 3:

El mismo número de activaciones ocurre en este ejemplo, sin embargo, ocurren en una región diferente de los volúmenes verde y amarillo. Por lo tanto, cualquier punto de activación en la primera porción del volumen amarillo significa que se detectó una cara, INDEPENDIENTEMENTE de la ubicación de la cara. Luego, la capa completamente conectada es responsable de “traducir” una cara y dos brazos a un cuerpo humano. En ambos ejemplos, se recibió una activación en una de las neuronas completamente conectadas. Sin embargo, en cada ejemplo, la ruta de activación dentro de la capa FC era diferente, lo que significa que la capa FC necesita aprender que una cara puede ocurrir en ambas ubicaciones (es decir, no hay invariancia espacial en estas capas).

Debe notarse que la operación de agrupación solo “comprime” los volúmenes de activación, si no hubiera agrupación en este ejemplo, una activación en la primera porción del volumen amarillo todavía significaría una cara.

En conclusión, lo que hace que una CNN sea invariable para la traducción de objetos es la presencia de filtros de convolución. Además, creo que si un CNN está entrenado mostrando caras solo en una esquina durante el proceso de aprendizaje, la capa completamente conectada puede volverse insensible a las caras en otras esquinas.

Los regímenes de agrupación hacen que el proceso de convolución sea invariable para la traslación, rotación y desplazamiento. La más utilizada es la agrupación máxima. Tomas la activación más alta para propagarse en la región de interés llamada campo receptivo. Incluso las imágenes están relativamente un poco desplazadas, ya que estamos buscando la activación más alta, podemos capturar puntos en común entre las imágenes.

Para la invariancia de escala, que yo sepa, de otra manera que no sea proporcionar diferentes escalas de imágenes a la red o filtros de red aprendidos se podría aplicar a diferentes escalas.

Otro enfoque particular es la red de Hinton que aprende las posibles deformaciones deformantes en las imágenes con unidades de red adicionales. http://www.cs.toronto.edu/~hinto

Las capas convolucionales en las redes neuronales usan los mismos parámetros para cada núcleo pequeño (11 × 11 hasta 3 × 3 de tamaño). Estos pequeños núcleos están convolucionados con volúmenes de entrada del mismo tamaño en secuencia de izquierda a derecha, de arriba a abajo.

Debido a que los núcleos usan los mismos parámetros, independientemente del volumen de entrada de imagen que está procesando, un núcleo que detecta bordes horizontales los detectará en cualquier parte de la imagen. Después de varias convoluciones repetidas, funciones de activación y capas de agrupación, los filtros pueden detectar características más complejas.

Creo que las capas de agrupación actúan como una forma de muestreo descendente, es decir, reducen la resolución de las activaciones en un punto dado de la red. Eso termina aumentando el campo receptivo del par de capas CONV-POOL. Pero la invariancia espacial se debe a que los núcleos convolucionales usan los mismos pesos después de recorrer toda la imagen.

Además de las respuestas ya aquí, el aprendizaje de características en convnets se guía por una señal de error que se propaga hacia atrás en toda la red, desde la capa de salida hasta la capa de entrada.

Cada neurona en una capa particular tiene un pequeño campo receptivo que escanea toda la capa precedente, por lo tanto, en una capa de convenet típica, cada neurona tiene la oportunidad de aprender una característica distinta en una imagen o datos en particular, independientemente del posicionamiento espacial de esa característica, ya que la operación de convolución siempre encontrará esa característica incluso cuando se somete a traducción. Si los campos receptivos no se enredan en toda la imagen o los estímulos, no sería posible que las neuronas de la red conecte esas características equivalentes de traducción.

Además, la serie de capas alternas entre una capa convolucional y de agrupación, en su mayoría de agrupación máxima, ayuda a que el Internet acumule tolerancias a distorsiones severas de los estímulos de entrada. Los campos receptivos efectivos de las neuronas también se hacen más grandes en la jerarquía debido a la operación de agrupación, lo que hace que el contexto del proceso de convnet e integre características en una gran extensión espacial. Esto también los hace muy robustos y capaces de reconocer nuevos estímulos.

Otras formas de invariancias se construyen artificialmente al rotar, reflejar y ampliar los ejemplos de capacitación. Esto se debe a que es importante ver conjuntos de entrenamiento desde diferentes puntos de vista para generalizar mejor.

Espero que esto ayude.

Para ser directo, CNN es una metodología para estudiar las imágenes y sus datos de píxeles.

Una imagen se convierte en una matriz donde cada celda representa un valor. Luego, se aplican filtros para buscar características de una imagen. Las características pueden incluir bordes. Luego, el tamaño de la imagen se reduce agrupando la capa. Después de agrupar la capa, se pasa a través de la función de activación como RELU (unidades lineales rectificadas)

Es una función de activación que decide el valor final de una neurona. Luego aplicamos una capa de abandono para eliminar aleatoriamente algunas neuronas para evitar el sobreajuste.

Luego se aplica una capa densa para conectar todas las neuronas donde cada neurona da una probabilidad de precisión de la imagen.

Es una explicación un poco larga. Puedes visitar aqui

HelloCodings: Redes neuronales convolucionales I

Comience desde el enlace de arriba y siga con cada publicación. Lo han explicado bien

Buena suerte

La respuesta de Eren es correcta para la traducción, pero la agrupación también permite la rotación y la invariancia de escala.

Imagine que tiene un detector para la cara de un perro y ese detector está compuesto por una serie de detectores más pequeños. Podrías imaginar que los detectores más pequeños podrían buscar cosas como las orejas, la nariz y la boca de un perro y el detector de la cara de tu perro se apaga siempre que haya una oreja, nariz y boca en la región del detector. Dado que las características se han agrupado desde niveles más bajos y las piscinas se superponen potencialmente, es posible obtener cierta invariancia rotacional y un alto nivel de invariancia de escala. Efectivamente, no importa dónde vea una característica, siempre que la vea en algún nivel. No creo que puedan obtener una invariancia rotacional completa, pero podría ser incorrecto en eso.

Además de las respuestas anteriores, las ConvNets estándar son invariables solo para las transformaciones que están presentes en los datos de entrenamiento. Sin embargo, hay trabajos que dieron un paso hacia la formación de redes que son inherentemente invariables a transformaciones como la rotación y la traducción, por ejemplo:

1. ScatNet (2013) – red convolucional basada en filtros wavelet, sin ninguna capacitación ( http://www.di.ens.fr/data/public …)

2. Harmonic Net (2016): red que crea capas convolucionales equivalentes basadas en el análisis armónico ( https://arxiv.org/pdf/1612.04642 …)

3. TIGraNet (2017) – transformación profunda isométrica invariante red profunda ( https://arxiv.org/pdf/1703.00356 …)