Uczenie przez wzmacnianie

Paradygmat, w którym agent uczy się podejmować decyzje przez interakcję ze środowiskiem i otrzymywanie nagród lub kar. Celem jest maksymalizacja sumy nagród w czasie.

Uczenie przez wzmacnianie (ang. reinforcement learning, RL) to paradygmat uczenia maszynowego, w którym agent uczy się podejmować decyzje metodą prób i błędów: wykonuje akcje w jakimś środowisku, obserwuje, jak ono na to reaguje, i dostaje za to nagrodę albo karę. Cel jest jeden — tak dobierać kolejne akcje, żeby zmaksymalizować sumę nagród w czasie (tzw. return), a nie tylko jednorazowy zysk tu i teraz. To zasadnicza różnica względem uczenia nadzorowanego: nikt nie podaje agentowi „poprawnej odpowiedzi”, on sam musi ją wydedukować z sygnału nagrody.

Jak to działa

Pętla jest prosta i powtarza się w nieskończoność: agent widzi stan (ang. state), wybiera akcję zgodnie ze swoją polityką (ang. policy), środowisko zwraca nowy stan i nagrodę, a agent aktualizuje swoją wiedzę. Formalnie opisuje to proces decyzyjny Markowa (MDP). Kluczowy jest tu kompromis exploration vs. exploitation — czy korzystać z tego, co już działa, czy ryzykować nowe akcje w nadziei na lepszy wynik. Nagrody bywają opóźnione (efekt ruchu widać dopiero po 50 turach), więc agent musi nauczyć się przypisywać zasługę właściwym decyzjom — to słynny credit assignment problem.

RL sprawdza się tam, gdzie problem jest sekwencyjny: sterowanie robotem, gry, optymalizacja ruchu w sieci, systemy rekomendacji czy fine-tuning modeli językowych (RLHF — uczenie z informacji zwrotnej od człowieka).

Przykład z praktyki

Najprościej zacząć od biblioteki Gymnasium (następca OpenAI Gym). Klasyczne „hello world” RL to środowisko CartPole-v1 — balansowanie drążkiem na wózku. Pętla wygląda mniej więcej tak:

  • env = gym.make("CartPole-v1") — tworzysz środowisko,
  • obs, info = env.reset() — stan początkowy,
  • w pętli: action = agent.act(obs), a potem obs, reward, terminated, truncated, info = env.step(action).

Agenta możesz wytrenować algorytmem typu Q-learning (dla małych przestrzeni) albo sięgnąć po gotowce z biblioteki Stable-Baselines3 i metody jak PPO czy DQN. Po kilku tysiącach epizodów drążek przestaje się przewracać — i to bez ani jednej ręcznie wpisanej reguły „jak balansować”.

Częste błędy i mity

Mit: „RL to to samo co sieci neuronowe”. Nie — RL to sposób uczenia (sygnał nagrody), a sieci są tylko jednym z narzędzi do reprezentacji polityki (wtedy mówimy o deep RL). Na co uważać: źle zaprojektowana funkcja nagrody to klasyczna pułapka — agent znajdzie dziurę i zacznie „oszukiwać” (reward hacking), realizując literę nagrody, a nie jej intencję. RL jest też niesamowicie sample-inefficient — potrafi potrzebować milionów interakcji, więc realnie trenuje się go w symulacji, nie na żywym sprzęcie.

Powiązane pojęcia: Markov Decision Process, Q-learning, policy gradient, deep reinforcement learning, RLHF, exploration-exploitation, uczenie nadzorowane i nienadzorowane.