[GAN-1] Learning Note
Basic Idea of GAN
When do we need GAN?
-
Structured Learning
- Machine learning is to find a function f
- Regression: output a scalar
- Classification: class
- Structured learning / prediction: output a sequence or matrix
- Machine learning is to find a function f
-
Applications
- Output sequence: Machine Translation / speech recognition / chat bot
- Output matrix: Image to image (Geo->real) and colorization; Text to Image
- Decision Making and Control: A sequence of decisions (Actions)
-
Why Structured learning challenging?
- One-shot / zero-shot learning: output space is huge that most classes do not have any training data (Classification is induction but structured learning is create)
- Machine has to learn to do planning
Generation
- Conditional Generation
- Generator: Low dimension -> high dimension (Classifier: High -> low)
- Auto-encoder (Decoder is generator) , Variational Auto-encoder (VAE) (Noise)
- Miss what: relation between the components are critical (Output is no related) -> No learn
Discriminator
-
Evaluation function
-
Can Discriminator generate image?
- we only have real image (Positive).
- Need negative examples
- How to generate realistic negative examples? -
General Algorithm
- Collect Train Data
- Parameter is initial parameter