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. 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. 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

1

Kilder

2
  • Generative Adversarial Nets
  • Auto-Encoding Variational Bayes