NES PDF
Transkrypt
NES PDF
Algorytmy ewolucyjne NES Piotr Lipiński 1 Natural Evolution Strategies (NES) • NES konstruuje rozkład prawdopodobieństwa na przestrzeni poszukiwań umożliwiający generowanie dobrych rozwiązań problemu. W zależności od konkretnej wersji NES używane mogą być rozkłady normalne, rozkłady tStudenta, rozkłady Cauchy’ego i inne. • W kolejnych iteracjach algorytmu, parametry rozkładu są modyfikowane: Używając określonego rozkładu prawdopodobieństwa z określonymi wartościami parametrów generowana jest próbka danych (populacja). Następnie, na podstawie wartości funkcji celu w wygenerowanych punktach (osobnikach), aktualizowane są wartości parametrów rozkładu, tak aby zmaksymalizować oczekiwaną wartość funkcji celu. Kroki te są powtarzane zadaną liczbę iteracji lub aż do spełnienia pewnego warunku zakończenia. • Optymalizacja parametrów odbywa się metodą gradientową, ale zamiast tradycyjnego gradientu używany jest gradient naturalny (podejście Natural Gradient Descent). 1.1 Podejście z tradycyjnym gradientem Niech F : Ω → R oznacza funkcję celu określoną na przestrzeni poszukiwań Ω ∈ Rn . Niech f (x|θ) oznacza gęstość rozpatrywanego rozkładu prawdopodobieństwa, zaś θ wektor jego parametrów. Oczekiwana wartość funkcji celu wynosi więc ∫ EF (x) = F (x)f (x|θ)dx, i jest funkcją zmiennej θ, może zatem być oznaczona przez G(θ). Gradient funkcji G(θ) można przedstawić jako ∫ ∫ ∫ f (x|θ) ∇G(θ) = ∇ F (x)f (x|θ)dx = F (x)∇f (x|θ) = F (x)∇f (x|θ) dx = f (x|θ) ∫ = F (x)∇ log(f (x|θ))f (x|θ)dx = EF (x)∇ log(f (x|θ)). 1 1 Natural Evolution Strategies (NES) 2 Można więc ten gradient aproksymować przez średnią z próbki w następujący sposób: λ 1∑ ∇G(θ) ≈ F (xk )∇ log(f (xk |θ)), λ k=1 czyli iteracyjnie θ = θ + η∇G(θ). 1.2 Podejście z gradientem naturalnym θ = θ + ηF−1 ∇G(θ), gdzie F to macierz informacji Fishera. 1.3 Modelowanie funkcji celu W celu zwiększenia efektywności algorytmu, wartości funkcji celu są rozpatrywane z pewnymi wagami zależnymi od pozycji osobnika w rankingu populacji. Wartości funkcji celu kolejnych najlepszych osobników x1 , x2 , . . . , xλ są zastępowane wartościami ich użyteczności u1 u2 . . . uλ , co prowadzi do innej postaci gradientu: λ ∑ ∇G(θ) ≈ uk ∇ log(f (xk |θ)), k=1 zakładając, że użyteczności sumują się do 1. 1.4 Szkic algorytmu NES(F ) 1 θ ← Inicjalizacja-Parametrów-Modelu(); 2 while not Warunek-Zakończenia() 3 do 4 P ← Nowa-Populacja(θ); 5 Obliczenie F (xk ); 6 Obliczenie ∇ log f (xk |θ); 7 Obliczenie użyteczności uk ; ∑λ 8 Estymacja gradientu ∇G(θ) = k=1 uk ∇ log(f (xk |θ)); ∑ λ 9 Estymacja macierzy F = λ1 ∇ log f (xk |θ)∇f (xk |θ)T ; k=1 10 Aktualizacja parametru θ = θ + ηF−1 ∇G(θ); 11