patch-size

Patch-størrelse er et hyperparameter, der angiver de rumlige dimensioner (højde og bredde) af de kvadratiske udsnit, et billede opdeles i, før behandling i en vision transformer eller konvolutionelt neuralt netværk.

Kort fortalt

Patch-størrelse bestemmer, hvor store bidder et billede skæres i, når det skal behandles af en AI-model — jo mindre patches, desto flere detaljer, men også mere beregning.

Kategori
begreb
Niveau
øvet

Betydninger

1
  1. 1

    De rumlige dimensioner (højde og bredde) af et kvadratisk udsnit, som et billede opdeles i. Angives typisk i pixels, f.eks. 16×16.

    • I vision transformeren bruges en patch-størrelse på 16×16 pixels til at opdele billedet i et fast antal tokens.Dosovitskiy et al., 2020
    • En mindre patch-størrelse som 8×8 giver fire gange så mange patches som 16×16, hvilket øger modellens beregningsbehov.

Hvornår bruges det

Patch-størrelse bruges primært i billedbehandling med transformer-modeller (ViT) og i nye CNN-arkitekturer der anvender patch-baseret tokenisering. Den vælges typisk som 16×16 eller 8×8 pixels, afhængigt af billedopløsning og modelskala. En mindre patch-størrelse giver flere tokens og dermed højere præcision, men øger kvadreret beregningsomkostning i self-attention.

Kodeeksempel

import torch
from vit_pytorch import ViT

model = ViT(
    image_size=224,
    patch_size=16,   # <-- patch-size hyperparameter
    num_classes=1000,
    dim=1024,
    depth=6,
    heads=16,
    mlp_dim=2048
)
# Antal patches = (224//16)**2 = 196

Eksempel på, hvordan patch-størrelse specificeres i en ViT-model. Her indstilles patch_size til 16, hvilket giver 196 patches fra et 224×224 billede.

Oprindelse

Udtrykket stammer fra papiret 'An Image is Worth 16x16 Words' (2020), hvor billeder blev opdelt i patches på 16×16 pixels, inspireret af NLP's ordtokens.

Afledte ord

2

Kilder

1
  • An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale