Capacity-Shaped Binomial Bottleneck
Implementation & benchmark of arXiv:2607.02683 — The Binomial Channel: On Capacity, Optimal Inputs, and Beta-Binomial Approximation
Source paper: The Binomial Channel: On Capacity, Optimal Inputs, and Beta-Binomial Approximation arXiv:2607.02683 ⓘ · analyzed Aug 30, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Replace a continuous scalar latent or probability with a stochastic count Y generated by Y|X=x ~ Binomial(n,x), and feed Y/n to the downstream network. Regularize the aggregate count distribution toward the beta-binomial distribution induced by the arcsine input X~Beta(1/2,1/2), while maximizing the mutual information carried by the count. This creates a compact discrete representation with an analytically specified, nonuniform prior that places more mass near the extreme counts without collapsing entirely to them.
Formulas
Mathematical statement
The channel is P_{Y|X}(y|x)=\binom{n}{y}x^y(1-x)^{n-y}, with x\in[0,1], y\in\{0,\ldots,n\}, and capacity C(n)=\max_{P_X} I(X;Y). The paper identifies X_r\sim\mathrm{Beta}(1/2,1/2) as an asymptotically capacity-optimal reference input. Its induced output is beta-binomial: q_r(y)=\binom{n}{y}B(y+1/2,n-y+1/2)/B(1/2,1/2), where B is the beta function. For an encoder-produced probability x, the conditional distribution is p_x(y)=P_{Y|X}(y|x). For a minibatch B, q_B(y)=|B|^{-1}\sum_{i\in B}p_{x_i}(y), and the exact batch mutual-information estimate is I_B=H(q_B)-|B|^{-1}\sum_iH(p_{x_i}), where H(r)=-\sum_y r(y)\log r(y). Add KL(q_B\|q_r) as a prior-shaping penalty. For exact gradients through expectations, Lemma 7 gives d/dx E[f(Y)|X=x]=n E^{n-1}[f(Y+1)-f(Y)|X=x], where E^{n-1} uses Y\sim\mathrm{Binomial}(n-1,x).
Implementation notes
Integrate the module immediately after an encoder scalar probability x_i=sigmoid(a_i), or use one module per latent coordinate in a VAE or information bottleneck. Choose n between 8 and 32 so all n+1 count probabilities can be enumerated cheaply. For each x_i, compute p_i[y]=binom(n,y)x_i^y(1-x_i)^(n-y) for y=0,...,n; the downstream network receives either a sampled count Y_i/n or, for a deterministic first experiment, the expectation E[Y_i/n]=x_i. Compute q_B[y]=mean_i p_i[y], then optimize L=L_task-lambda_MI I_B+lambda_prior KL(q_B+eps || q_r+eps), where eps prevents numerical zeroes. Precompute q_r[y] from the beta-binomial expression for the selected n. If sampled counts are used, compare a straight-through estimator with exact enumeration. The paper supplies the channel probabilities, the capacity-motivated reference distribution, the entropy mutual-information objective, and the finite-difference derivative identity; lambda_MI, lambda_prior, batch smoothing, and sampling versus expectation must be estimated empirically. First test on MNIST or CIFAR-10 with a small convolutional classifier and a 16-dimensional bottleneck. Compare against a continuous 16-dimensional bottleneck and uniform categorical quantization at matched activation storage. Record validation accuracy, calibration error, estimated I_B, count histograms, endpoint mass, and robustness to additive activation noise. A successful result is equal or higher accuracy with lower-precision or discrete activation storage, reduced latent collapse, and an aggregate count histogram close to q_r.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Not reproduced ✗
Stage 2 · Practical benchmark result: Significant win ✓
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
How to read this: The implementation beat the baseline, but the claimed mechanism did not reproduce at benchmark scale. The gain may come from another effect; treat the cause as unresolved.
Stage 1 — Mechanism check agent confidence 7/10
Built an enumerated Binomial bottleneck with the beta-binomial arcsine prior, exact minibatch mutual information, KL shaping, and a discrete sampled-count deployment path. The derivative identity was reproduced with maximum absolute error 1.0e-9; on a fixed small digits split, the idea improved deterministic accuracy from 0.8756 to 0.8978 and sampled-count accuracy was 0.8956, while reducing KL to the reference prior from 0.2945 to 0.0966 and storage from 32 to 3.17 bits per coordinate. This is a promising toy signal, but not a definitive generalization win because only one small dataset/run was tested and the baseline was not a matched-bit quantized control.
- Agent confidence
- 7/10
- Baseline
- accuracy=0.8756; test_I=0.9118 nats; KL=0.2945; endpoint mass=0.6830; storage=32 bits/coordinate
- Idea
- deterministic accuracy=0.8978; sampled-count accuracy=0.8956; test_I=0.9857 nats; KL=0.0966; endpoint mass=0.5674; storage=3.17 bits/coordinate
Limitations: Tested only sklearn digits with one fixed train/test split and one seed. No MNIST/CIFAR experiment, repeated-seed confidence intervals, calibration, additive-noise robustness, matched-storage uniform quantization baseline, or fully stochastic straight-through training was evaluated.
How to run: python3 binomial_bottleneck_experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2607.02683)
Beats the tuned baseline by 1.2% (p=0.0081, wins 8 / 8 paired seeds; metric: lower is better).
- Benchmark
- Tabular regression (Friedman)
- Model
- mlp_tiny
- Paired seeds
- 8
- Baseline mean
- 71.7438
- Idea mean
- 70.8658
- Effect (Δ)
- -0.8781 (−1.2%; negative = idea better)
- Wins
- 8 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±2.2%
- Mechanism
- Not confirmed ✗
- Practical effect
- Helps
- Baseline tuning
- swept over 0 configs
Only the registered tabular Friedman track was tested. Vision, sequence, dynamics, matched-storage quantization controls, calibration, activation-noise robustness, and stochastic sampled-count deployment were not evaluated. The mechanism signature did not confirm the intended beta-binomial prior matching.
How to run: python3 bench_binomial.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Worked ✓
Agent confidence: 7/10
The Capacity-Shaped Binomial Bottleneck was implemented as an end-to-end modification of the identical mlp_tiny architecture on the registered Friedman tabular track. Across 8 paired seeds, tuned baseline MSE was 71.7438 and idea MSE was 70.8658, delta=-0.8781 with permutation p=0.0081, so the canonical bench verdict is idea better (significant). The mechanism signature was not confirmed: the learned representation collapsed near endpoints instead of matching the beta-binomial prior.
- Baseline
- MSE mean=71.74383687973022, std=23.390147912586205, best lr=0.01, weight_decay=0.0001
- Delta mean
- -0.8780527114868164
- Idea
- MSE mean=70.86578416824341, std=23.695512986136727, best lr=0.01, weight_decay=0.0001, prior=0.04, MI=0.01
- Idea wins
- 8
- N pairs
- 8
- Permutation p value
- 0.0081
Benchmark result
Beats the tuned baseline by 1.2% (p=0.0081, wins 8 / 8 paired seeds; metric: lower is better).
- Benchmark
- Tabular regression (Friedman)
- Model
- mlp_tiny
- Paired seeds
- 8
- Baseline mean
- 71.7438
- Idea mean
- 70.8658
- Effect (Δ)
- -0.8781 (−1.2%; negative = idea better)
- Wins
- 8 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±2.2%
- Mechanism
- Not confirmed ✗
- Practical effect
- Helps
- Baseline tuning
- swept over 0 configs
Only the registered tabular Friedman track was tested. Vision, sequence, dynamics, matched-storage quantization controls, calibration, activation-noise robustness, and stochastic sampled-count deployment were not evaluated. The mechanism signature did not confirm the intended beta-binomial prior matching.
How to run: python3 bench_binomial.py
Artifacts
- bench_binomial.py 5.1 KB View Raw
- bench_report.json 4.2 KB View Raw
- binomial_bottleneck_experiment.py 5.5 KB View Raw
- report.md 1.5 KB View
- report_bench_2026-09-04T003730.md 6.2 KB View
- results.json 1.3 KB View Raw