β-VAE
forkortelse for Beta Variational Autoencoder
β-VAE er en variant af variational autoencoder (VAE), der introducerer en vægtningsparameter β for at kontrollere graden af disentanglement i den latente repræsentation.
Kort fortalt
En VAE med en justerbar knap (β) der gør at modellen lærer mere uafhængige og fortolkelige latente træk.
- Kategori
- model
- Niveau
- øvet
Betydninger
1- 1
En variational autoencoder med en modificeret nedre grænse (ELBO) der skalerer KL-divergensen med en faktor β, hvilket fremmer uafhængighed mellem latente variable.
- β-VAE med β=4 opnåede betydeligt bedre disentanglement på dSprites-datasættet. — Higgins et al., 2017
Hvornår bruges det
β-VAE bruges primært til at lære disentangled repræsentationer, fx i billedgenerering (som ansigter eller objekter) hvor man ønsker separate latente dimensioner for fx form, farve og størrelse.
Formel
L(θ, φ; x, z, β) = -E_{q_φ(z|x)}[log p_θ(x|z)] + β·KL(q_φ(z|x) || p(z))Kodeeksempel
def beta_vae_loss(recon_x, x, mu, logvar, beta):
BCE = F.binary_cross_entropy(recon_x, x.view(-1, 784), reduction='sum')
KLD = -0.5 * torch.sum(1 + logvar - mu.pow(2) - logvar.exp())
return BCE + beta * KLDEksempel på β-VAE-tabsfunktion i PyTorch; β styrer vægtningen af KL-divergensen.
Oprindelse
Begrebet kommer fra Higgins et al. (2017) hvor β opstår som en vægtning af KL-divergensen i VAE's tabelfunktion.
Kilder
1- β-VAE: Learning Basic Visual Concepts with a Constrained Variational Framework