¿Cuál es la diferencia entre los términos "núcleo" y "filtro" en el contexto de las redes neuronales convolucionales?
37
¿Cuál es la diferencia entre los términos "núcleo" y "filtro" en el contexto de las redes neuronales convolucionales?
Respuestas:
En el contexto de redes neuronales convolucionales, kernel = filter = feature detector.
Aquí hay una gran ilustración del tutorial de aprendizaje profundo de Stanford (también bien explicado por Denny Britz ).
El filtro es la ventana deslizante amarilla, y su valor es:
fuente
Un mapa de características es el mismo como un filtro o "núcleo" en este contexto particular. Los pesos del filtro determinan lo que se detectan características específicas.
Entonces, por ejemplo, Franck ha proporcionado una gran visual. Observe que su filtro / detector de características tiene x1 a lo largo de los elementos diagonales y x0 a lo largo de todos los demás elementos. Esta ponderación del núcleo detectaría píxeles en la imagen que tienen un valor de 1 a lo largo de las diagonales de la imagen.
Observe que la característica enrevesada resultante muestra valores de 4 donde la imagen tiene un "1" a lo largo de los valores diagonales del filtro 3x3 (detectando así el filtro en esa sección específica de 3x3 de la imagen), y valores más bajos de 2 en las áreas de la imagen donde ese filtro no coincidía tan fuertemente.
fuente
Actualmente hay un problema con la nomenclatura en este campo. ¡Hay muchos términos que describen lo mismo e incluso términos usados indistintamente para diferentes conceptos! Tome como ejemplo la terminología utilizada para describir la salida de una capa de convolución: mapas de características, canales, activaciones, tensores, planos, etc.
Basado en wikipedia, "En el procesamiento de imágenes, un núcleo es una matriz pequeña".
Basado en wikipedia, "Una matriz es una matriz rectangular dispuesta en filas y columnas".
Bueno, no puedo argumentar que esta es la mejor terminología, pero es mejor que simplemente usar los términos "núcleo" y "filtro" indistintamente. Además, necesitamos una palabra para describir el concepto de las distintas matrices 2D que forman un filtro.
fuente
Las respuestas existentes son excelentes y responden integralmente a la pregunta. Solo quiero agregar que los filtros en las redes convolucionales se comparten en toda la imagen (es decir, la entrada está enrevesada con el filtro, como se visualiza en la respuesta de Franck). El campo receptivo de una neurona particular son todas las unidades de entrada que afectan a la neurona en cuestión. El campo receptivo de una neurona en una red convolucional es generalmente más pequeño que el campo receptivo de una neurona en una red densa por cortesía de los filtros compartidos (también llamado intercambio de parámetros ).
Parámetro compartir confiere un cierto beneficio en CNNs, es decir, una propiedad denominada equivariance a la traducción . Esto quiere decir que si la entrada es perturbado o traducido, la salida también se modifica de la misma manera. Ian Goodfellow ofrece un gran ejemplo en el libro de aprendizaje profundo sobre cómo los profesionales pueden capitalizar en equivariance CNNs:
fuente