Glossário

Epoch

Easy

Uma execução inteira do conjunto de dados de treinamento por meio do algoritmo é chamada de epoch no aprendizado de máquina.

O Que É uma Epoch?

No mundo das redes neurais artificiais, uma epoch é um loop de todo o conjunto de dados de treinamento. O treinamento de uma rede neural normalmente leva muitas epochs. Simplificando, se alimentarmos uma rede neural com dados de treinamento em diversos padrões ao longo de mais de uma epoch, esperamos um aprimoramento geral quando fornecermos uma nova entrada não observada (dados de teste).
Os parâmetros subjacentes do conjunto de dados do modelo são alterados a cada epoch. Como resultado, o algoritmo de aprendizado de descida de gradiente em lote recebe o nome de cada lote da epoch. O tamanho do lote geralmente é 1 ou maior e é sempre um valor inteiro no número do epoch. Ele também pode ser representado como for-loop com um determinado número, com cada rota de loop atravessando todo o conjunto de dados de treinamento.
Quando o valor do "tamanho do lote" da amostra é fornecido como um, o for-loop contém uma camada que permite que ele seja executado em uma amostra especificada em um único lote. Estabelecer quantas epochs um modelo deve executar para treinar depende de vários parâmetros vinculados aos dados e ao objetivo do modelo. Para converter esse procedimento em um algoritmo, normalmente é necessário um entendimento completo dos dados.
Quando um conjunto de dados completo é transmitido para frente e depois de volta pela rede neural, ele é chamado de Epoch. Dividimos a epoch em vários lotes menores porque uma epoch é muito grande para ser enviada ao computador de uma só vez.
Dentro de uma rede blockchain, uma epoch é considerada um período específico de tempo.
Esse período de tempo é usado para especificar quando ocorrerão eventos específicos em uma rede blockchain, como quando os incentivos serão distribuídos ou quando um novo grupo de validadores será designado para validar transações. Cada protocolo blockchain define esse período de tempo de forma diferente. Ele é geralmente apresentado como o tempo que leva para uma certa quantidade de blocos na cadeia ser concluída.
No protocolo Ethereum (ETH), por exemplo, uma epoch é o tempo necessário para que 30.000 blocos sejam concluídos na cadeia. A duração de um período é determinada pelo ritmo com que as transações são processadas e os acordos são alcançados, porém, em cerca de 100 horas, o ritmo permanece relativamente constante.
Outro exemplo seria o sistema blockchain da Cardano, onde uma epoch é referida como uma unidade de tempo. Cardano (ADA) emprega o Ouroboros Praos, um método de consenso Proof-of-Stake (PoS) personalizado que divide a blockchain em epochs de cinco dias. As epochs são então divididas em slots, onde cada uma delas consiste em intervalos de 20 segundos. Cada epoch tem atualmente 432.000 slots (cinco dias) disponíveis.