PRACE WYDZIAŁU NAWIGACYJNEGO nr 22 AKADEMII MORSKIEJ W GDYNI 2008 MIROSŁAW ŁĄCKI Akademia Morska w Gdyni Katedra Nawigacji ZASTOSOWANIE ALGORYTMÓW UCZENIA SIĘ ZE WZMOCNIENIEM WE WSPOMAGANIU PROCESÓW PODEJMOWANIA DECYZJI PODCZAS MANEWROWANIA STATKIEM W prezentowanym artykule przedstawiono koncepcję zastosowania algorytmów uczenia się ze wzmocnieniem we wspomaganiu procesów podejmowania decyzji podczas manewrowania statkiem. Celem badań było wykonanie aplikacji i przeprowadzenie symulacji komputerowej dla różnych modeli środowiska. W zastosowanej metodzie uczenia się ze wzmocnieniem, symulowany w aplikacji model statku traktowany jest jako agent, który przez interakcję ze środowiskiem uczy się sterowania statkiem na ograniczonym obszarze, starając się znaleźć optymalną trasę przejścia. Proces uczenia polega na obserwowaniu aktualnego stanu i otrzymanej nagrody po wybraniu jednej z dostępnych akcji. Agent otrzymuje nagrodę za dotarcie do celu, bądź karę za wpłynięcie na przeszkodę. 1. OPIS IDEI UCZENIA SIĘ ZE WZMOCNIENIEM Główna idea uczenia się ze wzmocnieniem bazuje na interakcji agenta ze środowiskiem (rys. 1). Środowisko stan nagroda Agent akcja Rys. 1. Ogólny model uczenia się ze wzmocnieniem [3] 62
Agent stanowi autonomiczną jednostkę zdolną do podejmowania decyzji w oparciu o zdobytą w trakcie nauki wiedzę. Środowiskiem jest obiekt zewnętrzny z którym ów agent współdziała. W przypadku zastosowania algorytmów uczenia się ze wzmocnieniem we wspomaganiu procesów podejmowania decyzji podczas manewrowania statkiem, środowiskiem jest nie tylko akwen wodny lecz także wybrane parametry statku (tj. prędkość kątowa bądź wychylenie steru). W dowolnym momencie środowisko informuje agenta w jakim stanie się znajduje. Agent ten, po wybraniu jednej z dostępnych akcji, otrzymuje sygnał wzmocnienia nazywany nagrodą. Z otrzymanych nagród cząstkowych agent potrafi obliczyć wartości stanów oraz wartości poszczególnych akcji w tych stanach. Głównym celem agenta jest maksymalizacja końcowej wartości sumy nagród cząstkowych: R T = rt + 1 + rt + 2 +... + rt (1) gdzie: R T suma nagród, r i nagrody cząstkowe w momencie i. W przypadku modelu procesu ciągłego, do wzoru wprowadza się współczynnik dyskontowy γ dla kolejnych nagród cząstkowych [2]: R = r t k t + 1 + rt + 2 + γ rt + 3 +... = γ k = 0 γ r (2) t + k + 1 W uczeniu się ze wzmocnieniem, model środowiska zbudowany jest na podstawie procesu decyzyjnego Markowa [5], definiowanego jako: S zbiór stanów środowiska, A(s) zbiór akcji a możliwych do podjęcia w stanie s S, P(s,s',a) prawdopodobieństwo podjęcia akcji a A(s) i przejścia z s do s', R(s,s',a) oczekiwana nagroda przy przejściu z s to s',γ współczynnik dyskontowy dla kolejnych nagród.... S r t + 1 t S r t + 2 t + 1 S t + 2 r t + 3 S t + 3... a t a t + 1 a t + 2 a t + 3 Rys. 2. Schemat stanów, akcji i nagród cząstkowych [5] Najprostszy algorytm uczenia się ze wzmocnieniem, zwany 1-krokowy Q-Learning, polega na przeliczeniu wartości pary stan akcja Q(s,a) na podstawie sygnałów otrzymanych przez agenta z poprzedniego stanu do aktualnego. 63
Algorytm Q-Learning [1]: Wyzeruj wartości Q(s,a). Dla każdego epizodu powtarzaj: Określ stan s. W każdym kroku epizodu powtarzaj: wybierz a z s stosując politykę π wyznaczoną z Q (np., ε-zachłanna), wybierz akcję a, obserwuj r, s. δ r + γ maxq( s', a') Q( s, a) Q ( s, a) Q( s, a) +α δ s s dopóki s jest stanem końcowym. Wartości α i γ dobierane są doświadczalnie lub według przyjętej kontroli polityki π procesu uczenia się. 2. ŚLEDZENIE WYBIERALNOŚCI W procesie uczenia się występuje problem przeniesienia wartości aktualnie otrzymanej nagrody cząstkowej na poprzednie wartości par stan akcja, które doprowadziły agenta do aktualnego stanu. Problem ten można rozwiązać poprzez zastosowanie śladów wybieralności (ang. Eligibility Traces) danej akcji w danym stanie. Im częściej dana akcja zostanie wybrana, tym większy wpływ na wartości ostatnio zaistniałych par stan akcja ma nagroda cząstkowa otrzymana po tej akcji. Wystąpienie pary s, a Akumulacja śladów Zamiana śladów Rys. 3. Wartości śladów akumulowanych i zamienianych [2] 64
W zależności od wybranego algorytmu i symulowanego modelu można zastosować wartość akumulowaną śladów lub wartość zamienianą śladów. Szybkość zmniejszania się wartości śladu wybieralności zależy od współczynnika uczenia się α. 3. KONTROLA POLITYKI Główną różnicą uczenia się ze wzmocnieniem i uczenia nadzorowanego jest poszukiwanie przez agenta nowych akcji w określonym stanie. Zjawisko to jest nazywane eksploracją i musi być zrównoważone z wykorzystaniem zdobytej już wiedzy na temat wartości akcji w poszczególnych stanach, czyli eksploatacją. Dobór odpowiednich wartości współczynników bilansu eksploracja eksploatacja tworzy kontrolę polityki π procesu podejmowania decyzji przez agenta [1]. W algorytmach uczenia się ze wzmocnieniem, problemem jest również przestrzeń stanów im większy akwen wodny, tym dłuższy proces uczenia się wynikający z większej liczby iteracji. Do zapisania wartości par stan akcja potrzeba także więcej zasobów pamięci. Dynamiczne środowisko również znacznie utrudnia zoptymalizowanie współczynników równań obliczających wartości stanów i akcji. Możliwość pojawienia się nowego stanu utrudnia zamodelowanie środowiska i znacznie komplikuje strukturę algorytmu. Ciągła przestrzeń stanów musi być skwantyfikowana, dlatego też dla celów symulacji środowisko w którym znajduje się agent sternik zostało podzielone na regularne elementy. Od siły kwantyfikacji zależała wierność modelu im więcej stanów, tym dokładniejszy model, lecz dłuższy czas uczenia się. Cel Rys. 4. Wierność modelu zależna od wielkości wektora stanów [3] 65
4. PARAMETRY SYMULACJI W modelu zastosowanym w aplikacji użyto następujących parametrów: zbiór akcji: kąt wychylenia steru δ: -30 30 co 5 wektor stanów: prędkość kątowa r: -13..13 1/s kurs statku ψ: 0 360 co 12 pozycja statku X,Y: Siatka stref o różnej gęstości 10x10, 20x20, 100x100 wzmocnienia (nagrody i kary): a) -1 za każdą jednostkę czasu, b) -100 za wpłynięcie na niedozwolony obszar (mielizny, przeszkody, wypłynięcie poza strefę w miejscu innym niż wyznaczone), c) 100 za dopłynięcie do celu. N δ ψ Cel r Rys. 5. Model zastosowanych sygnałów w wektorze stanów [3] W celu uproszczenia symulowanego modelu założono, że prędkość statku jest stała. 66
5. WYNIKI SYMULACJI 1. Gęstość siatki 10x10, kurs początkowy z przedziału 60 120. Aktualny epizod Liczba wypadków Liczba dopłynięć do celu Wykres czasowy wydajności agenta (ostatnie 800 epizodów) Moment znalezienia celu (ep. ~750) Rys. 6. Okno symulacji 1 Przy wymienionych założeniach przebadano ogólną zdolność agenta do znajdowania celu w obszarze z jedną przeszkodą na drodze do celu przy różnych wartościach początkowych kursu statku (od 60 do 120 ). Na początku symulacji agent nie wiedział, gdzie jest cel rejsu, a jego pierwszym zadaniem było nauczenie się omijania przeszkody na drodze do celu. Po znalezieniu celu rejsu, co zajęło mu około 300 epizodów na siatce o małej gęstości stref (10x10) okazało się, że agent bardzo szybko potrafił poprawić trasę rejsu eksperymentując z nowymi ustawieniami steru. Ogólna charakterystyka wydajności algorytmu w tym momencie czasowym była następująca: na całkowitą liczbę 366 ukończonych epizodów 227 (62%) zakończyło się wpłynięciem na przeszkodę, a 139 (38%) dopłynięciem do celu. Dzięki zdolności agenta do szybkiego uczenia się skuteczność algorytmu po znalezieniu celu w ciągu kilkunastu epizodów wzrosła do poziomu około 95%. 67
2. Gęstość siatki 10x10, kurs początkowy 120 Moment znalezienia celu (ep. ~16200) Rys. 7. Okno symulacji 2 W założonej sytuacji przebadano zdolność agenta do przepływania przez wąskie przesmyki. Na początku symulacji położenie celu rejsu dla agenta nie było znane. Dopłynięcie do celu było dodatkowo utrudnione, gdyż agent starał się omijać niebezpiecznie wąski przesmyk. Pierwsze dopłynięcie do celu rejsu nastąpiło po około 10 000 epizodów na siatce o małej gęstości stref (10x10). W badanej sytuacji agent nie miał zbyt wiele miejsca na eksperymentalne poszukiwanie lepszego ustawienia steru, stąd tak słaba ogólna charakterystyka wydajności algorytmu w zaprezentowanym momencie czasowym: pierwsze dopłynięcie do celu pojawiło się dopiero po około 16 200 epizodach, przy współczynniku eksploracji ε = 0,001 (nowe akcje pojawiały się w każdym momencie podejmowania decyzji przez agenta z prawdopodobieństwem równym 0,001). Skuteczność algorytmu utrzymywała się na poziomie około 80%. 68
3. Gęstość siatki 20x20, kurs początkowy 0 Rys. 8. Okno symulacji 3 Przy wymienionych założeniach przebadano ogólną zdolność agenta do znajdowania celu w obszarze ograniczonym z jedną przeszkodą, przy większej gęstości siatki (20x20). Na początku symulacji agent nie wiedział, gdzie jest cel rejsu i jego pierwszym zadaniem było nauczenie się omijania przeszkód na drodze do celu. Po około 1000 epizodów agent znalazł trasę do celu, chociaż trasa ta nie była jeszcze trasą optymalną. Na rysunku można zobaczyć kilka ostatnich tras eksperymentalnych, które dawały bardzo duży rozrzut tras, przy współczynniku eksploracji ε = 0,001 i współczynniku uczenia się równym α = 0,026, co oznacza, że nauczona wartość tej akcji w danym stanie musi być dodana do funkcji wartości z wagą α. W przedstawionym momencie czasowym, na ogólną liczbę 1079 skończonych epizodów, statek dopłynął do celu 71 razy (6,6%). Po znalezieniu celu rejsu, skuteczność algorytmu szybko wzrosła do poziomu ponad 95%. 69
6. WNIOSKI Skuteczność algorytmów uczenia się ze wzmocnieniem jest w dużym stopniu zależna od przyjętego modelu środowiska. Dokładność odwzorowania ograniczonego obszaru wodnego oraz wielkość wektora akcji ma istotny wpływ na złożoność obliczeń. Zmniejszenie czasu obliczeń można uzyskać poprzez skwantyfikowanie ciągłej przestrzeni stanów jaka występuje w przypadku manewrowania statkiem na ograniczonym obszarze. Ponadto w badanych sytuacjach nie była rozpatrywana obecność innych jednostek pływających, co należy uwzględnić w dalszych badaniach. Ogólny algorytm wymaga również optymalizacji pod względem wyboru tras głównych, które mogą być obliczane za pomocą algorytmów innych niż uczenie ze wzmocnieniem w celu przyspieszenia i zwiększenia dokładności obliczeń. LITERATURA 1. Eden T., Knittel A., Uffelen R., Reinforcement Learning: Tutorial, University of New South Wales, Sydney 2002. 2. Kaelbling L.P., Littman & Moore, Reinforcement Learning: A Survey, Journal of Artificial Intelligence Research, Vol. 4, 1996. 3. Łącki M., Machine learning algorithms in decision making support in ship handling, Transport Systems Telematics TST, Politechnika Śląska, Polska Akademia Nauk, Komitet Transportu, Katowice Ustroń 2007. 4. Łącki M., Reinforcement learning in ship handling, VII International Symposium of Navigation TransNav, WN AM w Gdyni, The Nautical Institute, Gdynia 2007. 5. Sutton R., Barto A., Reinforcement Learning: An Introduction, MIT Press, 1998. REINFORCEMENT LEARNING ALGORITHMS IN DECISION MAKING SUPPORT IN SHIP HANDLING (Summary) In this paper, the author presents the idea of using machine learning algorithms to aid action decision making in ship manoeuvring. Main goal of presented approach was to create an application, simulate and present results of simulation in different layouts of restricted waters. Reinforcement learning is based on agent interactions with environment. The agent learns through exploration of the environment and tries to find the best solution which is determined by positive or negative rewards received after each action taken. 70