A Bayesian Perspective on Generalization and Stochastic Gradient Descent
This work addresses fundamental questions in machine learning about generalization and optimization, offering insights into SGD behavior that could benefit researchers and practitioners, though it builds on prior observations.
The paper tackles the problem of predicting generalization in machine learning and explains why stochastic gradient descent (SGD) finds minima that generalize well, showing that small linear models can memorize random labels like deep neural networks and identifying an optimal batch size proportional to learning rate and training set size, with empirical verification.
We consider two questions at the heart of machine learning; how can we predict if a minimum will generalize to the test set, and why does stochastic gradient descent find minima that generalize well? Our work responds to Zhang et al. (2016), who showed deep neural networks can easily memorize randomly labeled training data, despite generalizing well on real labels of the same inputs. We show that the same phenomenon occurs in small linear models. These observations are explained by the Bayesian evidence, which penalizes sharp minima but is invariant to model parameterization. We also demonstrate that, when one holds the learning rate fixed, there is an optimum batch size which maximizes the test set accuracy. We propose that the noise introduced by small mini-batches drives the parameters towards minima whose evidence is large. Interpreting stochastic gradient descent as a stochastic differential equation, we identify the "noise scale" $g = ε(\frac{N}{B} - 1) \approx εN/B$, where $ε$ is the learning rate, $N$ the training set size and $B$ the batch size. Consequently the optimum batch size is proportional to both the learning rate and the size of the training set, $B_{opt} \propto εN$. We verify these predictions empirically.