Od this wiemy:
Zbieżność Q-learning trzyma przy użyciu dowolnego politykę poszukiwawczą, a jedynie wymaga, aby każda para działania państwa (s,a)
jest wykonywany nieskończenie często.
epsilon-greedy policy
to równowaga między eksploracją a eksploatacją, która gwarantuje zarówno konwergencję, jak i często dobrą wydajność.Ale w praktycznych problemach często potrzebujemy heurystyki, aby zmienić prędkość nauki alpha
, aby zapewnić lepszy zwrot. W przeciwnym razie trudno spełnić wymaganie infinite often
.
Podam przykład poniżej. Jest to klasyczny problem, w którym masz siatkę i prawdopodobnie masz inną nagrodę w każdej komórce. Na przykład poniżej pokazano sieć 4x4, w której każda komórka zawiera nagrodę w wysokości 1
, z wyjątkiem górnej lewej komórki (masz większą nagrodę o wartości 10
). Robot porusza się w siatce. Czynności prawne są przenoszone LEFT
, RIGHT
, UP
i DOWN
, ale robot nie może się wyprowadzić z sieci.
Tak więc nasza przestrzeń stanów zawiera 16 odrębnych stanów, co odpowiada 16 komórkom. Dla każdego stanu istnieje różna liczba działań prawnych z powodu ograniczeń granicznych. Naszym celem jest obliczyć optymalną politykę (biorąc pod uwagę dowolny stan s
, wyprowadzić optymalną akcję a
).
+++++++++++++++++++++
+ 10 + 1 + 1 + 1 +
+++++++++++++++++++++
+ 1 + 1 + 1 + 1 +
+++++++++++++++++++++
+ 1 + 1 + 1 + 1 +
+++++++++++++++++++++
+ 1 + 1 + 1 + 1 +
+++++++++++++++++++++
Załóżmy używamy epsilon-greedy policy
z epsilon=0.1
, stała szybkość uczenia alpha=0.1
. Zaczynamy od losowej pozycji na siatce. Za każdym razem, gdy docieramy do lewego górnego rogu, ponownie uruchamiamy losową pozycję.
Poniżej znajduje się wynik uruchomienia symulacji 200 000 ruchów. Lewy blok pokazuje wizualnie obecną chciwą politykę w każdej komórce.
-->
ruchu w prawo
<--
ruchu w lewo
^
Poruszanie się
v
Przesuwanie w dół
Więc widzisz ten jest daleki od optymalnej polityki. Oczywiście w optymalnej polityce każda komórka powinna wskazywać w lewo lub w górę, ponieważ mamy znaczącą większą nagrodę na pozycji (0,0)
.
v v v v | 2 9 5 4
v v v v | 14 98 75 14
--> v v <-- | 258 3430 3312 245
--> --> <-- <-- | 3270 93143 92978 3191
Prawy blok pokazuje, ile razy odwiedzamy dotychczasową komórkę. Widzisz, że większość odwiedzin spędzamy na dole, ale odwiedzamy najwyższy rząd bardzo rzadko. Właśnie dlatego nie osiągnęliśmy jeszcze optymalnej polityki.
Jeśli zmienimy współczynnik uczenia się na alpha=1/(number of times you visited (s,a) so far)
, jesteśmy w stanie osiągnąć optymalną politykę (pokazaną poniżej) w ciągu 20 000 kroków. Również liczba odwiedzin każdej komórki jest rozkładana bardziej równomiernie, choć nie jest idealna.
--> <-- <-- <-- | 34 7997 7697 294
^^^<-- | 731 898 524 132
^^^^ | 709 176 88 94
^^^^ | 245 256 96 77
Dla większego problemu z większą liczbą państw, na przykład, kratki 10x10, uważam, że lepiej jest użyć większych epsilon
. Na przykład poniżej jest wynik symulacji po 80 000 ruchów na siatce 10x10 z epsilon=0.5
. Jest niemal optymalny, z wyjątkiem prawego dolnego rogu. Istnieje również idea o używaniu symulowanego wyżarzania, aby poprawić współczynnik konwergencji Q-learning.
v <-- <-- <-- <-- <-- <-- <-- <-- <-- | 19 2500 1464 716 386 274 216 159 121 71
^ <-- <-- <-- <-- v <-- <-- <-- <-- | 9617 11914 3665 1071 580 410 319 225 207 131
^ ^^<-- <-- <-- <-- v <-- <-- | 5355 5716 2662 1675 1465 611 302 183 162 101
^ ^^^^<-- <-- <-- <-- <-- | 1604 1887 1192 621 1056 882 693 403 206 100
^ ^^^^^^<-- <-- <-- | 639 735 731 333 412 399 480 294 172 114
^ ^^<--^^^<-- <--^ | 373 496 640 454 272 266 415 219 107 98
^ ^^^^^^^<--^ | 251 311 402 428 214 161 343 176 114 99
^ ^^^<-- -->^<-- <-- <-- | 186 185 271 420 365 209 359 200 113 70
^ ^^^^^^^ v v | 129 204 324 426 434 282 235 131 99 74
^ ^^^^<--^<-- <-- <-- | 100 356 1020 1233 703 396 301 216 152 78
BTW, mój kod Python (~ 100 linii) dla problemu zabawka jest here.
Wygląda na to, że nawet pojęcie ujemnego Q (S, A) nie ogranicza wzrostu wartości akcji do nieskończoności. Załóżmy następujący scenariusz: T (a, a, e) = 1 R (a, a, e) = 1 max (P (S, A)) = P (S, A) W tym przypadku , wartość działania będzie nadal dryfować w kierunku pozytywnej nieskończoności. Prawdziwym powodem, dla którego nie rośnie w nieskończoność (w MDP bez skończonego horyzontu), jest wartość gamma (która zawsze jest mniejsza niż 1), która przypisuje mniejszą i mniejszą wagę kolejnym wartościom akcji, które ogranicza dryft w kierunku nieskończoności. – user3575425