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:
- ¿Cuáles son algunos de los problemas de aprendizaje automático (nivel introductorio) que un estudiante de economía puede modelar con los datos disponibles para una tesis de licenciatura?
- ¿Dónde están los temas interesantes que se cruzan con la neurociencia y el aprendizaje automático?
- ¿Qué pasos de procesamiento previo recomendaría para un aprendizaje automático exitoso en un conjunto de datos MNIST?
- ¿Puedes explicar el hashing de características de una manera fácil de entender?
- ¿Cuál es la diferencia entre el aprendizaje probabilístico y el aprendizaje no probabilístico para diferentes situaciones? ¿Cuándo es uno más apropiado que el otro?
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.