andrzej banachowicz - Akademia Morska w Gdyni

Transkrypt

andrzej banachowicz - Akademia Morska w Gdyni
PRACE WYDZIAŁU NAWIGACYJNEGO
AKADEMII MORSKIEJ W GDYNI
nr 22
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
nagroda
stan
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:
RT = rt +1 + rt + 2 + ... + rT
(1)
gdzie:
RT – suma nagród,
ri – 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]:
∞
Rt = rt +1 + γ ⋅ rt + 2 + γ ⋅ rt + 3 + ... = ∑ γ k ⋅ rt + k +1
(2)
k =0
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.
...
rt + 1
St
at
rt + 2
St + 1
at + 1
rt + 3
St + 2
at + 2
...
St + 3
at + 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 + γ ⋅ max Q( 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°.
Liczba
Aktualny Liczba
epizod wypadków 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

Podobne dokumenty