Naturalna ewolucja strategii - Natural evolution strategy

Strategie naturalnej ewolucji ( NES ) są rodziną numerycznych optymalizacji algorytmów czarna skrzynka problemów. W duchu podobnym do strategii ewolucyjnych , to iteracyjnie aktualizować (ciągły) parametry rozkładu wyszukiwania postępując zgodnie z naturalnych gradient w kierunku wyższej oczekiwanej sprawności.

metoda

Procedura ogólna jest następująca: parametryzowane rozkład wyszukiwania jest używany do produkcji partii punktów wyszukiwania, a funkcja przydatności oceniano w każdym takim punkcie. Parametry rozkładu (która obejmować parametry strategy ) umożliwiają algorytm adaptacyjny uchwycić (lokalny) Struktura funkcji fitness. Na przykład, w przypadku rozkładu Gaussa , to obejmuje średnią i macierz kowariancji . Z próbek, NES szacuje gradient wyszukiwania po parametrach kierunku wyższej oczekiwanej sprawności. NES wykonuje następnie stopniowym gradientem wynurzania wzdłuż naturalnych gradient , drugi sposób zamówienia, które, w przeciwieństwie do zwykłego gradientu renormalizes niepewność zmiana wrt. Ten etap ma decydujące znaczenie, ponieważ uniemożliwia drgania, przedwczesnego konwergencji i niepożądanych efektów wynikających z danego parametryzacji. Cały proces powtarza aż kryterium zatrzymania jest spełniony.

Wszyscy członkowie rodziny NES działają na podstawie tych samych zasad. Różnią się one od rodzaju rozkładu prawdopodobieństwa i gradientu aproksymacji metody. Różne przestrzenie wyszukiwania wymagają różnych rozkładów wyszukiwania; Na przykład, w małej wymiarowości może to być bardzo korzystne do modelowania pełnej macierzy kowariancji. W dużych rozmiarach, z drugiej strony, bardziej skalowalnym rozwiązaniem jest ograniczenie kowariancji do przekątnej tylko. Ponadto, bardzo multimodalne obowiązuje wyszukiwania mogą korzystać z większej liczby ciężkich bielik dystrybucji (takich jak Cauchy'ego , w przeciwieństwie do Gaussa). Ostatnim wyróżnieniem powstaje między dystrybucjami gdzie możemy obliczyć analitycznie naturalnego gradientu, jak i bardziej ogólnych rozkładów gdzie musimy oszacować ją z próbkami.

Szukaj gradienty

Niech oznaczają parametry rozkładu wyszukiwania i funkcji fitness, ocenianego na . NES następnie realizuje cel, jakim jest maksymalizacja oczekiwanej sprawności pod dystrybucji wyszukiwania

przez wejście gradientu . Gradient można zapisać w postaci:

to znaczy, że wartość oczekiwana w czasach dziennika pochodne w . W praktyce możliwe jest korzystanie z Monte Carlo przybliżenie na podstawie skończonej liczby próbek

,

Wreszcie, parametry rozkładu wyszukiwania mogą być aktualizowane iteracyjnie

Naturalne wznoszenie gradientu

Zamiast używania zwykłego gradientu stochastycznych o aktualizacje, NES następuje naturalne nachylenie , które, jak wykazano, posiada wiele zalet w stosunku do zwykłego ( wanilia ); gradient, na przykład:

  • kierunek gradientu jest niezależna od parametryzacji rozkładu wyszukiwania
  • Wielkości te aktualizacje są automatycznie dostosowywane na podstawie niepewności, z kolei przyspieszenie konwergencji na płaskowyże i grzbiety.

Aktualizacja NES jest zatem

,

gdzie jest informacja matrycy Fishera . Matryca Fisher może czasami być dokładnie obliczane, w przeciwnym razie jest szacowana na podstawie próbek ponowne dzienniku pochodne .

kształtowanie fitness

NES wykorzystuje rangę opartych biznesowe kształtowanie w celu nadania algorytm bardziej wytrzymałe i niezmienna pod monotonicznie rosnących przemian funkcji fitness. W tym celu, przydatność ludności przekształca zbiór użyteczności wartości . Niech oznaczają I th najlepszego osobnika. Wymiana sprawności za pomocą narzędzia, szacunek nachylenie staje

,

Wybór funkcji użyteczności jest wolnym parametrem algorytmu.

Pseudo kod

input: 

1  repeat
   
2     for   do                                              // λ is the population size
       
3         draw sample 
       
4         evaluate fitness 
       
5         calculate log-derivatives 
       
6     end
   
7     assign the utilities                                           // based on rank
   
8     estimate the gradient 
   
9     estimate            // or compute it exactly 
   
10    update parameters                         // η is the learning rate

11 until stopping criterion is met

Zobacz też

Bibliografia

Linki zewnętrzne