When do Convolutional Neural Networks Stop Learning?
Sahan Ahmad Gabriel Trahan Aminul Islam
Convolutional Neural Networks (CNNs) have demonstrated outstanding
performance in computer vision tasks such as image classification, detection,
segmentation, and medical image analysis. In general, an arbitrary number of
epochs is used to train such neural networks. In a single epoch, the entire
training data -- divided by batch size -- are fed to the network. In practice,
validation error with training loss is used to estimate the neural network's
generalization, which indicates the optimal learning capacity of the network.
Current practice is to stop training when the training loss decreases and the
gap between training and validation error increases (i.e., the generalization
gap) to avoid overfitting. However, this is a trial-and-error-based approach
which raises a critical question: Is it possible to estimate when neural
networks stop learning based on training data? This research work introduces a
hypothesis that analyzes the data variation across all the layers of a CNN
variant to anticipate its near-optimal learning capacity. In the training
phase, we use our hypothesis to anticipate the near-optimal learning capacity
of a CNN variant without using any validation data. Our hypothesis can be
deployed as a plug-and-play to any existing CNN variant without introducing
additional trainable parameters to the network. We test our hypothesis on six
different CNN variants and three different general image datasets (CIFAR10,
CIFAR100, and SVHN). The result based on these CNN variants and datasets shows
that our hypothesis saves 58.49\% of computational time (on average) in
training. We further conduct our hypothesis on ten medical image datasets and
compared with the MedMNIST-V2 benchmark. Based on our experimental result, we
save $\approx$ 44.1\% of computational time without losing accuracy against the
MedMNIST-V2 benchmark.