1 / 71

Einige Ergänzungen zur Vorlesung Evolutionsstrategie II

Einige Ergänzungen zur Vorlesung Evolutionsstrategie II. Iván Santibáñez Koref FG Bionik & Evolutionstechnik Technische Universität Berlin. Was ist eine Evolutionsstrategie ?. Biologisch motiviertes Suchverfahren Mengenorientiert Stochastisch Rangbasiert.

laurie
Download Presentation

Einige Ergänzungen zur Vorlesung Evolutionsstrategie II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Einige Ergänzungen zur VorlesungEvolutionsstrategie II Iván Santibáñez Koref FG Bionik & Evolutionstechnik Technische Universität Berlin

  2. Was ist eine Evolutionsstrategie ? Biologisch motiviertes Suchverfahren • Mengenorientiert • Stochastisch • Rangbasiert Eine Menge von Suchpunkten wird gleichzeitig benutzt Die neuen Suchpunkte sind Realisierung einer Verteilung Es zählt nur der Rang der Suchpunkte untereinander (nicht die Qualität). Einführung

  3. Vorteile Evolutionsstrategie • Nur schwache Voraussetzungen für die Qua-litätsfunktion (notwendig ist starke Kausalität). • Störsicher, robust gegen Rauschen der Qualitätsfunktion. • Sowohl für die Optimierung in Computer-Simulationen als auch während Experimente nutzbar. • Sehr einfach in der Realisierung. Einführung

  4. Algorithmus der (μ/μ, λ)-ES • Generiere Folge von Punkten (μ/μ,λ)-ES: mit Einführung

  5. Mehrdimensionale Normalverteilung • xE– Erwartungswert bzw. Elter • xN – Realisation bzw. Nachkomme • C– Kovarianzmatrix Einführung

  6. Mehrdimensionale Normalverteilung Einführung

  7. Mehrdimensionale Normalverteilung Einführung

  8. Globale Schrittweite Einführung

  9. Individuelle Schrittweiten Einführung

  10. Kovarianzmatrix Einführung

  11. Wiederholung der Theorie • Fortschritt an der Kugel: • Optimaler Fortschritt an der Kugel: • Optimale Schrittweite an der Kugel: Einführung

  12. Was ist eine Evolutionsstrategie ? Evolutionsfenster Rückschritt Stagnation Einführung

  13. Schrittweitenregelung: Wo und Wie • Varianz: Einstellen der Varianz σ • Kovarianz: Einstellen der Kovarianzmatrix C Einführung

  14. Varianzsteuerung (Globale Schw.) Ziel ist die globale Schrittweite σ so einzu-stellen, dass der Fortschritt maximal wird ! Welche Verfahren sind bekannt: • 1/5 – Erfolgsregel • Mutative Schrittweitenregelung (MSR) mit Isolation • Goldene Regel Varianzsteuerung

  15. Mutative Schrittweiten Regelung (MSR) Einstellen einer guten Schrittweite durch den Test: Welche Schrittweite erzeugt die besten Nachkommen? • Umsetzung: • Erzeuge zu jeden Nachkommen eine eigenen Schrittweite. Durch logarithmische Variation. • Selektiere die besten Nachkommen und deren zugeh. Schrittweite. • Rekombiniere die Nachkommen und deren Schrittweite • Probleme: • Wahl des Schrittweitenäderungsparameters • Rauschen durch Zufallszahlen bei der Mutation. • Wie werden Schrittweiten rekombiniert. Varianzsteuerung - MSR

  16. Mutative Schrittweiten Regelung (MSR) Varianzsteuerung - MSR

  17. Mutative Schrittweiten Regelung (MSR) Varianzsteuerung - MSR

  18. Mutative Schrittweiten Regelung Testmethode: Es wird ein Vergleich mit der optimalen Schrittweite σopt während der Simulation durchgeführt. Vergleich von: • Mutative Schrittweiten Steuerung mit „A“ • Mutative Schrittweiten Steuerung mit „τ“ • Optimale Schrittweite Varianzsteuerung - MSR

  19. 6 10 Optimale Schr., MSR-Optimal MSR 4 10 2 10 0 10 s Q, -2 10 -4 10 -6 10 -8 10 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 Generationen (1/1,20)-ES Mutative Schrittweiten Regelung Verh. zur opt. Schrittweite. Qualität SchrittweiteOpt. Schrittw. Varianzsteuerung - MSR

  20. 4 10 Optimale Schr., MSR-Optimal MSR 2 10 0 10 s -2 10 Q, -4 10 -6 10 -8 10 0 5000 10000 15000 Generationen (6/6,20)-ES Mutative Schrittweiten Regelung Qualität SchrittweiteOpt. Schrittw. Varianzsteuerung - MSR

  21. 4 10 Optimale Schr., MSR-Optimal MSR 2 10 0 10 -2 10 s Q, -4 10 -6 10 -8 10 -10 10 0 0.5 1 1.5 2 2.5 3 Generationen 4 x 10 (10/10,20)-ES Mutative Schrittweiten Regelung Qualität SchrittweiteOpt. Schrittw. Varianzsteuerung - MSR

  22. Varianzsteuerung Probleme beim Einsatz der MSR: Parameter τ ist abhängig von N: Zur korrekten Arbeit bei Rekombination, wird eine [μ‘(μ/μ,λ)γ,λ‘]-ES benötigt. γ·λ·μ‘-facher Aufwand Varianzsteuerung - MSR

  23. MSR bei (1,λ)-ES Teste 𝒩(xE,σ2I) mit verschiedenen σ. Realisiere λ/2-mal 𝒩(xE,σ2·A2·I) bzw. 𝒩(xE,σ2·A-2·I) . Sehe welches bessere Realisierungen liefert. Wähle dann neue σ. Varianzsteuerung - MSR

  24. Varianzsteuerung bei (μ/μ,λ)-ES Teste 𝒩(xE,σ2I) mit verschiedenen σ. Realisiere λ/2-mal 𝒩(xE,σ2·A2·I) bzw. 𝒩(xE,σ2·A-2·I) Sehe welches bessere Realisierungen liefert. Rekombiniere selektierte Nachkommen und Schrittweite Varianzsteuerung - MSR

  25. Varianzsteuerung bei (μ/μ,λ)-ES Warum wird eine [μ‘,λ ‘(μ/μ,λ)γ]-ES benötigt? Bei (1,λ)-ES wird immer mit der gleichen Verteilung getestet. Bei (μ/μ,λ)-ES wird mit anderen Verteilung getestet als die ursprüngliche. Schachtelung notwendig γ=2 reicht ! Varianzsteuerung - MSR

  26. Varianzsteuerung (Kumulation) Welche andere Invariante könnte man nutzen ? Varianzsteuerung - Kumulation

  27. Kumulation Varianzsteuerung - Kumulation

  28. Kumulation Welche andere Invariante könnte man nutzen ? Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander. Transformation des Suchraumes

  29. Kumulation Aufeinaderfolgende Schritte sind im Mittel Orthogonal ! Die selektierten Mutationen sind also unkorreliert ! Die Länge der Mutationen ist im Mittel χN! Varianzsteuerung - Kumulation

  30. Kumulation • Da aufeinander folgende Schritte unkorreliert, insbesondere die für die • Mutation notwendigen Zufallszahlen. • D.h. die Summe der selektierten Zufallzahlen sollte immer eine bestimmte • Länge haben: • Länge von z mit den Komponenten zi~ 𝒩(0,1), …, i=1,…,N ist EχN bzw. grosse N : • Die Länge der Summe von γ aufeinander summierte Zufallszahlen wächstum den Faktor • Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1/ μ. • D.h. sollte bei optimaler Schrittweite die Länge die der aufsummierten Zufallzahlen: • sein. Varianzsteuerung - Kumulation

  31. Kumulation Fehlskalierung vs. Pfadlänge Varianzsteuerung - Kumulation

  32. Fehlskalierung vs. Pfadlänge Kumulation Varianzsteuerung - Kumulation

  33. Fehlskalierung vs. Pfadlänge Kumulation Varianzsteuerung - Kumulation

  34. Kumulation (Algorithmus 1) Kommentar: Solange Stoppbedingung nicht gilt Generationszähler erhöhen Nachkommen erzeugen Elter mutieren Qualität bestimmen Qualitäten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhöhen Pfad zu kurz Schrittweite verkleinern while ~stop_bedingung(xE,g) g=g+1; for l=1:LAMBDA xN(:,l)=xE+sigma*randn(N,1); qN(l)=qualitat(xN(:,l)); end [s_qN,idx]=sort(qN); xE_alt=xE; xE=mean(xE(:,idx(1:MU))); pfad=pfad+(xE-xEo)/sigma; if (norm(zC)*sqrt(MU/N/g)>1) sigma=sigma*A; else sigma=sigma/A; end end Varianzsteuerung - Kumulation

  35. Kumulation (Algorithmus 1) Kommentar: Solange Stoppbedingung nicht gilt Generationszähler erhöhen Nachkommen erzeugen Elter mutieren Qualität bestimmen Qualitäten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhöhen Pfad zu kurz Schrittweite verkleinern while ~stop_bedingung(xE,g) g=g+1; for l=1:LAMBDA xN(:,l)=xE+sigma*randn(N,1); qN(l)=qualitat(xN(:,l)); end [s_qN,idx]=sort(qN); xE_alt=xE; xE=mean(xE(:,idx(1:MU))); pfad=pfad+(xE-xEo)/sigma; if (norm(zC)*sqrt(MU/N/g)>1) sigma=sigma*A; else sigma=sigma/A; end end Alle Nachkommen werden mit der selben Schrittweite erzeugt ! Varianzsteuerung - Kumulation

  36. Kumulation (Algorithmus 1) Kommentar: Solange Stoppbedingung nicht gilt Generationszähler erhöhen Nachkommen erzeugen Elter mutieren Qualität bestimmen Qualitäten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhöhen Pfad zu kurz Schrittweite verkleinern while ~stop_bedingung(xE,g) g=g+1; for l=1:LAMBDA xN(:,l)=xE+sigma*randn(N,1); qN(l)=qualitat(xN(:,l)); end [s_qN,idx]=sort(qN); xE_alt=xE; xE=mean(xE(:,idx(1:MU))); pfad=pfad+(xE-xEo)/sigma; if (norm(zC)*sqrt(MU/N/g)>1) sigma=sigma*A; else sigma=sigma/A; end end Die Entscheidung welche Schrittweiten- änderung durchgeführt wird ist nicht mehr Zufällig (Derandomisierung)! Varianzsteuerung - Kumulation

  37. Kumulation (Algorithmus 1) Varianzsteuerung - Kumulation

  38. Kumulation (Algorithmus 1) Probleme bei der Einstellung der Schrittweite ! Weil die Kumulation nicht „vergißt“, d.h. es werden alte Informationen noch berücksichtigt ! Lösung: Mittelung mit Vergessen ! Varianzsteuerung - Kumulation

  39. Kumulation (Algorithmus 2) Besser Mitteln der selektierten Mutationen: Setze c1 und c2 s.d. d.h. Varianzsteuerung - Kumulation

  40. Kumulation (Algorithmus 2) Varianzsteuerung - Kumulation

  41. Kumulation (Algorithmus 2) Da außerdem die Vergangenheit vergessen, setze: Varianzsteuerung - Kumulation

  42. Kumulation (Algorithmus 2) while ~stop_bedingung(xE,g) g=g+1; for l=1:LAMBDA xN(:,l)=xE+sigma*randn(N,1); qN(l)=qualitat(xN(:,l)); end [s_qN,idx]=sort(qN); xE_alt=xE; xE=mean(xE(:,idx(1:MU))); pfad=c1*pfad+sqrt(1-c1^2)(xE-xEo)/sigma; if (norm(zC)*sqrt(MU/N)>1) sigma=sigma*A; else sigma=sigma/A; end end Varianzsteuerung - Kumulation

  43. Kumulation (Algorithmus 2) Varianzsteuerung - Kumulation

  44. Kumulation Wie in Graph zu sehen, gibt die Länge nicht nur an ob die Schrittweite zu groß oder zu klein. Auch gewisse quantitative Informationen über die Abweichung von der Optimalen Schrittweite. Varianzsteuerung - Kumulation

  45. Kumulation (finaler Algorithmus) while ~stop_bedingung(xE,g) g=g+1; for l=1:LAMBDA xN(:,l)=xE+sigma*randn(N,1); qN(l)=qualitat(xN(:,l)); end [s_qN,idx]=sort(qN); xE_alt=xE; xE=mean(xE(:,idx(1:MU))); pfad=c1*pfad+sqrt(1-c1^2)(xE-xEo)/sigma; sigma=sigma*exp(d*(norm(p)*sqrt(M/N)-1)); end Varianzsteuerung - Kumulation

  46. Kumulation Varianzsteuerung - Kumulation

  47. Schrittweitensteuerung (Varianz) Fazit • 1/5 Erfolgsregel für „+“-Strategien sinnvoll. • MSR funktioniert nicht immer (Rekombination). • Isolation/Schachtelung für allgemeine Probleme, grosser Aufwand. • Kumulation für bestimmte Probleme möglich und effizient. Varianzsteuerung

  48. Covarianzsteuerung • Beispiel: Linse Erfordert die gleichzeitige Änderung aber nicht gleiche Änderung der Parameter Die Objektvariablen sind Korreliert D.h. die Suchverteilung ist nicht mehr Isotrop ! Covarianzsteuerung

  49. Covarianzsteuerung (Zigarre) Die Zigarre: Besonderheit: • Parameter x1 nicht so empfindlich wie die Anderen. Covarianzsteuerung - Zigarre

  50. Covarianzsteuerung (Zigarre) Die Zigarre: Besonderheit: • Parameter x1 nicht so empfindlich wie die Anderen. Covarianzsteuerung - Zigarre

More Related