I built a model using the tutorial on the TensorFlow site. It was a simple image classification neural network. I trained it and saved the model and weights together on a .h5 file.

Recently, I have been reading about backpropagation. From what I understand, it's basically a way to tell the neural network whether if it's identified the correct output and that it is applied during training data only.

So, I was wondering if there is a way for the model to 'improve' over time as it makes more and more predictions. Or is that not how it would work with Neural Networks?


1 Answer 1


That is exactly a neural network works like.

Suppose you have a 1000 examples. How you train a network is: First, you divide these 1000 into maybe 100 batches (10 each). After that's done, you feed a batch to the network get its output and compare it with the ground truth, whatever is the error gets backpropagated. Then, for the next batch and then another. Once all these batches are done, you say an epoch is over. So, the number of epoch is effectively the number of times the network has seen the whole data.

This is how a neural network gets better.

  • $\begingroup$ Oh ok, but how it work if I would like the neural network to increase it's speed in which it can classify an a particular pre-defined image input. $\endgroup$ Apr 6, 2021 at 17:17
  • $\begingroup$ If you want to reduce inference time, use a smaller model. Distill the knowledge of bigger one into smaller one. Use quantized form of the network. $\endgroup$ Apr 6, 2021 at 17:21
  • $\begingroup$ Hey, but could there be a way such that inference time is reduced with practice. So the inference time is reduced over time due to it being able to process faster. or is that not the case. I am trying to link it to how humans get better with practice and such.. thx $\endgroup$ Apr 15, 2021 at 20:40
  • $\begingroup$ The number of multiplications don't change. In case of humans, things get cached in basal ganglia over time because of repeated actions. If you are giving the same inputs to the network, then, you can cache just like humans do in form of habits. $\endgroup$ Apr 15, 2021 at 20:51
  • $\begingroup$ Oo okay, so you suggest I should add a way of caching new inputs, and have the neural network store them? Is there a simple way to do this with the Tensorflow and Keras libraries. Thx $\endgroup$ Apr 16, 2021 at 6:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .