Entre los usos de la convolución 1 × 1, quiero mencionar el enfoque de Red en Red (NiN) de Min Lin en 2014, donde MLPConv Layers, matemáticamente equivalente a las convoluciones NxN clásicas seguidas de convoluciones 1 × 1, reemplaza las capas convolucionales convencionales, por creciente no linealidad, por lo tanto, también la capacidad de la red.
La adición de la capa convolucional 1 × 1 aumenta la capacidad de la red, pero no afecta el tamaño del campo receptivo de la red. El tamaño del campo receptivo juega un papel importante al determinar los rangos de tamaño del objeto que su red puede clasificar, detectar o segmentar.
- ¿Puede el aprendizaje automático realizar un análisis de sentimientos de una palabra clave dada de una conversación?
- ¿Es posible crear un 'ser' inteligente (AI) no una 'máquina'?
- ¿Cómo es la aplicación K-Means de maximización de expectativas en Naive Bayes?
- ¿Alguien usa alguna vez una red neuronal media de capa softmax en lugar de al final?
- ¿Cómo se comparan las bibliotecas de aprendizaje automático de Python con las de Go?
Si observa las capas de inicio en GoogleNet, que es adecuado para clasificar / detectar objetos a diferentes escalas, hay 3 rutas diferentes:
- 5 × 5 granos conv;
- 3 × 3 granos conv;
- 1 × 1 granos de conv.
Todos ellos conducirán a diferentes tamaños de campo receptivo, por lo que se especializarán en detectar características a diferentes escalas. Las capas iniciales son una evolución de las capas MLPConv introducidas en NiN.
Otro uso de la convolución 1 × 1 puede ser la “reducción de dimensionalidad”.
Un ejemplo de esto está en GoogleNet, en su versión con módulos Inception con reducción de dimensionalidad, donde N mapas de características (digamos N = 20) que pertenecen a la “capa anterior” se comprimen en n mapas de características de salida (digamos n = 5) por medio de una capa de convoluciones 1 × 1 (llena de amarillo claro en las siguientes imágenes). Esta técnica se utiliza para mantener pequeño el ancho de la red al tiempo que aumenta su profundidad, incluso si aumenta la no linealidad de la red.
Otro uso es para la “transformación del espacio de color”. AlexNet usaba tradicionalmente PCA para incrustar el espacio de color del conjunto de datos de imágenes en un espacio más pequeño y menos redundante. Sin embargo, en lugar de hacer una PCA, ¿por qué no insertar simplemente una capa convolucional 1 × 1 justo después de la imagen que aprendería la transformación óptima?
Dicho esto, ¡1 × 1 Convolution son súper geniales! ¿Por qué no los pones en todas partes? Bueno, no siempre es una buena idea aumentar la capacidad de la red, el sobreajuste siempre está presente. Además, tienen un costo, generalmente es tiempo de inferencia.