A two-dimensional posterior is N(0,Σ) with unit
variances and correlation ρ=0.9. The encoder’s family is factorised:
q=N(m,diag(v1,v2)). Find the member of the
family that minimises KL(q∥p), the variance it reports for each
coordinate, and the gap that remains.
The mean term is minimised at m=0. With Σq
diagonal, only the diagonal of Σ−1 enters the trace:
KL=21(1−ρ2v1+v2−2+log(1−ρ2)−logv1−logv2).
Each vi appears in its own term. Setting
1/(1−ρ2)−1/vi=0 gives vi=1−ρ2=0.19. Substituting, the trace term becomes 2 and cancels
the −2:
KL=21(log0.19−2log0.19)=−21log0.19=0.830366.
So the best factorised encoder reports a variance of 0.19 for each
coordinate, whose true posterior variance is 1. It matches the
conditional variance of one coordinate given the other, not the marginal
one, and so understates the uncertainty more than fivefold.
The claim this breaks is that a trained encoder’s variance measures how
uncertain the code is. The gap of 0.830366 nats is the
approximation gap: it does not shrink with training, because no member of
the family is closer. Only a richer family, one with correlations, can
remove it.