Czym jest Reinforcement Learning i czym różni się od innych metod Machine Learningu? 

Reinforcement Learning (RL) jest metodą uczenia maszynowego, która swoje korzenie posiada w psychologii. Proces i zasady na jakich działa dobrze obrazuje nam warunkowanie Pawłowa, gdzie za wykonanie odpowiedniej akcji otrzymuje się nagrodę, a po pewnym czasie wyuczona jednostka “podświadomie” wykonuje daną czynność. RL zyskał znacznie na popularności w ostatnich latach ze względu na swoje zastosowania w robotyce, grach oraz wielu innych dziedzinach. Unity, jeden z bardziej popularnych silników do gier wprowadził wręcz własną bibliotekę ułatwiającą stosowanie RL w swoich projektach i stale ją rozwija.

Z definicji: „Reinforcement Learning jest procesem iteratywnym, w którym algorytm próbuje zmaksymalizować wartość jakiejś zmiennej bazując na otrzymywanych nagrodach za odpowiednie zachowanie”. W przełożeniu na bardziej przystępny język, jest to proces, który pozwala obiektowi (agentowi) na naukę w interaktywnym otoczeniu metodą prób i błędów.

W przeciwieństwie do uczenia nadzorowanego (Supervised Learning), gdzie informacją zwrotną podawaną agentowi jest wartość, którą powinien osiągnąć, w RL używa systemu kar i nagród za negatywne i pozytywne zachowanie. Z kolei od uczenia nienadzorowanego (Unsupervised Learning), którego celem jest znalezienie podobieństw i różnic pomiędzy kolejnymi zestawami danych, RL różni się celem który osiągamy na końcu. Celem RL jest znalezienie takiego modelu podejmowanych przez AI akcji, które w końcowym rozrachunku zwróci mu jak największą nagrodę.

Cały proces uczenia w RL możemy porównać do nas samych, którzy jako niemowlęta uczyliśmy się chodzić. Wywracając się i zdobywając kolejne doświadczenia poprawialiśmy sposób w jaki stawialiśmy swoje pierwsze kroki , aż w końcu w pewnym momencie udawało nam stanąć się na nogi i wykonywać czynność chodzenia w miarę naturalny sposób.

Zastosowania Reinforcement Learningu

Chociaż wciąż jesteśmy na wczesnych etapach rozwoju RL, to możemy zobaczyć, że coraz więcej branż znajduje dla niego zastosowania w swoich dziedzinach. Firmy implementują Reinforcement Learning głównie w miejscach, w których występuje proces podejmowania decyzji. RL ma zazwyczaj za zadanie całkowitą automatyzację tego procesu lub wspomożenie użytkownika czy pracownika w podjęciu decyzji poprzez podanie mu optymalnych dostępnych rozwiązań. 

Oto kilka przykładów branż i zastosowań RL w otaczającym nas świecie :

  • Robotyka – to jedna z branż, w których zastosowanie RL jest najbardziej popularne i najprężniej się rozwija. Tutaj RL znacznie ułatwia “wyuczenie” robota zachowań, które są trudne do zamodelowania i zaprogramowania ze względu na swoją złożoność. Żeby zobrazować do czego tutaj zdolne jest RL możemy wziąć przykład, gdzie inżynierom udało się na podstawie wysyłanych obrazów w czasie rzeczywistym nauczyć robota podejmowania decyzji i wykonywania odpowiednich akcji. WIDEO
  • Gry komputerowe – pierwsza branża w której Reinforcement Learning znalazł swoje zastosowanie w praktyce, głównie ze względu na fakt, że bogactwo mechanik i czynności w grach komputerowych jest świetnym polem do testów różnych algorytmów uczenia maszynowego. RL wykorzystuje się tutaj aby osiągnąć jak najbardziej realistyczne i “ludzkie” zachowania przeciwników w grach. Od prostych gier takich jak np. Go (chińska gra planszowa), gdzie AlphaZero (AI) nie znając żadnych zasad było w stanie osiągnąć mistrzowski poziom w zaledwie kilka dni, po bardziej skomplikowane takie jak Starcraft II (zaawansowana gra strategiczna w czasie rzeczywistym), gdzie AI o nazwie AlphaStar osiągnęło poziom graczy, którzy znajdują się najwyżej w rankingu.
  • Chemia – RL może także zostać użyte do zoptymalizowania warunków reakcji chemicznych jak pokazuje ten artykuł. Autorzy pokazali, że ich sieć neuronowa pobiła najnowszy napisany przez ludzi algorytm zajmujący się tym samym zadaniem i zrobiła to używając 71% mniej kroków zarówno dla reakcji testowych jak i rzeczywistych.
  • Personalizacja – czy to reklam, czy polecanych produktów, czy filmów. Algorytmy RL w większości zajmują się tego typu rzeczami pozwalając klientom na osiągnięcie jak najlepszych doznań podczas korzystania z serwisów, a co z tym idzie na zwiększenie zysków przez firmę.
  • Pojazdy Autonomiczne – większość urządzeń autonomicznych takich jak np. drony czy samochody, opiera całą swoją budowę o algorytmy RL. Brytyjska firma Wayve, była w stanie z pomocą RL zaprojektować samochód, który już po 15-20 minutach był w stanie sam jechać po ulicy. Za każdym razem gdy pojazd zjeżdżał z drogi siedzący w środku kierowca poprawiał tor jazdy. Samochód był nagradzany za ilość czasu, w którym kierowca nie musiał interweniować w prowadzenie pojazdu. WIDEO
  • Chatboty – RL używane jest także, w niektórych przypadkach, do usprawniania używanych chatbotów w serwisach i do wyuczenia ich bardziej “ludzkich” odpowiedzi. Głównym czynnikiem dla którego korzysta się z RL jest faktem że z każdą kolejną przeprowadzoną rozmową boty będą stawać się coraz lepsze

Pomimo tak wielu zastosowań dla Reinforcement Learning’u, wciąż jesteśmy daleko od osiągnięcia sztucznej inteligencji, która jest zdolna do uczenia się w takim samym tempie jak człowiek. Z drugiej strony, dziedzina ta cały czas jest rozwijana i pojawiają coraz to nowe innowacyjne rozwiązania, dzięki którym nasze codzienne życie w przyszłości może stać się znacznie prostsze.

Autor: Mateusz Gujda, Software Developer AVOCADO Soft / YOSI.PL

Bibliografia : 
  1. https://medium.com/@SmartLabAI/reinforcement-learning-algorithms-an-intuitive-overview-904e2dff5bbc
  2. https://towardsdatascience.com/applications-of-reinforcement-learning-in-real-world-1a94955bcd12
  3. https://pubs.acs.org/doi/full/10.1021/acscentsci.7b00492
  4. https://www.ias.informatik.tu-darmstadt.de/uploads/Publications/Kober_IJRR_2013.pdf
  5. https://www.sciencedirect.com/topics/neuroscience/reinforcement-learning
  6. https://medium.com/@jonathan_hui/rl-introduction-to-deep-reinforcement-learning-35c25e04c199
  7. https://arxiv.org/pdf/1912.10944.pdf
  8. https://www.forbes.com/sites/bernardmarr/2018/09/28/artificial-intelligence-what-is-reinforcement-learning-a-simple-explanation-practical-examples/#2d0d60c139ce
  9. https://chatbotslife.com/how-to-use-deep-rl-for-chatbot-evolution-and-make-it-more-human-a099ff8b91e8