Den Gradienten aus wenigen Stichproben schätzen
Die meisten Anpassungsprobleme minimieren einen Mittelwert über Daten, f(w)=n1∑i=1nℓi(w), etwa quadratische Fehler über n Beobachtungen. Der exakte Gradient braucht in jedem Schritt alle n Terme, was bei Millionen von Ticks zu langsam ist. Das stochastische Gradientenverfahren zieht einen zufälligen Mini-Batch B aus b Beobachtungen und nutzt stattdessen deren mittleren Gradienten gB. Diese Schätzung ist erwartungstreu: Im Mittel gleicht sie dem wahren Gradienten.
gB=b1i∈B∑∇ℓi(w),w←w−ηgB,E[gB]=∇f,Var(gB)=bσ2(1) Der Preis der Abkürzung ist Rauschen. Die Varianz des Batch-Gradienten fällt wie 1/b, die Halbierung ihrer Standardabweichung braucht also einen viermal größeren Batch, ein stark abnehmender Ertrag. Eine Epoche ist ein voller Durchlauf durch die Daten und enthält n/b Updates. Mit konstanter Schrittweite kommen die Iterierten nie zur Ruhe: Sie zittern weiter in einer kleinen Kugel um das Minimum, denn selbst im Minimum ist der Batch-Gradient nicht null. Abhilfe schafft eine schrumpfende Schrittweite. Die klassischen Robbins-Monro-Bedingungen verlangen ∑tηt=∞, damit die Bewegung so weit reichen kann wie nötig, und ∑tηt2<∞, damit das Rauschen abklingt. Der Plan ηt=η0/t erfüllt beides.
Vier DatenpunkteEin Niveau
w soll an die Daten
x=2,4,6,12 angepasst werden mit dem Verlust
ℓi=21(w−xi)2, dessen Gradient
w−xi ist. Bei
w=0 lauten die vier Einzelgradienten
−2,−4,−6,−12, ihr Mittel, der volle Gradient, ist
−6. Die Einzelgradienten haben um dieses Mittel die Varianz
416+4+0+36=14. Ein Batch aus
b=7 mit Zurücklegen hat daher die Gradientenvarianz
14/7=2.
- Erwartungstreu: Der Gradient eines zufälligen Batches gleicht im Mittel dem vollen Gradienten.
- Verrauscht: Varianz σ2/b; ein vierfacher Batch halbiert die Standardabweichung.
- Schrumpfende Schritte: ∑ηt=∞ und ∑ηt2<∞, z. B. ηt=η0/t, sichern Konvergenz.
Zeitlich geordnete Daten sind keine ZufallsstichprobeDie obige Erwartungstreue setzt voraus, dass der Batch zufällig gezogen wird. Ein Batch aufeinanderfolgender Tage stammt aus einem einzigen Marktregime, sein Gradient ist zu diesem Regime verzerrt, und Training in zeitlicher Reihenfolge kann mit dem Regime wandern. Mischen Sie die Stichprobenindizes zu Beginn jeder Epoche. Wenn die Reihenfolge selbst zählt, etwa in einem Zeitreihenmodell, behalten Sie die Sequenz innerhalb jedes Beispiels bei und mischen die Beispiele.
Lab: Was bewertet wird
- Der volle Gradient15 Pkt.
- Das Rauschen einer Stichprobe15 Pkt.
- Das Rauschen eines Batches15 Pkt.
- Updates pro Epoche15 Pkt.
- Ein konvergenter Schrittplan15 Pkt.
- Die Mini-Batch-Schleife10 Pkt.
- Warum eine konstante Schrittweite nicht zur Ruhe kommt15 Pkt.