I'm trying to understand (and visualize) what an epoch exactly is with regards to training an ANN.
We have a training set of ~7000 products which have 10 characteristics (the inputs). These products have to be categorized into 7 classes based on those 10 inputs.
Our ANN has 10 inputs which go into an input layer of 10 neurons. Those in turn go into a hidden layer with 8 neurons. The output layer has 7 neurons.
How can I visualize/understand an epoch in this case?
sidenote: I'm writing this in MATLAB (and I know about the ANN toolbox)
An epoch is a measure of the number of times all of the training vectors are used once to update the weights. For batch training all of the training samples pass through the learning algorithm simultaneously in one epoch before weights are updated.
An epoch means training the neural network with all the training data for one cycle. In an epoch, we use all of the data exactly once. A forward pass and a backward pass together are counted as one pass: An epoch is made up of one or more batches, where we use a part of the dataset to train the neural network.
What is an Epoch? In terms of artificial neural networks, an epoch refers to one cycle through the full training dataset. Usually, training a neural network takes more than a few epochs.
What Is an Epoch? The number of epochs is a hyperparameter that defines the number times that the learning algorithm will work through the entire training dataset. One epoch means that each sample in the training dataset has had an opportunity to update the internal model parameters.
In MATLAB an epoch can be thought of as a completed iteration of the training procedure of your artificial neural network. That is, once all the vectors in your training set have been used by your training algorithm one epoch has passed. Thus, the "real-time duration" of an epoch is dependent on the training method used (batch vs sequential, for example).
Quoting from a freely-accessible version of the MATLAB ANN toolbox glossary:
epoch - Presentation of the set of training (input and/or target) vectors to a network and the calculation of new weights and biases. Note that training vectors can be presented one at a time or all together in a batch.
Matlab allows you to set a maximum number of epochs after which to terminate the training procedure. This is used to stop the training in case the solution of the training algorithm does not converge, to prevent infinitely running the training.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With