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.