Sobes.tech
Junior — Senior

Qu'est-ce que le stride et le padding ? Comment influencent-ils la taille de la sortie de la convolution ?

sobes.tech IA

Réponse de l'IA

Stride (pas de convolution) — c'est un paramètre qui détermine de combien de pixels (ou éléments) le filtre de convolution se déplace sur l'image d'entrée à chaque application. Par exemple, stride=1 signifie que le filtre se déplace d'1 pixel, stride=2 — de 2 pixels, etc.

Padding (remplissage) — consiste à ajouter des pixels supplémentaires (généralement des zéros) sur les bords de l'image d'entrée avant d'appliquer la convolution. Cela permet de contrôler la taille de la sortie et de préserver l'information en bordure.

Influence sur la taille de la sortie:

  • Avec un stride plus grand, la taille de la sortie diminue, car le filtre passe par plus de positions.
  • Padding augmente la taille de l'entrée, permettant de conserver ou d'augmenter la taille de la sortie.

Formule pour calculer la taille de la sortie (pour une dimension):

Sortie = floor((Entrée + 2 * Padding - KernelSize) / Stride) + 1

Où:

  • Entrée — taille de l'image d'entrée dans cette dimension
  • KernelSize — taille du filtre
  • Padding — nombre de pixels ajoutés de chaque côté
  • Stride — pas de déplacement du filtre

Par exemple, pour une entrée de 7, kernel=3, padding=1, stride=1: Sortie = floor((7 + 2*1 - 3)/1) + 1 = floor(7) + 1 = 7

Autrement dit, la taille de la sortie est conservée.