1Una convolución desliza un filtro chico (por ejemplo, de 3 × 3) por toda la imagen y en cada posición suma los productos entre el filtro y los píxeles que tiene debajo. El resultado, el mapa de activación, marca dónde aparece el patrón del filtro; el filtro Sobel, por ejemplo, encuentra los bordes.
2El lado de la salida es ⌊(n + 2p − k) / s⌋ + 1: el padding (un marco de ceros) conserva el tamaño y el stride (el salto de la ventana) lo achica.
3El pooling resume cada bloque de 2 × 2 con su máximo o su promedio: achica los mapas a la cuarta parte y da algo de tolerancia a movimientos pequeños.
4Una convolución comparte el mismo filtro en toda la imagen: tiene muchísimos menos parámetros que una capa densa y reconoce un patrón en cualquier lugar. Con el mismo número de parámetros, una CNN clasificó FashionMNIST mejor que un MLP (87,4 % contra 83,5 % en la teoría).
5Los filtros de una CNN no los escribe nadie: se aprenden con el descenso de gradiente, y los de la primera capa suelen parecerse a detectores de bordes.
6La aumentación de datos (voltear, recortar corrido, agregar ruido, con torchvision.transforms) crea versiones nuevas de cada imagen de entrenamiento y ayuda a no sobreajustar, siempre que no cambie la respuesta correcta.