stem/AI/Neural Networks/CNN/GAN/DC-GAN.md
andy 8f0b604256 vault backup: 2023-05-26 18:29:17
Affected files:
.obsidian/graph.json
.obsidian/workspace-mobile.json
.obsidian/workspace.json
STEM/AI/Neural Networks/Activation Functions.md
STEM/AI/Neural Networks/CNN/CNN.md
STEM/AI/Neural Networks/CNN/Convolutional Layer.md
STEM/AI/Neural Networks/CNN/Examples.md
STEM/AI/Neural Networks/CNN/GAN/CycleGAN.md
STEM/AI/Neural Networks/CNN/GAN/DC-GAN.md
STEM/AI/Neural Networks/CNN/GAN/GAN.md
STEM/AI/Neural Networks/CNN/GAN/StackGAN.md
STEM/AI/Neural Networks/CNN/GAN/cGAN.md
STEM/AI/Neural Networks/CNN/Inception Layer.md
STEM/AI/Neural Networks/CNN/Max Pooling.md
STEM/AI/Neural Networks/CNN/Normalisation.md
STEM/AI/Neural Networks/CV/Data Manipulations.md
STEM/AI/Neural Networks/CV/Datasets.md
STEM/AI/Neural Networks/CV/Filters.md
STEM/AI/Neural Networks/CV/Layer Structure.md
STEM/AI/Neural Networks/Weight Init.md
STEM/img/alexnet.png
STEM/img/cgan-example.png
STEM/img/cgan.png
STEM/img/cnn-cv-layer-arch.png
STEM/img/cnn-descriptor.png
STEM/img/cnn-normalisation.png
STEM/img/code-vector-math-for-control-results.png
STEM/img/cvmfc.png
STEM/img/cyclegan-results.png
STEM/img/cyclegan.png
STEM/img/data-aug.png
STEM/img/data-whitening.png
STEM/img/dc-gan.png
STEM/img/fine-tuning-freezing.png
STEM/img/gabor.png
STEM/img/gan-arch.png
STEM/img/gan-arch2.png
STEM/img/gan-results.png
STEM/img/gan-training-discriminator.png
STEM/img/gan-training-generator.png
STEM/img/googlenet-auxilliary-loss.png
STEM/img/googlenet-inception.png
STEM/img/googlenet.png
STEM/img/icv-pos-neg-examples.png
STEM/img/icv-results.png
STEM/img/inception-layer-arch.png
STEM/img/inception-layer-effect.png
STEM/img/lenet-1989.png
STEM/img/lenet-1998.png
STEM/img/max-pooling.png
STEM/img/stackgan-results.png
STEM/img/stackgan.png
STEM/img/under-over-fitting.png
STEM/img/vgg-arch.png
STEM/img/vgg-spec.png
STEM/img/word2vec.png
2023-05-26 18:29:17 +01:00

1.6 KiB

Deep Convolutional GAN !dc-gan.png

  • Generator
    • FCN
    • Decoder
    • Generate image from code
      • Low-dimensional
        • ~100-D
    • Reshape to tensor
      • Upconv to image
    • Train using Gaussian random noise for code
  • Discriminator

Loss

D(S,L)=-\sum_iL_ilog(S_i)
  • S
    • (0.1, 0.9)^T
    • Score generated by discriminator
  • L
    • (1, 0)^T
    • One-hot label vector
    • Step 1
      • Depends on choice of real/fake
    • Step 2
      • One-hot fake vector
  • \sum_i
    • Sum over all images in mini-batch
Noise Image
z x
  • Generator wants
    • D(G(z))=1
    • Wants to fool discriminator
  • Discriminator wants
    • D(G(z))=0
    • Wants to correctly catch generator
  • Real data wants
    • D(x)=1
J^{(D)}=-\frac 1 2 \mathbb E_{x\sim p_{data}}\log D(x)-\frac 1 2 \mathbb E_z\log (1-D(G(z)))
J^{(G)}=-J^{(D)}
  • First term for real images
  • Second term for fake images

Mode Collapse

  • Generator gives easy solution
  • Learns one image for most noise that will fool discriminator
  • Mitigate by minibatch discriminator
    • Match G(z) distribution to x

What is Learnt?

  • Encoding texture/patch detail from training set
    • Similar to FCN
    • Reproducing texture at high level
    • Cues triggered by code vector
      • Input random noise
  • Iteratively improves visual feasibility
    • Different to FCN
  • Discriminator is a task specific classifier
  • Difficult to train over diverse footage
    • Mixing concepts doesn't work
    • Single category/class