What is the best / typical way to plot the training and validation loss during the training of a neural network? Specifically, I am thinking of this as a task in order to help diagnose under / over fitting - perhaps for early stopping or some other method of parameter tuning (e.g. paper)
Here I am assuming there is a training set and an independent development / validation set.
Question #1:
First, does one plot performance / loss at the end of each epoch or each iteration (i.e. mini batch)?
Question #2:
Assuming we are plotting at the end of each mini-batch what is the process?
- Read mini-batch, run through network, compute loss and update parameters
Now what?
Training:
Do we use
- The entire training set (or at least the cumulative read from disk at that point - if we are reading from disk in batch or using a generator) to calculate the performance / loss?
- Just the mini-batch we just used to update the parameters?
- Some type of rolling average of the mini batches read so far?
- Something else?
Development / Validation:
Do we use:
- The entire development / validation set (or at least the cumulative read from disk at that point - if we are reading from disk in batch or using a generator) to calculate the performance / loss?
- Some type of rolling average of previous iteration calculations?
- Something else?