Beachten Sie, was ich aus "Deep Learning von Grund auf neu" gelernt habe.
Indikator für schlechte Leistung des neuronalen Netzes Beim Lernen des neuronalen Netzwerks werden die Parameter unter Verwendung des Gradienten als Hinweis aktualisiert.
$ y_k $ ist die Anzahl der Ausgänge des neuronalen Netzwerks, $ t_k $ sind die Lehrerdaten, $ k $ ist die Anzahl der Dimensionen der Daten Die Ausgabe des neuronalen Netzwerks kann als Wahrscheinlichkeit interpretiert werden. $ (0 \ leq y_k \ leq1) $ Außerdem ist $ t_k $ ein One-Hot-Ausdruck.
E = \frac{1}{2}\sum_{k}(y_k-t_k)^2
$ \ Log $ hat eine Basis von $ e $. $ y_k $ und $ t_k $ entsprechen der Summe der Fehlerquadrate. Je näher die Ausgabe $ y_k $ an 1 liegt, desto kleiner ist die Fehlerentropie.
E = -\sum_{k}t_k\log y_k
Eine bestimmte Anzahl von Chunks, ausgewählt aus Trainingsdaten = Mini-Batch Das Lernen wird für jede Mini-Charge durchgeführt.
Finden Sie den Minimalwert der Verlustfunktion mithilfe des Gradienten. Verringern Sie den Wert der Funktion, indem Sie den Vorgang des Zurücklegens einer bestimmten Strecke in Gradientenrichtung vom aktuellen Standort wiederholen. Um genau zu sein, wird es als Gradientenabstiegsmethode bezeichnet.
x = x - \eta \frac{\partial f}{\partial x_0}
$ \ eta $ ist die Anzahl der Aktualisierungen und wird als Lernrate bezeichnet. Solche von Menschenhand eingestellten Parameter werden als Hyperparameter bezeichnet.
Gradientenabstiegsmethode für zufällig ausgewählte Daten als Mini-Batch.
Es gibt anpassbare Gewichte und Vorurteile. Das Anwenden dieses Gewichts und dieser Tendenz auf Trainingsdaten ist "Lernen"
Ein Teil der Daten wird zufällig aus den Trainingsdaten extrahiert. Verringern Sie den Wert der Verlustfunktion der Mini-Charge.
Um die Verlustfunktion der Mini-Charge zu ermitteln, ermitteln Sie den Gradienten jedes Gewichtsparameters.
Aktualisieren Sie den Gewichtsparameter in Verlaufsrichtung.
Wiederholen Sie die Schritte 1 bis 3.
Nächstes Mal werden wir ein zweischichtiges neuronales Netz implementieren.
Recommended Posts