DCGAN

forkortelse for Deep Convolutional Generative Adversarial Network

En DCGAN er en generativ adversarial netværksarkitektur, der anvender dybe konvolutionelle neurale netværk til både generator og diskriminator.

Kort fortalt

Kort fortalt er DCGAN en type neuralt netværk, der kan generere realistiske billeder ved at lade to konvolutionelle netværk konkurrere mod hinanden.

Kategori
arkitektur
Niveau
øvet
Udtale
diː siː dʒæn

Betydninger

1
  1. 1

    En specifik GAN-arkitektur, hvor både generator og diskriminator er dybe konvolutionelle netværk designet med retningslinjer som f.eks. batch-normalisering, undgåelse af full-connected lag og brug af transponeret konvolution i generatoren.

    • DCGAN-arkitekturen muliggør stabil træning af GAN'er til billedgenerering ved at følge bestemte designprincipper.Original paper (2015)
    • Forskere brugte en DCGAN til at generere realistiske billeder af soveværelser fra et datasæt.

Hvornår bruges det

DCGAN anvendes typisk til billedgenerering og -manipulation som en baseline-model, f.eks. til at skabe syntetiske billeder eller lære repræsentationer uden supervision.

Kodeeksempel

import torch.nn as nn

class Generator(nn.Module):
    def __init__(self, latent_dim):
        super().__init__()
        self.model = nn.Sequential(
            nn.ConvTranspose2d(latent_dim, 512, 4, 1, 0, bias=False),
            nn.BatchNorm2d(512),
            nn.ReLU(True),
            nn.ConvTranspose2d(512, 256, 4, 2, 1, bias=False),
            nn.BatchNorm2d(256),
            nn.ReLU(True),
            nn.ConvTranspose2d(256, 128, 4, 2, 1, bias=False),
            nn.BatchNorm2d(128),
            nn.ReLU(True),
            nn.ConvTranspose2d(128, 3, 4, 2, 1, bias=False),
            nn.Tanh()
        )

    def forward(self, z):
        return self.model(z)

Eksempel på en DCGAN-generator i PyTorch med latent dimension som input og output af billeder med 3 kanaler.

Oprindelse

DCGAN blev introduceret i 2015 af Alec Radford, Luke Metz og Soumith Chintala i artiklen 'Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks'.

Afledte ord

2

Kilder

1