# The capacity of feedforward neural networks

arXiv: https://arxiv.org/abs/1901.00434 · HTML: https://mlsanity.com/paper/1901.00434/

## Key facts

- Cited by 14 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 2 Jan 2019.

## Built on by (most cited first, 14 of 14)

- [Boosting Monocular Depth Estimation Models to High-Resolution via Content-Adaptive Multi-Resolution Merging](https://mlsanity.com/paper/2105.14021/) (2021)
- [Improving Self-Supervised Learning by Characterizing Idealized Representations](https://mlsanity.com/paper/2209.06235/) (2022)
- [An Introduction to Variational Inference](https://mlsanity.com/paper/2108.13083/) (2021)
- [The Quarks of Attention](https://mlsanity.com/paper/2202.08371/) (2022)
- [Lifetime policy reuse and the importance of task capacity](https://mlsanity.com/paper/2106.01741/) (2021)
- [A theory of capacity and sparse neural encoding](https://mlsanity.com/paper/2102.10148/) (2021)
- [VC dimension of partially quantized neural networks in the overparametrized regime](https://mlsanity.com/paper/2110.02456/) (2021)
- [Improved Overparametrization Bounds for Global Convergence of Stochastic Gradient Descent for Shallow Neural Networks](https://mlsanity.com/paper/2201.12052/) (2022)
- [Deep Regression Ensembles](https://mlsanity.com/paper/2203.05417/) (2022)
- [Memory Capacity of Recurrent Neural Networks with Matrix Representation](https://mlsanity.com/paper/2104.07454/) (2021)
- [A Theory of Synaptic Neural Balance: From Local to Global Order](https://mlsanity.com/paper/2405.09688/) (2024)
- [Information Theoretic Perspective on Representation Learning](https://mlsanity.com/paper/2601.11334/) (2026)
- [Curvature-Weighted Capacity Allocation: A Minimum Description Length Framework for Layer-Adaptive Large Language Model Optimization](https://mlsanity.com/paper/2603.00910/) (2026)
- [Dimension-Free Rank Lifting from Random Hyperplane Arrangements](https://mlsanity.com/paper/2609.39855/) (2026)

## Abstract (arXiv)

A long standing open problem in the theory of neural networks is the development of quantitative methods to estimate and compare the capabilities of different architectures. Here we define the capacity of an architecture by the binary logarithm of the number of functions it can compute, as the synaptic weights are varied. The capacity provides an upper bound on the number of bits that can be extracted from the training data and stored in the architecture during learning. We study the capacity of layered, fully-connected, architectures of linear threshold neurons with L layers of size n1,n2, ldots, nL and show that in essence the capacity is given by a cubic polynomial in the layer sizes: C(n1,ldots, nL)=sumk=1L-1 min(n1,ldots,nk)nknk+1, where layers that are smaller than all previous layers act as bottlenecks. In proving the main result, we also develop new techniques (multiplexing, enrichment, and stacking) as well as new bounds on the capacity of finite sets. We use the main result to identify architectures with maximal or minimal capacity under a number of natural constraints. This leads to the notion of structural regularization for deep architectures. While in general, everything else being equal, shallow networks compute more functions than deep networks, the functions computed by deep networks are more regular and "interesting".
