Jak zastosować gradienty polityki w przypadku wielu ciągłych działań?

11

Trusted Region Policy Optimization (TRPO) i Proximal Policy Optimization (PPO) to dwa najnowocześniejsze algorytmy gradientowe.

Podczas korzystania z pojedynczego działania ciągłego normalnie użyłbyś pewnego rozkładu prawdopodobieństwa (na przykład Gaussa) dla funkcji straty. Wersja przybliżona to:

L.(θ)=log(P.(za1))ZA,

gdzie ZA jest zaletą nagród, P.(za1) charakteryzuje się μ i σ2)który pochodzi z sieci neuronowej, jak w środowisku Pendulum tutaj: https://github.com/leomzhong/DeepReinforcementLearningCourse/blob/69e573cd88faec7e9cf900da8eeef08c57dec0f0/hw4/main.py .

Problem polega na tym, że nie mogę znaleźć żadnego artykułu na temat ciągłych działań 2+ przy użyciu gradientów polityki (nie metod krytyk aktorskich, które stosują inne podejście, przenosząc gradient z funkcji Q).

Czy wiesz, jak to zrobić za pomocą TRPO dla 2 ciągłych działań w środowisku LunarLander ?

Czy następujące podejście jest prawidłowe dla funkcji utraty gradientu polityki?

L.(θ)=(logP.(za)+logP.(za2)))ZA

Evalds Urtans
źródło

Odpowiedzi:

6

Jak już powiedziałeś, działania wybrane przez Actor-Critic zwykle pochodzą z normalnego rozkładu i zadaniem agenta jest znalezienie odpowiedniej średniej i standardowego odchylenia w oparciu o bieżący stan. W wielu przypadkach ta jedna dystrybucja jest wystarczająca, ponieważ wymagana jest tylko 1 ciągła akcja. Ponieważ jednak dziedziny takie jak robotyka stają się coraz bardziej zintegrowane z AI, rosnącym problemem są sytuacje, w których wymagane są 2 lub więcej ciągłych działań.

Istnieją dwa rozwiązania tego problemu: pierwszym i najczęstszym jest to, że dla każdego ciągłego działania istnieje osobny agent uczący się własnej 1-wymiarowej średniej i odchylenia standardowego. Część jego stanu obejmuje również działania innych agentów, aby dać kontekst temu, co robi cały system. Zwykle robimy to w moim laboratorium, a oto artykuł opisujący to podejście, w którym 3 aktorów-krytyków pracuje razem, aby poruszyć ramię robota.

Drugie podejście polega na tym, aby jeden agent znalazł wielowymiarową (zwykle normalną) dystrybucję polisy. Chociaż teoretycznie to podejście może mieć bardziej zwięzły rozkład polityki poprzez „obracanie” rozkładu opartego na macierzy współwariancji, oznacza to, że należy nauczyć się również wszystkich wartości macierzy współwariancji. Zwiększa to liczbę wartości, których należy się nauczyćn ciągłe wyjścia z 2)n (średnia i stddev), do n+n2) (n środki i n×nmacierz współwariancji). Ta wada sprawiła, że ​​takie podejście nie jest tak popularne w literaturze.

To jest bardziej ogólna odpowiedź, ale powinna pomóc tobie i innym w rozwiązywaniu związanych z nimi problemów.

Jaden Travnik
źródło
1
Jaden dzięki za świetną odpowiedź. 1. Próbowałem architektury wieloagentowej, ale nie jest to bardzo wydajne. Konwergencja trwa znacznie dłużej. 2. Teraz dystrybucja na wielu odmianach wydaje mi się również oczywista, dziękuję.
Evalds Urtans
1
W zależności od aplikacji i architektury (jeśli jest to sieć głęboka), możesz mieć agentów współużytkujących funkcje niskiego poziomu, a następnie pozwolić im rozgałęzić się do własnych funkcji wartości. Dodatkowo posiadanie 1 krytyka i wielu aktorów jest również sposobem na zwiększenie architektury.
Jaden Travnik
W tej chwili chciałbym zastosować twoje sugestie do TRPO (tylko metody gradientu polityki), a nie aktor-krytyk. Nie jestem zbyt pewny przejścia gradientu od krytyka do aktora - w wielu implementacjach widziałem, że wygląda na to, że nie powinien działać, mimo że się zbiega.
Evalds Urtans,
1
Przepraszam za pytanie noob: w jaki sposób stosuje się to w metodach krytyk-aktor (w których aktor może wykonywać wiele jednoczesnych ciągłych akcji), w których aktor ma funkcję polityki i zostaje przeszkolony metodą gradientu polityki? @JadenTravnik Czy możesz wyjaśnić to w odpowiedzi pod nowym nagłówkiem?
Gokul NC