Deep learning
Image generation
product imagery, data augmentation, style transfer
Produce new images from noise, text, or other images.
Probability & Bayes
Maximum likelihood
Information theory
Optimisation
Foundations
VAEs maximise a likelihood bound; diffusion is a chain of small Gaussian steps; KL divergence appears in every loss.
Frame the problem
Frame
Unconditional, class-conditional, or text-conditional. Decide what quality means and who judges it.
Sourcing & signal
Labeling & data collection
Exploring the data
Data & labels
Captions if text-conditional. Check for duplicates, watermarks, and licensing before training on anything.
Modalities → vectors
Tokenization
Represent
Pixels, or a learned latent from an autoencoder. Text through a frozen encoder.
Split the data
Split
Hold out prompts and subjects, not just images.
Dumb baseline
Autoencoders
Convolutional networksbackground
Latent-variable models
VAEs for a smooth latent space and easy training; flows when you need exact likelihoods.
Variational autoencoders
Normalizing flows
Adversarial
Sharp samples, unstable training. Still used for speed.
GANs
Diffusion
The default today. Fine-tune a pretrained diffusion model rather than training from scratch.
Diffusion models
Vision transformers & CLIP
Model
An autoencoder is the baseline and the latent space the others build on.
Training craft
Fine-tuning a pretrained model
Fine-tuning & LoRA
Train
LoRA on a pretrained diffusion model covers most needs. From scratch only with a large, clean corpus and a budget.
Evaluating generative output
Evaluate offline
FID and CLIP score as proxies; human preference is the real metric. Check for memorised training images.
A/B testing & interleaving
Evaluate online
Preference tests against the current generator.
Inference optimisation
Serving & release
Ship & monitor
Sampling steps against latency. Distil or cache for production.
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.