Theory

What regularisation really does

In the last step the gap shrank and the validation number did not. Careful: that is one table, one seed. Does "did not rise" mean "does not help", or just "the improvement is smaller than the noise"? Let us check — and compare with another way to improve the result.

1. Regularisation against noise

Two settings, three seeds each (30 epochs, no early stopping, the same 256-256 network, 5 000 validation images):

baseline                 train 95.8% 97.3% 97.0%  val 85.8% 87.3% 86.9%  mean val 86.7%
dropout 0.3 + wd 1e-4    train 93.1% 92.7% 94.0%  val 86.7% 86.2% 87.7%  mean val 86.9%

Training accuracy is systematically lower (~96–97 % → ~93 %): regularisation does what it promised. But the validation mean is 86.7 vs 86.9 %: a difference of 0.2 points, while the seeds themselves differ by 1.5 (85.8 … 87.3). And in each row a different seed is the best.

I ran the same experiment earlier (a different random-number sequence): 86.2 % → 86.5 %. The direction is the same, and so is the size: too small to tell from noise. With three seeds this is neither proof nor refutation.

The honest conclusion: for this network and this amount of data, dropout + weight decay do not raise validation accuracy in a way you would notice. They narrow the gap — that is true — but it is not the same thing.

2. More data

The same network (256-256), no regularisation, different numbers of training images, the same 5 000 validation images:

training images epochs training accuracy validation gap
1 000 20 95.1 % 80.8 % +14.3
2 000 20 95.7 % 83.0 % +12.6
5 000 20 93.6 % 84.3 % +9.3
10 000 20 94.7 % 86.9 % +7.8
50 000 8 91.5 % 88.8 % +2.8

(The last row is only 8 epochs, because 50 000 images take ~5× longer; do not compare it apples-to-apples.)

Here validation accuracy climbs — from 80.8 to 88.8 %. The gap also shrinks, but now not because we pushed the training number down, but because the model has something to learn from.

What to take away

  • More data raises the real number. Regularisation brings the training number closer to the real one. The first is a real gain, the second is better diagnostics.
  • When you cannot get more data (usually your case), regularisation is still worth it: it makes your training number more honest, and early stopping saves time (12 epochs instead of 30 in the table of the previous step).