Sobes.tech
Junior — Senior

Cosa sono stride e padding? Come influenzano la dimensione dell'output della convoluzione?

sobes.tech AI

Risposta dell'AI

Stride (passo di convoluzione) — è un parametro che determina di quanti pixel (o elementi) il filtro di convoluzione si sposta sull'immagine di input ad ogni applicazione. Ad esempio, stride=1 significa che il filtro si sposta di 1 pixel, stride=2 — di 2 pixel, ecc.

Padding (riempimento) — è l'aggiunta di pixel extra (di solito zeri) ai bordi dell'immagine di input prima di applicare la convoluzione. Questo viene fatto per controllare la dimensione dell'output e preservare le informazioni ai bordi.

Influenza sulla dimensione dell'output:

  • Con uno stride maggiore, la dimensione dell'output diminuisce, poiché il filtro salta più posizioni.
  • Padding aumenta la dimensione dell'input, permettendo di mantenere o aumentare la dimensione dell'output.

Formula per calcolare la dimensione dell'output (per una dimensione):

Output = floor((Input + 2 * Padding - KernelSize) / Stride) + 1

Dove:

  • Input — dimensione dell'immagine di input in quella dimensione
  • KernelSize — dimensione del filtro
  • Padding — numero di pixel aggiunti su ogni lato
  • Stride — passo dello spostamento del filtro

Ad esempio, per input 7, kernel=3, padding=1, stride=1: Output = floor((7 + 2*1 - 3)/1) + 1 = floor(7) + 1 = 7

In altre parole, la dimensione dell'output si mantiene.