8

Wie oft verwende ich eine Stichprobe von Trainingsdaten in einem Trainingszyklus? Sagen wir, ich habe 60 Trainingsdaten. Ich gehe durch die erste Reihe und mache einen Vorwärtspass und wichte die Gewichte anhand der Ergebnisse aus dem Rückwärtsdurchlauf ab. wie unten mit Hilfe der Sigmoidalfunktion:Durchschleifen von Trainingsdaten in Neuronalen Netzen Backpropagation-Algorithmus

Forward pass 
Si = sum of (Wi * Uj) 
Ui = f(Si) = 1/1 + e^ - Si 

Backward pass 
Output Cell = (expected -Ui)(f'(Si)), where 
f'(Si) = Ui(1-Ui) 

Muss ich dann gehen Sie durch die zweite Reihe und tun das gleiche Verfahren wie im 1. oder gehe ich um die erste Zeile, bis der Fehler kleiner ist?

hoffe, dass ich jemand

Antwort

5

Training des Netzwerks

Sie sollten jede Instanz der Trainingssatz benutzen, wenn pro Trainings Epoche bitte helfen kann.

Eine Trainingsepoche ist ein vollständiger Zyklus durch Ihren Datensatz.

Nachdem Sie den Dataset durchlaufen und die Deltas berechnet haben, sollten Sie die Gewichte des Netzwerks anpassen. Dann können Sie einen neuen Vorwärtspass für das neuronale Netzwerk durchführen und eine weitere Trainingsepoche durchführen, indem Sie Ihren Trainingsdatensatz durchlaufen.

Grafische Darstellung
Eine wirklich große grafische Darstellung von Backpropagation at this link.


gefunden werden können, Single-step Training

Es gibt zwei Ansätze, die Sie zu trainieren Netzwerk Klassifizierung auf ausführen ein Datensatz Die einfachste Methode heißt Single-Step- oder Online-Lernen. Dies ist die Methode, die Sie in der meisten Literatur finden werden, und es ist auch die schnellste zu konvergieren. Wenn Sie Ihr Netzwerk trainieren, berechnen Sie die Deltas für jede Ebene und passen die Gewichtungen für für jede Instanz Ihres Datasets an.

Wenn Sie also einen Datensatz von 60 Instanzen haben, bedeutet dies, dass Sie die Gewichte 60 Mal angepasst haben sollten, bevor die Trainingsepoche vorbei ist.

Batch Ausbildung

Der andere Ansatz ist Batch-Training oder offline Lernen genannt. Dieser Ansatz ergibt oft ein Netzwerk mit einem niedrigeren Restfehler. Wenn Sie das Netzwerk trainieren, sollten Sie die Deltas für jede Ebene für jede Instanz des Datensatzes berechnen und dann die einzelnen Deltas schließlich mitteln und die Gewichte einmal pro Epoche korrigieren.

Wenn Sie einen Datensatz mit 60 Instanzen haben, bedeutet dies, dass Sie die Gewichte einmal anpassen müssen, bevor die Trainingsepoche vorüber ist.

+0

Hinterlassen Sie einfach einen Kommentar, wenn etwas unklar ist :) – jorgenkg

+0

Wirklich zu schätzen Ihre Hilfe. Willst du damit sagen, dass ich alle 60 meiner Daten durchlaufen und die Deltas berechnen soll und sobald die Schleife beendet ist, stelle ich die Gewichte ein? Oder durchforsche ich 60 meiner Daten und gleich nach der Berechnung des Deltas stelle ich die Gewichte ein? – obsessiveCookie

+0

Ich habe meine Antwort erweitert, da dies mit 600 Inline-Zeichen nicht erklärt werden konnte. Ich denke, du solltest für die Online-Version gehen! – jorgenkg

Verwandte Themen