Ya hay algunas respuestas muy buenas aquí. Quiero añadir algunos detalles más sobre el efectos de borde de imagen (que ya se han mencionado) que dependen del tipo de relleno utilizado.
Hay 3 tipos de relleno relevantes en el aprendizaje profundo:
- válido (sin ningún tipo de relleno)
- mismo (mantener el tamaño de la imagen añadiendo ceros alrededor de la imagen - de eso se trata y es lo que la mayoría de las veces se llama "zero padding" en el contexto del aprendizaje profundo)
- completo (asegúrese de que todos los píxeles tienen la misma influencia en la salida, incluso se añaden más ceros alrededor de la imagen, la salida es mayor que la entrada)
Aquí hay un esquema de cómo funcionan estos 3 tipos de relleno, con x la entrada de tamaño 3, k el núcleo de tamaño 3 (que se desplaza a todas las ubicaciones posibles), y la salida y 0 indica un relleno cero:
valid:
xxx
kkk
y
same:
0xxx0
kkk
kkk
kkk
yyy
full:
00xxx00
kkk
kkk
kkk
kkk
kkk
yyyyy
Veamos la influencia (la frecuencia con la que el núcleo "toca" el píxel) que tiene un píxel de una imagen de entrada de 10x10 que es procesada por un núcleo de convolución de 3x3 en la salida (izquierda mismo , derecha válido acolchado):
Como puede ver, con mismo el acolchado los píxeles del borde tienen menos influencia que los píxeles centrales, por lo que no es cierto que mismo El acolchado elimina por completo los efectos de frontera (como se puede leer a veces en Internet). Para válido acolchado, este problema es aún más grave. Con completo por el contrario, todos los píxeles tienen la misma influencia en la salida.
A medida que la red se hace más profunda, el problema se intensifica, tanto para válido y mismo acolchado.
He resumido mi hallazgo en los experimentos de acolchado Lo hice, y aquí hay una interesante papel sobre este tema.