σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyRoadmapsSkills
Ctrl K
AO
+1,2 Tsd. Lernende
AnmeldenBeitreten ↗
RoadmapsSkills
AO
+1,2 Tsd. Lernende
Anmelden
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyRoadmapsSkills
Ctrl K
AO
+1,2 Tsd. Lernende
AnmeldenBeitreten ↗
RoadmapsSkills
AO
+1,2 Tsd. Lernende
Anmelden
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Optimization-Skill›Modul 2 · Gradientenverfahren›Thema 2.2·~55 Min.Mittelstufe

Stochastisches Gradientenverfahren und Mini-Batches

Position in der SkillModul 2 von 5 · Thema 2 von 3
2.2 Stochastisches Gradientenverfahren und Mini-Batches
—Lab-Punkte— / 100XP gesamt—Serie—

Den Gradienten aus wenigen Stichproben schätzen

Die meisten Anpassungsprobleme minimieren einen Mittelwert über Daten, f(w)=1n∑i=1nℓi(w)f(\mathbf w)=\frac1n\sum_{i=1}^{n}\ell_i(\mathbf w)f(w)=n1​∑i=1n​ℓi​(w), etwa quadratische Fehler über nnn Beobachtungen. Der exakte Gradient braucht in jedem Schritt alle nnn Terme, was bei Millionen von Ticks zu langsam ist. Das stochastische Gradientenverfahren zieht einen zufälligen Mini-Batch BBB aus bbb Beobachtungen und nutzt stattdessen deren mittleren Gradienten gBg_BgB​. Diese Schätzung ist erwartungstreu: Im Mittel gleicht sie dem wahren Gradienten.

gB=1b∑i∈B∇ℓi(w),w←w−η gB,E[gB]=∇f,Var(gB)=σ2bg_B=\frac1b\sum_{i\in B}\nabla\ell_i(\mathbf w),\qquad \mathbf w\leftarrow\mathbf w-\eta\,g_B,\qquad \mathbb E[g_B]=\nabla f,\qquad \mathrm{Var}(g_B)=\frac{\sigma^{2}}{b}gB​=b1​i∈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/b1/b1/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/bn/bn/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=∞\sum_t\eta_t=\infty∑t​ηt​=∞, damit die Bewegung so weit reichen kann wie nötig, und ∑tηt2<∞\sum_t\eta_t^{2}<\infty∑t​ηt2​<∞, damit das Rauschen abklingt. Der Plan ηt=η0/t\eta_t=\eta_0/tηt​=η0​/t erfüllt beides.

Vier DatenpunkteEin Niveau www soll an die Daten x=2,4,6,12x=2,4,6,12x=2,4,6,12 angepasst werden mit dem Verlust ℓi=12(w−xi)2\ell_i=\tfrac12(w-x_i)^2ℓi​=21​(w−xi​)2, dessen Gradient w−xiw-x_iw−xi​ ist. Bei w=0w=0w=0 lauten die vier Einzelgradienten −2,−4,−6,−12-2,-4,-6,-12−2,−4,−6,−12, ihr Mittel, der volle Gradient, ist −6-6−6. Die Einzelgradienten haben um dieses Mittel die Varianz 16+4+0+364=14\frac{16+4+0+36}{4}=14416+4+0+36​=14. Ein Batch aus b=7b=7b=7 mit Zurücklegen hat daher die Gradientenvarianz 14/7=214/7=214/7=2.
  • Erwartungstreu: Der Gradient eines zufälligen Batches gleicht im Mittel dem vollen Gradienten.
  • Verrauscht: Varianz σ2/b\sigma^2/bσ2/b; ein vierfacher Batch halbiert die Standardabweichung.
  • Schrumpfende Schritte: ∑ηt=∞\sum\eta_t=\infty∑ηt​=∞ und ∑ηt2<∞\sum\eta_t^2<\infty∑ηt2​<∞, z. B. ηt=η0/t\eta_t=\eta_0/tη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.
0/ 7 beantwortet
Aufgaben
1Numerische Antwort15 Pkt.Nicht beantwortet

Daten x=2,4,6,12x=2,4,6,12x=2,4,6,12, Verlust ℓi=12(w−xi)2\ell_i=\tfrac12(w-x_i)^2ℓi​=21​(w−xi​)2. Wie groß ist der volle Gradient 14∑i(w−xi)\frac14\sum_i(w-x_i)41​∑i​(w−xi​) bei w=0w=0w=0?

full=full =full=akzeptiert: ± 0.01
2Numerische Antwort15 Pkt.Nicht beantwortet

Die Einzelgradienten bei w=0w=0w=0 sind −2,−4,−6,−12-2,-4,-6,-12−2,−4,−6,−12 mit Mittel −6-6−6. Wie groß ist ihre Varianz (mittlere quadratische Abweichung vom Mittel)?

var1=var1 =var1=akzeptiert: ± 0.1
3Numerische Antwort15 Pkt.Nicht beantwortet

Ein Mini-Batch aus b=7b=7b=7 Stichproben mit Zurücklegen mittelt diese Gradienten. Wie groß ist die Varianz des Batch-Gradienten?

var7=var7 =var7=akzeptiert: ± 0.02
4Numerische Antwort15 Pkt.Nicht beantwortet

Ein Datensatz hat n=10,000n=10{,}000n=10,000 Beobachtungen, die Mini-Batch-Größe ist b=250b=250b=250. Aus wie vielen Updates besteht eine Epoche?

updates=updates =updates=akzeptiert: ± 0.5
5Auswahl15 Pkt.Nicht beantwortet

Welcher Schrittplan erfüllt beide Robbins-Monro-Bedingungen, ∑ηt=∞\sum\eta_t=\infty∑ηt​=∞ und ∑ηt2<∞\sum\eta_t^2<\infty∑ηt2​<∞?

6Schritte ordnen10 Pkt.Nicht beantwortet

Bringen Sie eine Epoche Mini-Batch-SGD in die richtige Reihenfolge.

Zum Umsortieren ziehen, oder ein Element fokussieren, mit Leertaste anheben, mit Pfeiltasten bewegen und mit Leertaste ablegen.

  1. 1Gewichte mit w←w−ηgB\mathbf w\leftarrow\mathbf w-\eta g_Bw←w−ηgB​ aktualisieren
  2. 2Mit dem nächsten Batch wiederholen, bis alle genutzt sind
  3. 3Die Daten mischen und in Batches teilen
  4. 4Den mittleren Gradienten gBg_BgB​ auf einem Batch berechnen
7In Worten erklären15 Pkt.Nicht beantwortet

Erklären Sie in ein bis zwei Sätzen, warum SGD mit konstanter Schrittweite um das Minimum zittert und wie man das verringert.

Mathe-ModusEingabe per Tastatur oder LaTeXAufgabe 1 von 7 · Strg ⏎ zum Prüfen

Melde dich an, um deinen Code auszuführen.

Alle Lektionen kannst du kostenlos lesen. Erstelle ein Konto oder melde dich an, um Code auszuführen, Tests zu starten und dieses Lab abzugeben.

  • IDE im Browser mit Bash-Terminal — nichts zu installieren
  • Sofortige Bewertung, XP und dein Platz auf der Skill
Konto erstellenAnmelden
ODER
Weiter mit GitHub