Lineare Regression: Hyperparameter

Hyperparameter sind Variablen, die verschiedene Aspekte des Trainings steuern. Drei gängige Hyperparameter sind:

Im Gegensatz dazu sind parameters die Parameter Variablen wie Gewichtungen und Verzerrungen, die Teil des Modells selbst sind. In Mit anderen Worten: Hyperparameter sind Werte, die Sie steuern; Parameter sind Werte die das Modell während des Trainings berechnet.

Lernrate

Die Lernrate ist ein Gleitkommazahl, die Sie festlegen, die sich darauf auswirkt, wie schnell konvergiert. Wenn die Lernrate zu niedrig ist, kann das Modell lange dauern. zu konvergieren. Ist die Lernrate jedoch zu hoch, konvergiert, sondern springt stattdessen um die Gewichtungen und Verzerrungen, die den Verlust. Ziel ist es, eine Lernrate zu wählen, die weder zu hoch noch zu niedrig ist, dass das Modell schnell konvergiert.

Die Lernrate bestimmt das Ausmaß der Änderungen, die an den Gewichtungen vorgenommen werden sollen und Verzerrungen bei jedem Schritt des Gradientenverfahrens. Das Modell multipliziert den Gradienten durch die Lernrate, um die Parameter des Modells (Gewichtung und Verzerrungen) für die nächste Iteration. Im dritten Schritt des Farbverlaufs Abstieg, der „kleine Betrag“ in die richtige Richtung negative Steigung bezieht sich auf die Lernrate.

Der Unterschied zwischen den alten und den neuen Modellparametern ist: proportional zur Steigung der Verlustfunktion. Wenn die Steigung beispielsweise groß ist, macht das Modell einen großen Schritt. Bei kleinen Schritten ist ein kleiner Schritt erforderlich. Für Wenn die Größe des Gradienten 2,5 und die Lernrate 0,01 ist, dann ändert das Modell den Parameter um 0,025.

Die ideale Lernrate hilft dem Modell, innerhalb einer angemessenen Zahl zu konvergieren von Iterationen. In Abbildung 21 zeigt die Verlustkurve das Modell während der ersten 20 Iterationen verbessert werden, bevor die Konvergenz beginnt:

Abbildung 21. Verlustkurve, die einen steilen Anstieg vor dem Abflachen zeigt.

Abbildung 21. Verlustdiagramm, das ein Modell zeigt, das mit einer Lernrate trainiert wurde, konvergiert.

Im Gegensatz dazu kann eine zu niedrige Lernrate zu viele Iterationen erfordern, konvergieren. In Abbildung 22 zeigt die Verlustkurve das Modell, das nur geringfügig ist. Verbesserungen nach jeder Iteration:

Abbildung 22. Verlustkurve, die eine Steigung von fast 45 Grad zeigt.

Abbildung 22. Verlustdiagramm, das ein Modell zeigt, das mit einer kleinen Lernrate trainiert wurde.

Eine zu große Lernrate konvergiert nie, da jede Iteration führt dazu, dass der Verlust hin und her wechselt oder kontinuierlich zunimmt. In Abbildung 23 wird der Verlust zeigt, dass das Modell nach jeder Iteration abnimmt und dann den Verlust ansteigt. In Abbildung 24 steigt der Verlust bei späteren Iterationen an:

Abbildung 23. Verlustkurve, die eine gezackte Linie nach oben und unten zeigt

Abbildung 23. Verlustdiagramm, das ein Modell zeigt, das mit einer Lernrate trainiert wurde, ist zu groß, wobei die Verlustkurve stark schwankt, Iterationen zu.

Abbildung 24: Verlustkurve, die den Anstieg des Verlusts in späteren Iterationen zeigt

Abbildung 24. Verlustdiagramm, das ein Modell zeigt, das mit einer Lernrate trainiert wurde, da die Verlustkurve in späteren Iterationen drastisch ansteigt.

Übung: Wissenstest

Was ist die ideale Lernrate?
Die ideale Lernrate ist problemabhängig.
Jedes Modell und Dataset hat seine eigene ideale Lernrate.
0,01
1.0

Batchgröße

Batchgröße ist ein Hyperparameter, bezieht sich auf die Anzahl der Beispiele, die das Modell verarbeitet, bevor seine Gewichtungen aktualisiert werden und Voreingenommenheit. Vielleicht denken Sie, dass das Modell den Verlust für alle im Dataset vor der Aktualisierung von Gewichtungen und Verzerrungen. Wenn jedoch ein Dataset mit Hunderttausenden oder sogar Millionen Beispielen enthält. ein vollständiger Batch nicht praktikabel.

