La capa convolucional es el pilar central de una CNN, y es donde ocurre la mayor parte del cálculo. Requiere algunos componentes, que son datos de entrada, un filtro y un mapa de características. Supongamos que la entrada será una imagen en color, que se compone de una matriz de píxeles en 3D. Esto significa que la entrada tendrá tres dimensiones (altura, ancho y profundidad) que corresponden a RGB en una imagen. También hay un detector de características, conocido como kernel o filtro, que se moverá a través de los campos receptivos de la imagen, verificando si la característica está presente. Este proceso se conoce como convolución.
El detector de características es una matriz bidimensional (2-D) de pesos, que representa parte de la imagen. Aunque esto puede variar, el tamaño del filtro suele ser una matriz 3 x 3; esto también determina el tamaño del campo receptivo. Luego, el filtro se aplica a un área de la imagen y se calcula un producto de punto entre los píxeles de entrada y el filtro. Este producto de punto se introduce entonces en una matriz de salida. Después, el filtro cambia a pasos agigantados, repitiendo el proceso hasta que el kernel ha barrido toda la imagen. El resultado final de la serie de productos de puntos de la entrada y el filtro se conoce como mapa de características, mapa de activación o característica convolucionada.
Tenga en cuenta que los pesos en el detector de características permanecen fijos a medida que se mueve por la imagen, lo que también se conoce como intercambio de parámetros. Algunos parámetros, como los valores de peso, se ajustan durante el entrenamiento a través del proceso de retropropagación y descenso de gradiente. Sin embargo, hay tres hiperparámetros que afectan el tamaño del volumen de la salida y que deben establecerse antes de que comience el entrenamiento de la red neuronal. Estos incluyen:
1. El número de filtros afecta la profundidad de la salida. Por ejemplo, tres filtros distintos producirían tres mapas de características diferentes, creando una profundidad de tres.
2. Stride es la distancia, o número de píxeles, que el núcleo se desplaza sobre la matriz de entrada. Aunque los valores de stride iguales o superiores a dos son poco frecuentes, un stride mayor produce una salida menor.
3. El zero-padding se usa generalmente cuando los filtros no se ajustan a la imagen de entrada. De este modo, todos los elementos que quedan fuera de la matriz de entrada se ponen en cero, lo que produce una salida mayor o del mismo tamaño. Hay tres tipos de relleno:
- Relleno válido: Esto también se conoce como "sin relleno". En este caso, la última convolución se descarta si las dimensiones no se alinean.
- Mismo relleno: este relleno garantiza que la capa de salida tenga el mismo tamaño que la capa de entrada.
- Relleno completo: este tipo de relleno aumenta el tamaño de la salida al agregar ceros al borde de la entrada.
Después de cada operación de convolución, una CNN aplica una transformación de Unidad lineal rectificada (ReLu) al mapa de características, introduciendo la no linealidad en el modelo.