Wörterbuch

Epoche

Easy

Ein vollständiger Durchlauf des Trainingsdatensatzes durch den Algorithmus wird im maschinellen Lernen als Epoche bezeichnet.

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, vorher nicht beobachteten 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 (Charge) der Epoche benannt. Die Chargengröße beträgt normalerweise 1 oder mehr und ist immer eine ganze Zahl 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 der Proben-„Chargengröße“ mit Eins angegeben wird, enthält die For-Schleife eine Ebene, die es ihr ermöglicht, eine bestimmte Probe in einer einzigen Charge zu durchlaufen. Festzulegen, wie viele Epochen ein Modell als Training ausführen sollte, hängt von mehreren Parametern ab, die sowohl mit den Daten als auch mit dem Ziel des Modells zu tun haben. Um dieses Verfahren in einen Algorithmus umzuwandeln, ist normalerweise ein tiefgehendes Verständnis der Daten erforderlich.
Wenn ein vollständiger Datensatz hin und her übertragen wird (also durch das neuronale Netzwerk), spricht man von einer Epoche. Wir unterteilen die Epoche in mehrere kleinere Chargen, da eine Epoche zu groß ist, um sie auf einmal an einen Computer zu senden.
Innerhalb eines Blockchain-Netzwerks gilt eine Epoche als ein bestimmter Zeitraum.
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 Prüfer/-innen für die Validierung von Transaktionen zugewiesen wird. Jedes Blockchain-Protokoll definiert diesen Zeitraum anders. Er wird im Allgemeinen als die Zeit bezeichnet, die benötigt wird, bis eine bestimmte Anzahl von Blöcken auf der Chain vollständig abgewickelt ist.
Im Ethereum-Protokoll (ETH) ist eine Epoche die Zeit, die benötigt wird, um 30.000 Blöcke auf der Chain vollständig abzuwickeln. Die Länge einer Epoche wird durch die Geschwindigkeit bestimmt, mit der Transaktionen verarbeitet und Vereinbarungen getroffen werden. Die Geschwindigkeit ist relativ konstant und liegt bei etwa 100 Stunden.
Ein weiteres Beispiel ist das Cardano-Blockchain-System, bei dem eine Epoche als Zeiteinheit bezeichnet wird. Cardano (ADA) verwendet Ouroboros Praos, eine maßgeschneiderte Proof-of-Stake-Konsensmethode (PoS), 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.