Beata Borkowska, Halina Kolenda

Transkrypt

Beata Borkowska, Halina Kolenda
Andrzej Rak
Akademia Morska w Gdyni
ZASTOSOWANIE UCZENIA ZE WZMOCNIENIEM W UKŁADACH
STEROWANIA RUCHEM STATKU
W artykule przedstawiono ideę zastosowania algorytmów uczenia ze wzmocnieniem do wyznaczania
trajektorii statku na ograniczonym akwenie, w obecności przeszkód nawigacyjnych. Program
sterujący statkiem pełni rolę ucznia, który poprzez dynamiczne interakcje z otoczeniem zdobywa
informację wartościującą (wzmocnienie), oceniającą akcje podejmowane przez ten program. Ciąg
akcji ma doprowadzić do wykonania zadania zgodnie z obraną strategią decyzyjną. W proponowanym rozwiązaniu zadaniem dla ucznia jest znalezienie możliwej do przebycia, bezpiecznej trajektorii
ruchu statku mającego wykonać manewry na ograniczonym akwenie.
1. WPROWADZENIE
Zagadnienie automatycznego sterowania statkiem dzieli się zazwyczaj na kilka
zadań wykonywanych odrębnie w zależności od etapu podróży, na jakim znajduje
się statek. Dla niektórych z tych zadań, jak stabilizacja kursu na otwartym akwenie
czy sterowanie wzdłuż trajektorii, zaproponowano kompleksowe i skuteczne
metody sterowania [4, 9]. Istnieją jednak zadania, związane przede wszystkim
ze sterowaniem jednostkami o nietypowych właściwościach dynamicznych albo
z wielowymiarowym sterowaniem precyzyjnym, które nie mają zadowalających
rozwiązań lub których rozwiązania można znacząco udoskonalić.
Proces manewrowania na wodach ograniczonych z małą prędkością jest
jednym z zadań nastręczających najwięcej trudności w budowie w pełni zautomatyzowanego układu sterowania ruchem statku. Trudności te wynikają przede
wszystkim z:
 nieliniowości dynamiki statku przejawiających się szczególnie podczas ruchu
z niewielkimi prędkościami,
 silnych, nieliniowych sprzężeń pomiędzy urządzeniami wykonawczymi (stery
strumieniowe, napęd główny, stery płetwowe),
 silnych zakłóceń środowiskowych, jak porywy wiatru, pływy, prądy, interakcje
z dnem i nabrzeżami oraz innymi manewrującymi jednostkami,
 niskiego stosunku mocy urządzeń wykonawczych do całkowitej masy statku –
