DCGAN-generator

DCGAN-generatoren er den del af et Deep Convolutional GAN, der genererer syntetiske billeder ved hjælp af transponerede convolutionelle lag.

Kort fortalt

En DCGAN-generator er et neuralt netværk, der laver falske billeder fra tilfældig støj, ofte brugt til at træne generative modeller.

Kategori
arkitektur
Niveau
øvet

Betydninger

1
  1. 1

    Det neurale netværk i et Deep Convolutional Generative Adversarial Network, der transformerer en latent vektor til et syntetisk billede ved hjælp af en sekvens af transponerede convolutionelle lag, batch-normalisering og aktiveringsfunktioner som ReLU.

    • DCGAN-generatoren tager en tilfældig støjvektor som input og producerer et 64x64 RGB-billede.Radford et al., 2015
    • I træningsprocessen lærer DCGAN-generatoren at generere stadig mere realistiske billeder for at narre diskriminatoren.Radford et al., 2015

Hvornår bruges det

DCGAN-generatoren anvendes i forbindelse med træning af generative adversarial networks, hvor den konkurrerer med en diskriminator. Den bruges typisk til billedgenereringsopgaver, hvor den lærer at producere realistiske billeder fra en latent vektor.

Kodeeksempel

import torch.nn as nn

class DCGANGenerator(nn.Module):
    def __init__(self, latent_dim=100, feature_maps=64, channels=3):
        super().__init__()
        self.main = nn.Sequential(
            nn.ConvTranspose2d(latent_dim, feature_maps*8, 4, 1, 0, bias=False),
            nn.BatchNorm2d(feature_maps*8),
            nn.ReLU(True),
            nn.ConvTranspose2d(feature_maps*8, feature_maps*4, 4, 2, 1, bias=False),
            nn.BatchNorm2d(feature_maps*4),
            nn.ReLU(True),
            nn.ConvTranspose2d(feature_maps*4, feature_maps*2, 4, 2, 1, bias=False),
            nn.BatchNorm2d(feature_maps*2),
            nn.ReLU(True),
            nn.ConvTranspose2d(feature_maps*2, feature_maps, 4, 2, 1, bias=False),
            nn.BatchNorm2d(feature_maps),
            nn.ReLU(True),
            nn.ConvTranspose2d(feature_maps, channels, 4, 2, 1, bias=False),
            nn.Tanh()
        )
    def forward(self, z):
        return self.main(z)

En PyTorch-implementering af en DCGAN-generator, der opskalerer en latent vektor til et billede.

Oprindelse

Termen stammer fra artiklen 'Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks' af Radford et al. (2015), der introducerede DCGAN-arkitekturen.

Afledte ord

1

Kilder

1
  • Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks