Echemos un vistazo a esto:
Este pequeño cuadrado (resaltado en rojo):
- ¿Deberíamos preocuparnos de que las personas reciban microchips en masa en el futuro cercano?
- ¿Qué tipos de trabajos de programación serían los más difíciles de automatizar por AI?
- ¿Cómo pueden algunos metales y otros materiales fabricar IA? Cómo se ve?
- ¿Hay libros sobre reconocimiento de patrones por lógica y lingüística en lugar de estadísticas y matemáticas?
- Cómo ajustar mejor la tasa de aprendizaje de acuerdo con el conjunto de datos en una red neuronal profunda
eso hace que la operación de convolución se llame kernel o filter . En general, cuando la gente dice que la CNN tiene una capa convolucional de 3 × 3 o 5 × 5, significa que este cuadrado es 3 × 3 o 5 × 5 (en píxeles).
A continuación, esta pequeña salida (resaltada en un cuadrado):
Es un valor único , calculado a partir del operador de convolución aplicado en la entrada. Entonces, a medida que desliza el núcleo sobre la entrada , produce el mapa de salida (función). Un mapa de características es simplemente el producto de un operador de convolución sobre la entrada.
Y como puede ver, hay 4 mapas en las imágenes anteriores, por lo tanto, el número de canales de salida es 4. En una CNN, el mapa de características y el canal pueden verse como equivalentes (canal era un término muy antiguo tomado del procesamiento de imágenes).
Por supuesto, necesita 4 conjuntos de núcleos para producir 4 mapas / canales. En el primer diagrama, solo se muestra un núcleo, pero debe comprender que hay un total de 4 núcleos para producir una salida de 4 canales, y los 4 núcleos generalmente también tienen valores diferentes (de lo contrario, no tendría sentido calcular más de 1 de ellos).
El siguiente es el paso . Si comprende la convolución, puede ver que funciona moviendo el núcleo sobre la imagen, cada vez que se mueve, se calcula el producto de punto entre el núcleo y la entrada subyacente. Stride es el paso que mueve el núcleo. Si elijo stride = 1, significa que muevo el núcleo un píxel a la vez (horizontalmente y luego verticalmente). Por ejemplo, deje que la entrada sea 4 × 4, el tamaño del núcleo sea 1 × 1, zancada = 1, luego la convolución se realizará 4 × 4 = 16 veces. Pero si stride = 2, entonces la convolución solo se realizará 2 × 2 = 4 veces.
El último es el relleno . La mayoría de los granos tienen un tamaño de 3 × 3. Pero si aplica esto en una imagen de 10 × 10, producirá una salida de tamaño 8 × 8. Básicamente, un núcleo SxS con paso 1 reducirá el tamaño de la entrada de WxH a (W-S + 1) x (H-S + 1). El relleno es el proceso de agregar valores fuera de la entrada para que el tamaño de la salida sea el mismo que el de la entrada original (puede ser diferente de la entrada pero generalmente lo elegimos para que el tamaño siga siendo el mismo). Por ejemplo, si relleno una imagen de 10 × 10 a 12 × 12 y luego aplico un núcleo de 3 × 3, ¡la salida será 10 × 10!
¿Cómo rellenamos? ¿Qué rellenamos?
En general, rellenamos una entrada de esto:
a esto:
Se llama relleno cero porque rellené el borde de la entrada con ceros. ¡El tamaño de la almohadilla aquí es 1, si elijo el tamaño de la almohadilla = 2, el número de ceros crecería dos veces! Lo adivinas
También hay otros métodos de relleno, como simétrico, más cercano (replicar), debe verificarlos.