zmniejsza to zakres dopuszczalnych błędów w manewrowaniu oraz nie pozwala
na kompensacje zakłóceń o dużej wariancji (uderzenia szkwałów).
134
ZESZYTY NAUKOWE AKADEMII MORSKIEJ W GDYNI, nr 62, grudzień 2009
Propozycje rozwiązań sterowania na wodach ograniczonych można znaleźć
w pracach [5, 6, 9]. Wykorzystują one zarówno klasyczną teorię sterownia, jak
i metody inteligencji obliczeniowej. Wspólną ich cechą jest to, że wielkości
zadane, opisane najczęściej w formie sekwencji manewrów przemieszczenia
i zmiany prędkości, określane są przez operatora.
Niniejszy artykuł opisuje koncepcję i wyniki wstępnych badań nad zastosowaniem algorytmów uczenia ze wzmocnieniem (ang. Reinforcement Learning –
RL) do generowania trajektorii zadanej. Idee leżące u podstaw tych algorytmów
przedstawiono w drugim punkcie artykułu. W punkcie trzecim opisano, jak algorytmy RL można dostosować do problemu określania zadanej trajektorii statku.
Następnie zaprezentowano wyniki badań symulacyjnych wybranych algorytmów.
Artykuł zamykają uwagi końcowe.
2. ALGORYTMY UCZENIA ZE WZMOCNIENIEM
W pewnym uproszczeniu algorytm RL można określić jako uczenie się na
podstawie prób i błędów [1]. Uczeń, zwany też agentem, wchodzi w interakcje ze
środowiskiem, w którym ma wykonać swoje zadanie. Interakcje te odbywają się
zazwyczaj w dyskretnych chwilach czasu t, zwanych krokami. Uczeń obserwuje
stan środowiska xt i wykonuje akcję at wybraną zgodnie z przyjętą strategią
decyzyjną. Po wykonaniu akcji środowisko zwraca uczniowi rzeczywistoliczbową
wartość stanowiącą nagrodę (wzmocnienie) rt. Wartość ta jest miarą oceny
działania systemu. Wykonanie akcji może także powodować zmianę stanu
środowiska. W przedstawionej konwencji nazw uczenie jest procesem modyfikacji
strategii wykorzystywanej podczas wybierania akcji na podstawie kolejnych
obserwacji stanów, akcji i nagród. Obserwowane czwórki <xt, at, rt, xt+1> nazywane są doświadczeniem i to właśnie praktyczne realizacje procesu modyfikacji
strategii na podstawie doświadczenia wyróżniają poszczególne algorytmy RL.
W niniejszej pracy wykorzystano dwa najlepiej opracowane algorytmy: QLearning i SARSA. Jak już wspomniano wyżej, podstawą działania wszystkich
algorytmów RL jest modyfikacja strategii. Opisowo można ją określić jako
program, który dostarcza uczniowi informacji, jaką akcję należy wykonać
w określonym stanie. Zależność pomiędzy stanem st a preferowaną akcją at ma
charakter probabilistyczny i jest reprezentowana w postaci funkcji wartości dla
określonego stanu lub funkcji wartości akcji. W celu przedstawienia szkicu
obydwu algorytmów będziemy posługiwać się funkcją wartości akcji, którą
definiuje się dla strategii  jako:
Q s , a   E  Rt st  s , at  a,
(1)
A. Rak, Zastosowanie uczenia ze wzmocnieniem w układach sreowania ruchem statku
135
przy czym E{ } oznacza wartość oczekiwaną zdyskontowanej sumy przyszłych nagród Rt,
jakie otrzyma uczeń rozpoczynający działanie w stanie st od akcji at i posługujący się
strategią .
2.1. Algorytm Q-Learning
Jak już sama nazwa wskazuje, algorytm ten uczy się funkcji wartości akcji.
Dokładniej rzecz biorąc, uczy się on oszacowania optymalnej funkcji wartości
akcji, aby móc wyznaczyć strategię zachłanną (maksymalizującą Qt dla dowolnego
at) względem niej. Można go zapisać w postaci:
Qt+1 st , at  = Qt st , at  +  rt+1 +  max Qt st+1 , at+1   Qt st , at  et st , at ,
at 1A


(2)
przy czym:

– współczynnik uczenia z przedziału (0,1],
– wartość wzmocnienia (nagrody) za wykonanie akcji,

