latent space interpolation

Teknik hvor man gradvist skifter mellem to punkter i et latent rum for at skabe nye, meningsfulde output.

Kort fortalt

Man finder mellemvejen mellem to latente repræsentationer og skaber nye eksempler undervejs.

Kategori
teknik
Niveau
øvet
Udtale
/ˈleɪtənt speɪs ˌɪntərpəˈleɪʃən/

Betydninger

1
  1. 1

    En metode hvor man vælger to punkter i et latent rum og genererer en sekvens af punkter langs en sti mellem dem. Den resulterende sekvens dekodes til nye output, der ofte udviser glidende overgange i de semantiske træk.

    • Ved at interpolere mellem de latente repræsentationer af en kat og en hund kan man generere billeder, der gradvist ændrer sig fra kat til hund.Eksempel baseret på generel viden
    • Lineær interpolation i latent rummet af en VAE kan føre til ujævne overgange, mens sfærisk interpolation (slerp) giver mere naturlige resultater i normaliserede rum.

Hvornår bruges det

Bruges ofte i generative modeller som GAN'er og VAE'er til at udforske latente strukturer, skabe overgange mellem kategorier eller generere nye varianter. Interpolationen kan være lineær eller ikke-lineær (f.eks. sfærisk) afhængigt af det latente rums geometri.

Kodeeksempel

import numpy as np

def linear_interpolate(z1, z2, steps=10):
    alphas = np.linspace(0, 1, steps)
    return [(1 - a) * z1 + a * z2 for a in alphas]

# Eksempel: z1 og z2 er latente vektorer
# interpolerede = linear_interpolate(z1, z2)
# for z in interpolerede: billede = decoder(z)

Simpel lineær interpolation i latent rum. Funktionen genererer en liste af punkter mellem z1 og z2.

Oprindelse

Fra engelsk 'latent space' (latent rum) og 'interpolation' (interpolation).

Afledte ord

3

Kilder

2
  • Generative Adversarial Nets (Goodfellow et al., 2014)
  • Auto-Encoding Variational Bayes (Kingma & Welling, 2013)