Answers.Body: <p>That is exactly a neural network works like.</p>
  <p>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.</p>
  <p>This is how a neural network gets better.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-04-06T17:17:00.800Z
Answers.Text: 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.
Answers.UserDisplayName: Rutvik Karupothula
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-04-06T17:21:40.787Z
Answers.Text: 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.
Answers.UserDisplayName: Abhishek Verma
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-04-15T20:40:14.247Z
Answers.Text: 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
Answers.UserDisplayName: Rutvik Karupothula
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-04-15T20:51:54.700Z
Answers.Text: 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.
Answers.UserDisplayName: Abhishek Verma
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-04-16T06:18:09.700Z
Answers.Text: 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
Answers.UserDisplayName: Rutvik Karupothula
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-04-06T02:14:00.730Z
Answers.LastActivityDate: 2021-04-06T02:14:00.730Z
Answers.UserDisplayName: Abhishek Verma
Body: <p>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 <code>.h5</code> file.</p>
  <p>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.</p>
  <p>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?</p>
  
Tags: <neural-networks><deep-learning><backpropagation><incremental-learning>
Title: How to improve a trained model over time (i.e. with more predictions)?
UserDisplayName: Rutvik Karupothula
ThreadText: # How to improve a trained model over time (i.e. with more predictions)?
  
  (Asked by: username_0 on 2021-04-05)
  
  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?
  
  **Tags:** neural-networks, deep-learning, backpropagation, incremental-learning
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2021-04-06. Score: 1 | Accepted answer
  
  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.
  
  > **Comments:**
  > **username_0**: 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.  
  > **username_1**: 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.  
  > **username_0**: 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  
  > **username_1**: 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.  
  > **username_0**: 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  
  
  ---
  
  