– współczynnik dyskontowania,
et(st,at) – nazywane śladem aktywności, reprezentuje malejący wykładniczo wpływ akcji,
podjętej w bieżącym kroku t, na algorytm uczenia w kolejnych krokach.
rt+1
Uważny czytelnik zauważy zapewne, że przedstawiony wyżej paradygmat
uczenia jest modyfikacją równania optymalności Bellmana, w którym nieznane
wartości oczekiwane zastąpiono znanymi realizacjami odpowiednich zmiennych
losowych. Wykazano, że po spełnieniu pewnych formalnych warunków algorytm
Q-Learning jest zbieżny do optymalnej funkcji wartości akcji [3].
2.2. Algorytm SARSA
Algorytm ten jest blisko spokrewniony z przedstawionym powyżej. O ile dla
Q-Learning reguła modyfikacji funkcji wartości akcji opiera się na wyznaczeniu
maksymalnej wartości oczekiwanej wzmocnienia, o tyle w algorytmie SARSA
(State, Action, Reward, State, Action) scenariusz przewiduje uwzględnienie
w regule aktualizacji funkcji Q wartości akcji, która rzeczywiście została wybrana
w stanie st:
Qt+1 st ,at = Qt st ,at + rt+1 + Qt st+1 , at+1   Qt st ,at  et st ,at  .
(3)
Usunięcie maksymalizacji wartości akcji z reguły aktualizacji eliminuje
mechanizm, który w algorytmie Q-Learning prowadził w kierunku zbieżności do
optymalnej funkcji wartości akcji. W celu uzyskania podobnego efektu w opisywanym algorytmie wymaga się, aby posługiwał się on strategią zachłanną
względem wyznaczanej funkcji wartości akcji. Oznacza to, że SARSA jest
algorytmem zależnym od strategii (on-policy training). Posługuje się on strategią,
której się uczy, natomiast Q-Learning jest od strategii niezależny (off-policy
136
ZESZYTY NAUKOWE AKADEMII MORSKIEJ W GDYNI, nr 62, grudzień 2009
training). Różnice w działaniu obydwu algorytmów znalazły swe odbicie w wynikach badań symulacyjnych.
3. ALGORYTMY RL W ZADANIU MANEWROWANIA NA AKWENIE
OGRANICZONYM
Przedstawione wyżej algorytmy znajdują najczęściej zastosowanie w układach
sterowania ruchem statku, według dotychczas istniejących publikacji [2, 7, 8], jako
elementy regulatora, którego sygnałem wyjściowym jest kąt wychylenia steru.
Niniejsza praca, jak już wspomniano we wprowadzeniu, dotyczy zastosowania
algorytmów RL do generowania trajektorii zadanej ruchu statku. Jest to zagadnienie znacznie słabiej opracowane. Natomiast dla problemu sterowania, również
w układach wielowymiarowych, istnieje wiele satysfakcjonujących rozwiązań
[5, 6, 9].
Wstępny charakter prezentowanych rozważań wymusza przyjęcie pewnych
założeń upraszczających problem generowania trajektorii zadanych.
 Dobrze opracowane, zbieżne algorytmy dostępne są dla procesów dyskretnych.
Rozsądne więc wydaje się założenie, że pozycja statku będzie zdyskretyzowana
siatką kwadratów o boku równym długości statku [8].
 Z poprzednim założeniem wiąże się zagadnienie wystarczającego stopnia
eksploracji przestrzeni stanów, niezbędnego do osiągnięcia optymalnego lub
suboptymalnego rozwiązania w procesie uczenia. Ogranicza to stosowanie
systemu do niewielkich obszarów („rozsądnej” wielkości przestrzeni stanu),
gdyż – zwłaszcza przy tablicowej reprezentacji funkcji wartości – wymagana
moc obliczeniowa do rozwiązania problemu w akceptowalnym czasie może
przekroczyć rozsądne wartości.
 Statek morski nie jest najczęściej obiektem holonomicznym, system docelowy
musi więc włączyć do algorytmu preferencje ruchu wzdłuż osi podłużnej statku.
Prezentowane wyniki uwzględniają tylko zmianę pozycji statku.
 Opracowane algorytmy nie uwzględniają przeszkód ruchomych. Proponowane
rozwiązanie, w przeciwieństwie do systemów antykolizyjnych, stosowanych na
większych akwenach czy na pełnym morzu, ogranicza się do obszarów, na
których ruch obiektów jest bardzo powolny. Problem, na obecnym etapie badań,
uznaje się zatem za statyczny (lub quasi-statyczny).
Niezbędne jest też ogólne założenie: system powinien działać na podstawie
informacji o bieżącej oraz docelowej pozycji statku. Konieczna jest także wiedza
(w postaci elektronicznej) o akwenie – o obszarach dostępnych do bezpiecznej
żeglugi (tory wodne, strefy rozgraniczenia ruchu etc.) i o warunkach manewrowania na nich.
137
A. Rak, Zastosowanie uczenia ze wzmocnieniem w układach sreowania ruchem statku
4. WYNIKI BADAŃ SYMULACYJNYCH
Symulacje komputerowe, których wyniki przedstawiono na rysunku 1,
przeprowadzono, wykorzystując programy napisane w języku MATLAB.
Symulowana przestrzeń stanu ma postać tablicy o wymiarach 10 x 10. Statek może
więc znajdować się w jednej ze 100 pozycji. Zadanym stanem początkowym jest
s(9,2), oznaczony na rysunkach symbolem x. Zadany stan końcowy, oznaczony
ciemnym kółkiem, ma indeks s(2,9).
SARSA: funkcja wartości
Q-Learning: funkcja wartości
0
0
2
-2
2
-5
4
-4
4
-6
6
6
-8
8
-10
-10
8
-12
10
-15
2
4
6
8
10
10
2
4
SARSA: strategia
6
8
10
Q-Learning: strategia
2
2
4
4
6
6
8
8
10
10
2
4
6
8
10
2
SARSA: trajektoria
4
6
8
10
Q-Learning: trajektoria
2
2
4
4
6
6
8
8
10
10
2
4
6
8
10
2
4
6
8
10
Rys. 1. Wyniki działania algorytmów dla 1000 epizodów
W każdym stanie dopuszczalnych jest 9 akcji: przejście do dowolnej sąsiedniej
komórki lub pozostanie w miejscu. Wyjątkiem są stany brzegowe, dla których
akcje polegające na opuszczeniu obszaru są zabronione. Z akcją polegającą na
przejściu do kolejnego stanu związane jest wzmocnienie („nagroda”) o wartości -1.
Przejście do stanu końcowego nagradzane jest wzmocnieniem równym 0. Zdefiniowano więc klasyczne zadanie „do sukcesu”. Maksymalizacja nagrody (minima-
138
ZESZYTY NAUKOWE AKADEMII MORSKIEJ W GDYNI, nr 62, grudzień 2009
lizacja wartości bezwzględnej sumy ujemnych wzmocnień) zmusza algorytm do
poszukiwania jak najkrótszej drogi między stanem początkowym i końcowym.
Dodatkowym utrudnieniem jest obszar zabroniony w postaci pięciu stanów na
przecięciu wierszy od 4 do 8 i 5. kolumny. Przejście do każdego z tych stanów
skutkuje uzyskaniem wzmocnienia o wartości -20.
Q-Learning: funkcja wartości
SARSA: funkcja wartości
0
0
2
2
-5
4
-10
6
-15
8
-20
10
-5
4
6
-10
8
10
2
4
6
8
10
-15
2
4
6
8
10
Q-Learning: strategia
SARSA: strategia
2
2
4
4
6
6
8
8
10
10
2
4
6
8
10
2
2
2
4
4
6
6
8
8
10
10
4
6
8
6
8
10
Q-Learning: trajektoria
SARSA: trajektoria
2
4
10
2
4
6
8
10
Rys. 2. Wyniki działania algorytmów dla 10 000 epizodów
Rysunek 1 przedstawia funkcje wartości stanów, strategie i trajektorie
ostatniego epizodu dla eksperymentu przerwanego po 1000 próbach zakończonych
osiągnięciem stanu docelowego. Jak łatwo zauważyć, żaden z algorytmów nie
dysponuje jeszcze skuteczną strategią, choć w obu wypadkach funkcja wartości
stanu początkowego zbliża się do 10. Jednakże żadna ze strategii nie proponuje
przejścia do stanów zabronionych. Algorytm SARSA ma przy tym znacznie
silniejszą tendencję do eksploracji przestrzeni stanów, a Q-Learning do eksploatacji bieżącej strategii. Na rysunku 2 zaprezentowano te same parametry, lecz dla
procesu uczenia trwającego 10 000 epizodów. Wartość stanu początkowego w obu
przypadkach jest bardzo bliska 10. Oba algorytmy dysponują już także optymal-
A. Rak, Zastosowanie uczenia ze wzmocnieniem w układach sreowania ruchem statku
139
nymi strategiami. Q-Learning preferuje, zgodnie z rachunkiem prawdopodobieństwa, omijanie przeszkody „górą”, lecz ma również optymalną strategię
omijania jej „dołem” na wypadek, gdyby algorytm uczenia wymusił przejście ze
stanu początkowego, na przykład do stanu s(9,3) lub s(10,3). SARSA posługuje się
strategią omijającą przeszkodę tylko „dołem”. Strategie „górne”, gdyby zostały
wymuszone, są nieoptymalne. Algorytm ten wciąż eksploruje przestrzeń stanów,
co widać na przebiegu realizowanej trajektorii. Uczeń ze stanu s(7,7) przeszedł do
s(7,6), choć strategia wskazuje na s(6,8).
5. UWAGI KOŃCOWE
Wyniki przeprowadzonych badań wskazują na to, że algorytm Q-Learning,
wyznaczając strategię zachłanną względem funkcji wartości akcji (patrz punkt 2),
prowadzi do lepszych rozwiązań w zadaniu generowania trajektorii zadanej.
Z drugiej strony, słabsza tendencja do eksploracji przestrzeni stanów może
prowadzić do sytuacji, w której algorytm utknie w ekstremum lokalnym i nie
odnajdzie strategii optymalnej.
Zasadniczą korzyścią z powstania systemu mogącego wyznaczyć bezpieczną
trajektorię zadaną w procesie uczenia się bez nadzoru, dla manewrów na podejściu
do portu, w kanale czy w porcie, byłoby znaczne zwiększenie zakresu autonomii
systemu sterowania ruchem statku względem operatora. To oznacza zwiększenie
odporności na błędy, których źródłem jest człowiek.
Naturalnym kierunkiem przyszłych badań powinny być algorytmy, dla których
nie będzie stosować się uproszczeń przestawionych w punkcie 3 tego artykułu.
LITERATURA
1. Barto G. A., Sutton S. R., Reinforcement Learning: An Introduction, MIT Press, Cambridge 1998
(dostępne on-line: http://www.cs.ualberta.ca/~sutton/book/the-book.html).
2. Chatzidimitriou K., CS440 Project: Ship Steering Using Reinforcement Learning, Colorado State
University 2004 (dostępne on-line: http://en.scientificcommons.org/ 40636884).
3. Cichosz P., Systemy uczące się, Wydawnictwa Naukowo-Techniczne, Warszawa 2000.
4. Fossen T. I., Marine Control Systems: Guidance, Navigation and Control of Ships, Rigs and
Underwater Vehicles, Marine Cybernetics AS, Trondheim 2002.
5. Gierusz W., Synteza wielowymiarowych układów sterowania precyzyjnego ruchem statku
z wykorzystaniem wybranych metod projektowania układów odpornych, Wydawnictwo Akademii
Morskiej w Gdyni, Gdynia 2005.
6. Gyoungwoo L., Surendan S., Sang-Hyun Kim, Algorithms to control the moving ship during
harbour entry, Applied Mathematical Modelling, vol. 33 (2009), no. 5, s. 2474–2490.
140
ZESZYTY NAUKOWE AKADEMII MORSKIEJ W GDYNI, nr 62, grudzień 2009
7. Łącki M., Reinforcement learning in ship handling, TransNav'07 Symposium, Gdynia 2007.
8. Mitsubori K., Kamio T., Tanaka T., On A Course Determination based on the Reinforcement
Learning in Maneuvering motion of a ship with the tidal current effect, International Symposium
on Nonlinear Theory and its Applications, Xi’an 2002.
9. Morawski L., Nguyen Cong V., Rak A., Full-Mission Marine Autopilot Based on Fuzzy Logic
Techniques, Wydawnictwo Akademii Morskiej w Gdyni, Gdynia 2008.
APPLICATION OF REINFORCEMENT LEARNING TO SHIP MOTION
CONTROL SYSTEMS
Summary
The paper presents an idea of reinforcement learning application to reference trajectory generation
for the ship maneuvering in the confined waters. The ship controller acts as an agent, which gathers a
reinforcement signal evaluating its actions by the interaction with the environment. A series of the
actions chosen according to the specified policy should finish with the predefined goal. In the
proposed solution the course of actions is defined as consecutive points of safe, executable, reference
trajectory of the ship maneuvering in the confined waters.

Podobne dokumenty