Zwei gängige Techniken, um im Durchschnitt den richtigen Farbverlauf zu erzielen, jedes Beispiel im Dataset ansehen, bevor Gewichtungen und Verzerrungen Stochastischer Gradientenabstieg und stochastischer Minibatch-Gradienten Abstieg:

  • Stochastic Gradient Decent (SGD): Beim stochastischen Gradientenverfahren wird nur ein einzelnes Beispiel (eine Batchgröße von einer) pro Iteration. Ausreichend SGD funktioniert, ist aber sehr laut. „Rauschen“ bezieht sich auf Variationen während die den Verlust während eines Tests erhöhen, statt zu verringern. Iterationen vor. Der Begriff „stochastisch“ gibt an, dass das eine Beispiel mit jeder Batch zufällig ausgewählt wird.

    In der folgenden Abbildung sehen Sie, wie der Verlust aktualisiert seine Gewichtungen und Verzerrungen mithilfe von SGD, was zu Rauschen im Verlust führen kann Grafik:

    Abbildung 25. Steile Verlustkurve, die sich abflacht, aber sehr kleine Schwankungen aufweist.

    Abbildung 25. Mit stochastischem Gradientenabstieg (SGD) trainiertes Modell Rauschen in der Verlustkurve.

    Beachten Sie, dass das stochastische Gradientenverfahren im gesamten und nicht nur annähernd konvergent.

  • Stochastic Gradient Decent für Minibatch (Minibatch SGD): Minibatch Der stochastische Gradientenabstieg ist ein Kompromiss zwischen Full-Batch und SGD. Für $ N $ Anzahl von Datenpunkten enthält, kann die Batchgröße eine beliebige Zahl größer als 1 sein und weniger als $ N $. Das Modell wählt die in jedem Batch enthaltenen Beispiele aus zufällig ermittelt, den Mittelwert ihrer Gradienten errechnet und dann die Gewichtungen und Verzerrungen einmal pro Iteration.

    Die Anzahl der Beispiele für jeden Batch hängt vom Dataset und die verfügbaren Rechenressourcen. Im Allgemeinen verhalten sich kleine Batchgrößen SGD und größere Batches verhalten sich wie ein vollständiger Batch-Gradientenabstieg.

    Abbildung 26: Steile Verlustkurve, die langsam anfängt, mit deutlich kleineren Schwankungen fast konvergenz zu flanken.

    Abbildung 26. Mit Mini-Batch-SGD trainiertes Modell.

Beim Trainieren eines Modells denken Sie vielleicht, dass Rauschen unerwünscht ist Eigenschaft, die entfernt werden sollte. Ein gewisses Rauschen kann jedoch das ist gut so. In späteren Modulen erfahren Sie, wie Rauschen einem Modell helfen kann, verallgemeinern und die richtigen optimale Gewichtungen und Verzerrungen in einem neuronalen

Epochen

Während des Trainings bedeutet eine Epoche, dass der das Modell jedes Beispiel im Trainings-Dataset einmal verarbeitet hat. Wenn beispielsweise einem Trainings-Dataset mit 1.000 Beispielen und einer Mini-Batchgröße von 100 Beispielen, führt das Modell zehn Iterationen durch, eine ganze Epoche abgeschlossen.

Das Training dauert in der Regel viele Epochen. Das heißt, das System muss jedes Beispiel im Trainings-Dataset mehrere Male wiederholen.

Die Anzahl der Epochen ist ein Hyperparameter, den Sie vor Beginn des Modells festlegen . In vielen Fällen müssen Sie testen, wie viele Epochen es dauert, bis das Modell konvergiert. Generell ergibt sich aus mehr Epochen ein besseres Modell. das Training auch länger dauert.

Abbildung 27. Ein vollständiger Batch entspricht dem gesamten Dataset, ein Mini-Batch ist eine Teilmenge des Datasets und eine Epoche ist ein vollständiger Durchlauf von zehn Mini-Batches.

Abbildung 27. Vollständiger Batch im Vergleich zu Mini-Batch.

In der folgenden Tabelle wird beschrieben, wie Batchgröße und Epochen zur Anzahl der Ein Modell aktualisiert seine Parameter.

Batchtyp Wenn Gewichtungen und Verzerrungen aktualisiert werden
Vollständiger Batch Nachdem sich das Modell alle Beispiele im Dataset angesehen hat. Beispiel: wenn ein Dataset 1.000 Beispiele enthält und das Modell über 20 Epochen trainiert wird, aktualisiert das Modell die Gewichtungen und Verzerrungen 20-mal, einmal pro Epoche.
Stochastisches Gradientenverfahren Nachdem sich das Modell ein einzelnes Beispiel aus dem Dataset ansieht. Wenn ein Dataset z. B. 1.000 Beispiele enthält und für innerhalb von 20 Epochen aktualisiert, aktualisiert das Modell die Gewichtungen und Verzerrungen 20.000 Mal.
Mini-Batch-stochastischer Gradientenabstieg Nachdem sich das Modell die Beispiele in jedem Batch ansieht. Beispiel: Ein Dataset enthält 1.000 Beispiele und die Batchgröße beträgt 100. wird das Modell über 20 Epochen trainiert, aktualisiert die Gewichtungen Verzerrungen 200-mal.

Übung: Wissenstest

1. Welche Batchgröße eignet sich am besten für die Verwendung von Mini-Batch-SGD?
Unterschiedlich
Die ideale Batchgröße hängt vom Dataset und der Rechenressourcen
10 Beispiele pro Batch
100 Beispiele pro Batch
2. Welche der folgenden Aussagen ist korrekt?
Größere Batches sind für Daten mit vielen Ausreißern nicht geeignet.
Diese Aussage ist falsch. Durch die Durchschnittsbildung von mehr Farbverläufen Batchgrößen können die negativen Auswirkungen von Ausreißern reduzieren in den Daten.
Eine Verdoppelung der Lernrate kann das Training verlangsamen.
Diese Aussage trifft zu. Eine Verdoppelung der Lernrate kann zu hoch ist und deshalb die Gewichtung „herumspringen“, um die Konvergierungszeit zu erhöhen. Wie immer hängen die besten Hyperparameter von Ihrem Dataset und verfügbaren Rechenressourcen.