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 1A (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.