generator
En generator er en neural netværkskomponent der genererer nye data (f.eks. billeder, tekst) fra en latent repræsentation.
Kort fortalt
En generator er den del af en AI-model der selv skaber nye data, som om den var en kunstner der maler billeder fra en idé.
- Kategori
- model
- Niveau
- øvet
Betydninger
2- 1
I generative adversarial networks (GAN) er generatoren det netværk der forsøger at skabe falske data der ligner de trænede data, så de kan narre diskriminatoren.
- Generatoren i en GAN trænes til at minimere sandsynligheden for at diskriminatoren kan identificere dens output som falsk. — Generative Adversarial Nets, Goodfellow et al., 2014
- 2
I generative modeller generelt (f.eks. VAE, autoregressive modeller) er generatoren den del der dekoderer en latent repræsentation til outputdata.
- I en VAE består generatoren af en dekoder der mapper en latent kode til et billede. — Auto-Encoding Variational Bayes, Kingma & Welling, 2013
Hvornår bruges det
Bruges primært i generative modeller som GAN'er og VAE'er til at producere realistiske samples. I GAN'er konkurrerer generatoren med en diskriminator for at blive bedre til at forfalske data.
Kodeeksempel
class Generator(nn.Module):
def __init__(self, latent_dim, img_shape):
super().__init__()
self.model = nn.Sequential(
nn.Linear(latent_dim, 128),
nn.ReLU(),
nn.Linear(128, 256),
nn.ReLU(),
nn.Linear(256, int(img_shape[0]*img_shape[1]*img_shape[2])),
nn.Tanh()
)
def forward(self, z):
img = self.model(z)
return img.view(img.size(0), *img_shape)En simpel generator i en GAN, der mapper en latent vektor til et fladt billede.
Oprindelse
Fra latin 'generare' (at frembringe). Bruges i datalogi om komponenter der genererer output.
Afledte ord
1Kilder
2- Generative Adversarial Nets
- Auto-Encoding Variational Bayes