GAN Genrative Adversial Networks

Network

Training

What is it?

Made by 2 network

one against other

AIM to create realistic data

Generative models

reproduce a probability distribution through a statistical model

the model is unknown

Generator

discriminator

performs a mapping to data space from a prior input variable

root of generator (white noise distribution) random variable

binary classifier that output a single scalar

distinguish true and fake

Learning

we are interested in the generator

At the end we scartiamo questo

competitive (non cooperative) two-player game

Discriminator distinguish true from fake

Generator try to trick discriminator

Converges when it's reached the Nash-Equilibrium between the two

Set up

topologies defined a priori

definition of random source

dimensionality of root of generator

variata and quality of training data influences performance

minimax optimization of the loss function

Generator

Discriminator

data reconstruction from the root

create images

z as input (sampled noise)

low resolution version

up sampling

deconvolution

output image has an increased number of pixel respect the input one

inverse (transposed) convolution

direct convolution

non si considera zero-padding

with zero padding

flattening the input allows to reframe a consistent matrix multiplication

inter pixel padding

fractional striped convolution

feed forward multilayer network

synthesize the input data into a final class two output

tries to fool the discriminator

min max game formulation

zero sum game

min max strategy

gradient based error back propagation

D tries to D[G(z)]=0

G tries to D[G(z)]=1

at end

D has 50% of probability to distinguish fake from true

G is take and use alone