Zacznij terazZacznij za darmo

Implementacja reguły aktualizacji w podwójnym Q-uczeniu

Podwójne Q-uczenie (Double Q-learning) to rozszerzenie algorytmu Q-uczenia, które pozwala ograniczyć przecenianie wartości akcji. Osiąga się to przez utrzymywanie i aktualizowanie dwóch oddzielnych tablic Q. Dzięki rozdzieleniu wyboru akcji od jej oceny podwójne Q-uczenie zapewnia dokładniejsze szacowanie wartości Q. To ćwiczenie przeprowadza cię przez implementację reguły aktualizacji w tym algorytmie. Lista Q zawierająca dwie tablice Q została już przygotowana.

Biblioteka numpy została zaimportowana jako np, a wartości gamma i alpha są wstępnie załadowane. Wzory aktualizacji znajdziesz poniżej:

Image showing the update rule of Q1.

Image showing the update rule of Q2.

To ćwiczenie jest częścią kursu

Uczenie przez wzmacnianie z Gymnasium w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Losowo zdecyduj, którą tablicę Q z listy Q zaktualizować w celu oszacowania wartości akcji – oblicz jej indeks i.
  • Wykonaj niezbędne kroki, aby zaktualizować Q[i].

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

Q = [np.random.rand(8,4), np.random.rand(8,4)] 
def update_q_tables(state, action, reward, next_state):
  	# Get the index of the table to update
    i = ____
    # Update Q[i]
    best_next_action = ____
    Q[i][state, action] = ____
Edytuj i uruchom kod