§20.6 Convolutional Boltzmann machines
Images strain any dense model, so — as in chapter 9 — replace matrix multiplication with convolution. Convolutional RBMs work well, but pooling is awkward in an energy-based model: a hard “pooling unit = ” over detectors would cost energy evaluations to normalize. Probabilistic max pooling probabilistic max pooling A way to include max-pooling in an energy-based (convolutional Boltzmann) model by constraining at most one detector unit per region to be active. defined in ch. 20 — open in glossary (Lee et al. 2009) fixes this by constraining at most one detector active per region — so there are only states (each detector on, or all off), and the pooling unit is on iff some detector is. It’s efficient, but forces the detectors to be mutually exclusive and forbids overlapping pooling regions, which limits accuracy versus supervised convnets.
§20.7 Structured and sequential outputs
A Boltzmann machine can be made conditional — model where the outputs obey constraints (e.g. a coherent speech waveform), or a sequence . A conditional RBM (Taylor et al. 2007) makes the RBM’s biases a linear function of the past frames; different histories switch different hidden units on, reshaping the distribution over the next frame. The RNN-RBM rnn-rbm A sequence model where an RNN emits all of an RBM's parameters at each time step; trained by back-propagating a CD gradient through time. defined in ch. 20 — open in glossary (Boulanger-Lewandowski et al. 2012) goes further: an RNN emits all of the RBM’s parameters (weights included) at each step — trained by back-propagating a contrastive-divergence gradient through time.
§20.8 Other Boltzmann machines
The framework is a rich, still-open space: discriminative RBMs maximize (best combined with the generative criterion); higher-order Boltzmann machines use energy terms that multiply more than two variables (three-way units can model video transformations, or gate features by a class label). Designing a new one is harder than adding a neural-net layer — you must find an energy function that keeps all the needed conditionals tractable.
§20.9 Back-propagation through random operations
Generative nets need to sample, but a sampling step seems to block gradients. The reparametrization trick reparametrization trick Rewrite a sample y∼N(µ,σ²) as y=µ+σz with z∼N(0,1) external noise, turning sampling into a differentiable function so gradients flow through it (stochastic back-propagation). Continuous variables only. defined in ch. 20 — open in glossary dissolves the problem: pull the randomness out into an external input.
The reparametrization trick (eq 20.55)
| an external source of noise whose distribution does NOT depend on µ, σ — so it carries no gradient | random input | |
| now y is an ordinary DETERMINISTIC function of µ, σ (given z), so ∂y/∂µ = 1 and ∂y/∂σ = z flow through by back-propagation | differentiable |
Direct sampling from is a stochastic node with no differentiable path to its parameters; rewriting it as makes it trainable. Toggle between the two views:
The noise z is an EXTERNAL input (no gradient), so y = µ + σz is an ordinary deterministic function — gradients ∂y/∂µ = 1 and ∂y/∂σ = z flow straight back to the parameters.
More generally, any can be rewritten (eq 20.57) with external — trainable as long as is continuous and differentiable, which requires continuous. For discrete the trick fails (a step function has zero gradient), and we need the REINFORCE estimator instead — next.
Check yourself — convolutional/sequential BMs & the reparametrization trick
1.How does probabilistic max pooling make pooling tractable in an energy-based model?
2.How does the RNN-RBM model a sequence?
3.Why can't back-propagation train the parameters of a directly-sampled y ∼ N(µ,σ²)?
4.What is the reparametrization trick, and why does it make sampling differentiable?
5.Predict the outcome — in ReparamLab you switch from 'direct sample' to 'reparametrized' mode. What changes in the computational graph?