Was ist eine Epoche?
In der Welt der künstlichen neuronalen Netze ist eine Epoche eine Schleife des gesamten Trainingsdatensatzes . Das Training eines neuronalen Netzwerks dauert normalerweise viele Epochen. Vereinfacht ausgedrückt: Wenn wir ein neuronales Netzwerk über mehr als eine Epoche hinweg mit Trainingsdaten in unterschiedlichen Mustern versorgen, erwarten wir eine verbesserte Generalisierung, wenn wir ihm einen neuen, unbeobachteten Input (Testdaten) geben.
Die dem Datensatz zugrunde liegenden Parameter des Modells ändern sich mit jeder Epoche. Daher wird der Batch-Gradientenabstiegs-Lernalgorithmus nach jedem Batch der Epoche benannt. Die Stapelgröße beträgt normalerweise 1 oder mehr und ist immer ein ganzzahliger Wert in der Epochennummer. Sie kann alternativ als For-Schleife mit einer bestimmten Zahl dargestellt werden, wobei jede Schleifenroute den gesamten Trainingsdatensatz durchläuft.
Wenn der Wert für die „Batchgröße“ der Probe mit Eins angegeben wird, enthält die for-Schleife eine Ebene, die es ihr ermöglicht, eine bestimmte Probe in einem einzigen Batch zu durchlaufen. Die Festlegung, wie viele Epochen ein Modell zum Trainieren ausführen sollte, hängt von mehreren Parametern ab, die sowohl mit den Daten als auch mit dem Ziel des Modells verknüpft sind. Um dieses Verfahren in einen Algorithmus umzuwandeln, ist typischerweise ein gründliches Verständnis der Daten erforderlich.
Wenn ein vollständiger Datensatz durch das neuronale Netzwerk hin und her übertragen wird , spricht man von einer Epoche. Wir unterteilen die Epoche in mehrere kleinere Stapel , da eine Epoche zu groß ist, um sie auf einmal an den Computer zu senden.
Innerhalb eines Blockchain-Netzwerks wird eine Epoche als ein bestimmter Zeitraum betrachtet.
Dieser Zeitraum wird verwendet, um anzugeben, wann bestimmte Ereignisse in einem Blockchain-Netzwerk auftreten, beispielsweise wann Anreize verteilt werden oder wann eine neue Gruppe von Validatoren für die Validierung von Transaktionen zugewiesen wird. Jedes Blockchain-Protokoll definiert diesen Zeitraum anders. Sie wird im Allgemeinen als die Zeit bezeichnet, die benötigt wird, bis eine bestimmte Anzahl von Blöcken in der Kette abgeschlossen ist.
Im Ethereum (ETH)-Protokoll beispielsweise ist eine Epoche die Zeit, die benötigt wird, um 30.000 Blöcke in der Kette abzuschließen . Die Länge einer Epoche wird durch die Geschwindigkeit bestimmt, mit der Transaktionen verarbeitet und Vereinbarungen getroffen werden. Mit etwa 100 Stunden bleibt die Geschwindigkeit jedoch relativ konstant.
Ein weiteres Beispiel wäre das Cardano-Blockchain-System, bei dem eine Epoche als Zeiteinheit bezeichnet wird. Cardano (ADA) verwendet Ouroboros Praos, eine maßgeschneiderte Proof-of-Stake (PoS)-Konsensmethode, die die Blockchain in fünftägige Epochen aufteilt. Die Epochen werden dann in Zeitfenster unterteilt, die jeweils aus 20-Sekunden-Intervallen bestehen. Für jede Epoche stehen derzeit 432.000 Slots (fünf Tage) zur Verfügung .