reparameterization trick

En teknik til at omparametrisere stokastiske variable, så gradienter kan estimeres ved backpropagation i neurale netværk.

Kort fortalt

Kort fortalt: en metode til at gøre stokastiske processer differentiable, så vi kan træne modeller som variational autoencoders med gradient descent.

Kategori
teknik
Niveau
ekspert
Udtale
/ˈriːpærəmətaɪˈzeɪʃən trɪk/

Betydninger

1
  1. 1

    En teknik, hvor en stokastisk variabel z ~ q_φ(z|x) omparametriseres til en deterministisk funktion af en støjvariabel ε, så gradienter af en tabelsfunktion med hensyn til φ kan estimeres ved at sample ε og anvende backpropagation gennem deterministiske operationer.

    • Ved brug af reparameterization trick kan VAE-encoderens output μ og σ bruges til at generere samples z = μ + σ * ε, hvilket gør gradientflow muligt gennem samplingen.Kingma & Welling, 2013
    • Reparameterization trick er essentielt for at kunne træne VAE'er med backpropagation, da det erstatter den ikke-differentiable sampling med en differentiabel transformation.Rezende et al., 2014

Hvornår bruges det

Reparameterization trick anvendes primært i variational autoencoders (VAE) og andre modeller med latente variable for at overvinde problemet med at differentiere gennem stokastiske samplingoperationer. Det muliggør effektiv træning ved at optimere variational lower bound (ELBO) med standard optimeringsalgoritmer som SGD.

Formel

z = μ + σ * ε, ε ~ N(0, I)

Kodeeksempel

def reparameterize(mu, logvar):
    std = torch.exp(0.5 * logvar)
    eps = torch.randn_like(std)
    return mu + eps * std

Eksempel på reparameterization trick i PyTorch til sampling fra en Gaussisk latent variabel.

Oprindelse

Begrebet blev introduceret af Kingma & Welling (2013) og uafhængigt af Rezende et al. (2014) i forbindelse med variational autoencoders.

Kilder

2