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
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 * stdEksempel 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- Auto-Encoding Variational Bayes
- Stochastic Gradient VB and the Variational Auto-Encoder