§20.10.6 Convolutional generator networks
When the generator produces images, give it convolutional structure — but run it in reverse of a recognition net. A classifier discards information going up (via pooling); a generator must add detail going down. So it uses the transpose of convolution (§9.5) to grow spatial size, and an “un-pooling” that spreads each value out to fill a larger region. These assumptions (max in a fixed corner, zeros elsewhere) are crude, but later layers learn to compensate, and the samples come out sharp with far fewer parameters than dense layers.
§20.10.7 Auto-regressive networks
A different tack drops latent variables entirely. An auto-regressive network auto-regressive network A directed model with no latents that factorizes p(x)=Πᵢ p(xᵢ|x₁,…,xᵢ₋₁) via the chain rule, each conditional a neural net; e.g. FVBN, NADE. defined in ch. 20 — open in glossary factorizes the joint by the chain rule — every variable predicted from all the ones before it:
The chain-rule factorization
| each conditional, represented by a neural network — no latent variables at all | conditional | |
| the exact joint, one factor per variable in a fixed order. The graph is COMPLETE (every variable depends on all predecessors) | exact |
Generation is a left-to-right sweep; each new variable is sampled conditioned on everything already drawn:
An autoregressive model has no latent variables: it factorizes the joint by the chain rule and generates one variable at a time, each conditioned on all the ones before it (the arcs). A different neural net per conditional is expensive; NADE shares features to fix that.
The fully-visible belief network fully-visible belief network (fvbn) An auto-regressive network whose conditionals are simple (log-linear) models; the simplest auto-regressive generative model. defined in ch. 20 — open in glossary is the simplest form — each conditional a log-linear model (logistic/softmax regression, Frey 1998), O(d²) parameters. Neural auto-regressive networks (Bengio & Bengio 2000) replace the log-linear conditionals with neural nets and reuse hidden features across positions, escaping the tabular curse of dimensionality:
| Model | Each conditional p(xᵢ|x<ᵢ) is… | |
|---|---|---|
| FVBN / linear | fully-visible belief net (Frey 1998) | a log-linear model (logistic/softmax regression) |
| Neural auto-regressive | neural AR net (Bengio & Bengio 2000) | a neural net, with hidden features REUSED across positions |
| NADE | neural autoregressive density estimator | a neural net with a specific weight-sharing scheme (W′_{j,k,i}=W_{k,i}) |
The most refined member is NADE nade The neural autoregressive density estimator: an auto-regressive net with a weight-sharing scheme (W′_{j,k,i}=W_{k,i}) that mimics one step of RBM mean-field inference. defined in ch. 20 — open in glossary — the neural autoregressive density estimator — whose weight-sharing scheme makes one forward pass resemble a single step of RBM mean-field inference, cutting the cost to .
§20.11 Drawing samples from autoencoders
Chapter 14 showed autoencoders quietly learn the data distribution (via their tie to score matching). How to sample them? The variational autoencoder represents explicitly and samples by ancestral sampling (draw , decode). Most others need a Markov chain. A denoising autoencoder defines one naturally — each step corrupts, re-encodes, decodes, and resamples:
The chain works because the autoencoder has learned a vector field pointing back toward the data manifold (§14.5.1) — recall it:
Each arrow is the optimal denoising reconstruction minus the input, g(f(x̃)) − x̃ = 𝔼[x | x̃] − x̃ — the center of mass of the clean points that could have produced x̃, minus x̃. It estimates the score ∇ₓ log p(x) (up to a factor σ²): arrows climb toward the manifold and shrink to dots where the estimated density is flat or maximal. Moderate σ: a smooth field pointing cleanly back to the spiral — zeros ON the manifold (density maxima) and between the arms (density minima), long arrows in low-probability gaps where a step uphill gains the most.
Next: making that autoencoder Markov chain a first-class generative model — generative stochastic networks and other schemes.
Check yourself — convolutional generators, autoregressive nets & autoencoder sampling
1.Why does a convolutional GENERATOR use transpose convolution and un-pooling, opposite to a recognition network?
2.How does an autoregressive network define its distribution, and what latent variables does it use?
3.What makes NADE more efficient than having a separate neural network for each conditional?
4.How are samples drawn from a variational autoencoder versus a denoising autoencoder?
5.Predict the outcome — in AutoRegLab you click 'generate next' to fill x₄. What does the widget show about its conditioning?