Práctica de AA: Clasificación de imágenes

Presentamos las redes neuronales convolucionales

Un avance en la compilación de modelos para la clasificación de imágenes implicó el descubrimiento de que se podría usar una red neuronal convolucional (CNN) a fin de extraer progresivamente las representaciones de nivel superior y superior del contenido de la imagen. En lugar de procesar previamente los datos para derivar atributos como texturas y formas, una CNN toma solo los datos de píxeles sin procesar de la imagen como entrada y aprende cómo extraer estos atributos y, en última instancia, inferir qué objeto constituyen.

Para comenzar, la CNN recibe un mapa de atributos de entrada: una matriz tridimensional en la que el tamaño de las dos primeras dimensiones corresponde a la longitud y el ancho de las imágenes en píxeles. El tamaño de la tercera dimensión es 3 (corresponde a los 3 canales de una imagen en color: rojo, verde y azul). La CNN consta de una pila de módulos, cada una de las cuales realiza tres operaciones.

1. Convolución

Una convolución extrae mosaicos del mapa de atributos de entrada y les aplica filtros para calcular nuevos atributos, lo que produce un mapa de atributos de salida o un atributo convolucionado (que puede tener un tamaño y profundidad diferentes que el mapa de atributos de entrada). Las convoluciones se definen mediante dos parámetros:

  • Tamaño de los mosaicos que se extraen (por lo general, 3×3 o 5×5 píxeles).
  • La profundidad del mapa de atributos de salida, que corresponde a la cantidad de filtros que se aplican.

Durante una convolución, los filtros (matrices del mismo tamaño que el de los mosaicos) se deslizan eficazmente sobre la cuadrícula del mapa de atributos de entrada de forma horizontal y vertical, un píxel a la vez, y extraen cada mosaico correspondiente (consulta la Figura 3).

Una convolución de 3×3 sobre un mapa de atributos de 4×4 Figura 3: Una convolución de 3×3 de profundidad 1 realizada en un mapa de atributos de entrada de 5×5, también de profundidad 1. Hay nueve ubicaciones posibles de 3×3 para extraer mosaicos del mapa de atributos de 5×5, por lo que esta convolución produce un mapa de atributos de salida de 3×3.

Para cada par de filtro y mosaico, la CNN realiza una multiplicación de la matriz del filtro y de la matriz de mosaicos a nivel de los elementos y, luego, suma todos los elementos de la matriz resultante para obtener un valor único. Cada uno de estos valores resultantes para cada par de filtro y mosaico se genera en la matriz de atributos convolucionados (ver Figuras 4a y 4b).

Un mapa de atributos de 5×5 y una convolución de 3×3 Figura 4a. A la izquierda: Un mapa de atributos de entrada de 5×5 (profundidad 1). A la derecha: Una convolución de 3×3 (profundidad 1).

Figura 4b. A la izquierda: La convolución de 3×3 se realiza en el mapa de atributos de entrada de 5×5. A la derecha: El atributo convolucionado resultante. Haz clic en un valor del mapa de atributos de salida para ver cómo se calculó.

Durante el entrenamiento, la CNN aprende los valores óptimos para las matrices de filtros que le permiten extraer atributos significativos (texturas, bordes, formas) del mapa de atributos de entrada. A medida que aumenta la cantidad de filtros (profundidad en el mapa de atributos de salida) que se aplica a la entrada, también aumenta la cantidad de atributos que la CNN puede extraer. Sin embargo, la compensación es que los filtros conforman la mayoría de los recursos que usa la CNN, por lo que el tiempo de entrenamiento también aumenta a medida que se agregan más filtros. Además, cada filtro agregado a la red proporciona un valor incremental menor que el anterior, por lo que los ingenieros tienen como objetivo construir redes que usen la cantidad mínima de filtros necesarios para extraer los atributos necesarios a fin de obtener una clasificación de imágenes precisa.

2. ReLU

Después de cada operación de convolución, la CNN aplica una transformación de unidad lineal rectificada (ReLU) al atributo convolucionado, a fin de introducir una no linealidad en el modelo. La función ReLU, \(F(x)=max(0,x)\), muestra x para todos los valores de x > 0 y 0 para todos los valores de x ≤ 0.

3. Reducción

Después de la ReLU, viene un paso de reducción, en el que la CNN reduce el atributo convolucionado (para ahorrar tiempo de procesamiento), lo que reduce la cantidad de dimensiones del mapa de atributos, a la vez que se conserva la información más importante de los atributos. Un algoritmo común que se usa para este proceso se denomina reducción máxima.

La reducción máxima funciona de manera similar a la convolución. Deslizamos el mapa de atributos y extraemos mosaicos de un tamaño específico. Para cada mosaico, el valor máximo se envía a un nuevo mapa de atributos y se descartan todos los demás valores. Las operaciones de reducción máxima toman dos parámetros:

  • Tamaño del filtro de reducción máxima (generalmente 2×2 píxeles)
  • Segmento: La distancia, en píxeles, que separa cada mosaico extraído. A diferencia de la convolución, en la que los filtros se deslizan sobre el mapa de atributos píxel por píxel, en la reducción máxima, el segmento determina la ubicación de donde se extrae cada mosaico. Para un filtro de 2×2, un segmento de 2 especifica que la operación de reducción máxima extraerá del mapa de atributos todos los mosaicos de 2×2 que no se superpongan (consulta la Figura 5).

Animación de reducción máxima en un mapa de atributos de 4×4 con un filtro de 2×2 y un segmento de
2

Figura 5: A la izquierda: La reducción máxima realizada en un mapa de atributos de 4×4 con un filtro de 2×2 y un segmento de 2. A la derecha: El resultado de la operación de reducción máxima. Ten en cuenta que el mapa de atributos resultante ahora es de 2×2, lo que preserva solo los valores máximos de cada mosaico.

Capas totalmente conectadas

Al final de una red neuronal convolucional, hay una o más capas totalmente conectadas (cuando dos capas están "completamente conectadas", cada nodo de la primera capa está conectado a cada nodo de la segunda capa). Su trabajo es realizar una clasificación basada en los atributos extraídos por las convoluciones. Por lo general, la capa final completamente conectada contiene una función de activación softmax, que genera un valor de probabilidad de 0 a 1 para cada una de las etiquetas de clasificación que el modelo intenta predecir.

En la figura 6, se muestra la estructura integral de una red neuronal convolucional.

Diagrama de extremo a extremo de una red neuronal convolucional, que muestra la entrada, dos módulos de convolución y dos capas completamente conectadas para la clasificación

Figura 6: La CNN que se muestra aquí contiene dos módulos convolucionales (convolución + ReLU + reducción) para la extracción de atributos y dos capas completamente conectadas para la clasificación. Otras CNN pueden contener más o menos módulos convolucionales y capas más o menos conectadas por completo. A menudo, los ingenieros experimentan a fin de determinar la configuración que produce los mejores resultados para su modelo.