One entire run of the training dataset through the algorithm is referred to as an epoch in machine learning.
What Is an Epoch?
In the world of artificial neural networks, an epoch is one loop of the whole training dataset. Training a neural network typically takes many epochs. To put it simply, if we supply a neural network with training data in diverse patterns over more than one epoch, we expect improved generalization when we give it a fresh unobserved input (test data).
The dataset's underlying parameters of the model are changed with each epoch. As a result, the batch gradient descent learning algorithm is named after each batch of the epoch. Batch size is usually 1 or greater, and it is always an integer value in the epoch number. It may alternatively be represented as a for-loop with a certain number, with each loop route traversing the whole training dataset.
When the sample "batch size" value is given as one, the for-loop contains a layer that enables it to run through a specified sample in a single batch. Establishing how many epochs a model should execute to train is reliant on several parameters linked to both the data and the model's objective. To convert this procedure into an algorithm, a thorough understanding of the data is typically required.
When a complete dataset is transmitted forward and then back through the neural network, it is called an Epoch. We break the epoch into multiple smaller batches because one epoch is too large to send to the computer all at once.
Inside a blockchain
network, an epoch is considered a specific period of time
This period of time is used to specify when specific events in a blockchain network will occur, such as when incentives will be distributed or when a new group of validators will be assigned to validate transactions. Every blockchain protocol defines that period of time differently. It is generally referred to as the time it takes for a certain amount of blocks on the chain to be completed.
In the Ethereum
(ETH) protocol, for instance, an epoch is the time taken for 30,000 blocks to be completed on the chain
. The length of an epoch is determined by the pace with which transactions are processed and agreements are reached, however, at about 100 hours, the pace remains relatively constant.
Another example would be the Cardano blockchain system, where an epoch is referred to as a unit of time. Cardano
(ADA) employs Ouroboros Praos, a customized Proof-of-Stake
consensus method that splits the blockchain into five-day epochs
. Epochs are then divided into slots, where each of these consists of 20-second intervals. Each epoch presently has 432,000 slots (five days) available