DCGAN-diskriminator
DCGAN-diskriminator er det neurale netværk i en DCGAN, der klassificerer inputbilleder som ægte eller falske ved hjælp af konvolutionelle lag, batch-normalisering og Leaky ReLU-aktivering.
Kort fortalt
En DCGAN-diskriminator er en billedklassifikator, der lærer at skelne mellem rigtige og genererede billeder.
- Kategori
- arkitektur
- Niveau
- øvet
Betydninger
1- 1
Det konvolutionelle neurale netværk i en DCGAN, der har til opgave at klassificere billeder som ægte (fra datasættet) eller falske (genereret af GAN'ens generator).
- DCGAN-diskriminatoren anvender konvolutionelle lag uden pooling, i stedet benyttes stride convolution til nedskalering. — Radford et al., Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks, 2015
- Leaky ReLU-aktivering anvendes i DCGAN-diskriminatoren for at undgå døende neuroner. — Radford et al., Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks, 2015
Hvornår bruges det
DCGAN-diskriminatoren bruges som modspiller til generatoren i en DCGAN. Under træning opdateres den for at forbedre evnen til at detektere falske billeder, hvilket driver generatoren til at skabe mere realistiske billeder.
Kodeeksempel
class DCGANDiscriminator(nn.Module):
def __init__(self):
super().__init__()
self.main = nn.Sequential(
nn.Conv2d(3, 64, 4, 2, 1, bias=False),
nn.LeakyReLU(0.2, inplace=True),
nn.Conv2d(64, 128, 4, 2, 1, bias=False),
nn.BatchNorm2d(128),
nn.LeakyReLU(0.2, inplace=True),
nn.Conv2d(128, 256, 4, 2, 1, bias=False),
nn.BatchNorm2d(256),
nn.LeakyReLU(0.2, inplace=True),
nn.Conv2d(256, 1, 4, 1, 0, bias=False),
nn.Sigmoid()
)
def forward(self, x):
return self.main(x).view(-1, 1).squeeze(1)Eksempel på en DCGAN-diskriminator implementeret i PyTorch.
Oprindelse
DCGAN står for Deep Convolutional Generative Adversarial Network. Diskriminator er den del af netværket, der adskiller ægte fra genererede data.
Afledte ord
2Kilder
1- Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks