Dodano: 2020-03-16
Reinforcement Learning, po polsku “uczenie ze wzmocnieniem”, jest jednym z działów uczenia maszynowego, zaraz obok uczenia nadzorowanego i nienadzorowanego. Skupia się ono na odpowiednim zbalansowaniu eksploracji środowiska oraz wykorzystywania wiedzy już zdobytej, by w jak najlepszy sposób wypełnić zadanie. Wiedza zaś pozyskiwana jest w następujący sposób (na podstawie popularnej gry “Pacman”):
Agent (gracz) decyduje się na wykonanie wybranej przez siebie akcji (ruch w prawo). Następnie przekazuje ją do środowiska (gra), które w zamian informuje go, na podstawie aktualnego stanu (pozycja na mapie), do jakiego następnego stanu trafił (stanięcie na pozycji duszka) i jaką nagrodę za to otrzymał (śmierć). Dzięki temu agent jest w stanie budować sobie strategię postępowania, na podstawie której decyduje on o podejmowanej akcji. By się rozwijać, trzeba jednak też korzystać z akcji, których się jeszcze nie wykonywało w danym stanie (np. przez wybieranie losowej akcji co jakiś czas), co nazywamy eksploracją środowiska.
Rysunek 1: Schemat podstawowy uczenia ze wzmocnieniem. [1]Strategię postępowania agent wyrabia sobie dzięki odpowiednim algorytmom. Zaliczają się do nich m.in. Value Iteration, Q-Learning, SARSA, Approximate Q-Learning czy Deep Q-Learning, które korzysta z sieci neuronowych.
Reinforcement Learning jest wykorzystywany w takich dziedzinach jak nawigacja, automatyka, robotyka, ekonomia, bazy danych, przemysł rozrywkowy. Najłatwiej wyniki nauki przez wzmocnienie jest przedstawić na grach i robotach. Poniżej kilka przykładów:
Rysunek 2: Robot do obracania naleśników. [2]
Rysunek 3: Komputer w starciu z prawdziwymi graczami Doty 2 [3]
Rysunek 4: Implementacja Reinforcement Learning w grach Atari [4]Świętym graalem świata Reinforcement Learning jest książka “Reinforcement Learning: An Introduction” autorstwa Richarda Suttona i Andrew Barto. Nie ma publikacji, która nie odwoływała by się do ich pracy. Jest to na pewno literatura, po którą warto sięgnąć.
ŹRÓDŁA:
[1] https://en.wikipedia.org/wiki/Reinforcement_learning[2] https://www.youtube.com/watch?v=W_gxLKSsSIE[3] https://openai.com/blog/openai-five/[4] https://www.youtube.com/watch?v=_5T7F_QRIqkAutorzy: Izabela Wiatrowska i Adrianna Cieńciała