Czym jest Uczenie Q (Q-learning)?
Uczenie Q, powszechnie zapisywane jako Q-learning, należy do grupy metod uczenia wzmacniającego, w których program uczy się poprzez interakcję ze środowiskiem i otrzymywanie nagród. Koncepcja została sformalizowana przez Christophera J. C. Watkinsa w pracy doktorskiej obronionej w 1989 r. na University of Cambridge, a rok później opublikowana w czasopiśmie „Machine Learning”. Od tamtego czasu algorytm stał się fundamentem licznych badań przedstawionych m.in. w podręczniku Richarda S. Suttona i Andrew G. Barto „Reinforcement Learning: An Introduction”.
Nazwa metody nawiązuje do funkcji Q, która przypisuje wartość oczekiwanej nagrody danej parze stan, akcja. Poprzez aktualizacje tej funkcji agent uczy się, jaka decyzja w danej sytuacji maksymalizuje sumę przyszłych zysków zdyskontowanych współczynnikiem γ.
Jak dokładnie działa Uczenie Q (Q-learning)
Aktualizacja funkcji Q
Kluczowym elementem jest równanie aktualizacyjne: Q(s,a) ← Q(s,a) + α (r + γ maxa' Q(s',a') − Q(s,a)), gdzie α określa prędkość uczenia, r otrzymaną nagrodę, a γ znaczenie przyszłych zysków. Iteracyjne stosowanie tej formuły prowadzi do zbieżności Q do optymalnej funkcji wartości, o ile agent wystarczająco eksploruje przestrzeń decyzji.
Eksploracja kontra eksploatacja
Jednym z najważniejszych zagadnień praktycznych jest równowaga między wybieraniem akcji już uważanych za najlepsze a sprawdzaniem nowych możliwości. W najprostszym wariancie realizuje się ją strategią ε-greedy, gdzie z małym prawdopodobieństwem ε agent decyduje się na losowy ruch.
Zastosowania w praktyce
Dzięki swojej prostocie Q-learning znalazł zastosowanie zarówno w badaniach, jak i w przemyśle. Algorytm steruje niewielkimi robotami poruszającymi się w labiryntach, zarządza portfelami inwestycyjnymi poprzez podejmowanie decyzji o kupnie i sprzedaży akcji, a także wspiera optymalizację routingu sieciowego, gdzie agent wybiera ścieżki pakietów w dynamicznie zmieniającym się środowisku. W 2013 r. DeepMind zaadaptował ideę Q-learningu do sieci neuronowych w tzw. Deep Q-Network, co udowodniło, że technika radzi sobie również z reprezentacjami o bardzo dużym wymiarze, np. surowymi pikselami gier Atari.
Dla kontrastu, klasyczne programowanie wykorzystuje reguły eksperckie lub statyczne heurystyki, które trudniej dostosować do zmieniających się warunków. Q-learning samoczynnie uaktualnia wiedzę o środowisku na podstawie obserwowanych rezultatów, co czyni go bardziej elastycznym w sytuacjach niepewności.
Zalety i ograniczenia
Bezmodelowy charakter algorytmu sprawia, że nie wymaga on wstępnej znajomości dynamiki środowiska, co znacząco ułatwia implementację. Gwarancja zbieżności do optimum, dowiedziona przez Watkinsa i Dayana w 1992 r., dodaje mu solidnych podstaw teoretycznych. W praktyce Q-learning bywa jednak wrażliwy na rozmiar przestrzeni stanów, ponieważ dla każdego stanu i akcji trzeba przechowywać oddzielną wartość. W dużych problemach stosuje się zatem aproksymację funkcji Q, np. za pomocą sieci neuronowych lub drzew decyzyjnych.
Na co uważać?
Niewłaściwie dobrane hiperparametry, w szczególności zbyt wysoki współczynnik uczenia lub błędny kompromis między eksploracją a eksploatacją, mogą prowadzić do zbieżności w nieoptymalne strategie albo do znacznego wydłużenia procesu nauki. W zastosowaniach krytycznych należy także rozważyć bezpieczeństwo eksploracji, ponieważ agent uczący się na żywo w systemie produkcyjnym może generować kosztowne lub niebezpieczne decyzje, zanim ustabilizuje politykę.
Dodatkowe źródła
Szczegółowy opis oryginalnej koncepcji można znaleźć w artykule zostań Christophera Watkinsona „Learning from Delayed Rewards”, dostępnym w repozytorium Royal Holloway University of London. Kompendium wiedzy praktycznej i teoretycznej oferuje podręcznik “Reinforcement Learning: An Introduction”. Aktualne prace badawcze, w tym Deep Q-Network, dostępne są w bibliotece arXiv. Dobrym miejscem startowym jest także hasło Q-learning na Wikipedii.


