Začněte nyníZačněte zdarma

Trénování základního DQN

Je čas natrénovat základní DQN algoritmus v prostředí Lunar Lander. Měj na paměti, že jde stále o holý algoritmus, takže výsledky nebudou oslnivé – ale later ho vylepšíme.

Ber to jako první krok na cestě k tomu, aby tvůj Lunar Lander přistál na Měsíci!

Instance q_network, kterou jsi definoval/a dříve, je ti k dispozici.

V průběhu cvičení v tomto kurzu je v tvém Pythoním prostředí dostupná také funkce describe_episode(), která na konci každé epizody vypíše informace o tom, jak si agent vedl.

Toto cvičení je součástí kurzu

Deep Reinforcement Learning v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Zvol akci agenta ve vnitřní smyčce.
  • Vypočítej ztrátu (loss).
  • Proveď krok gradientního sestupu pro aktualizaci vah sítě.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

for episode in range(10):
    state, info = env.reset()
    done = False
    step = 0
    episode_reward = 0
    while not done:
        step += 1     
        # Select the action
        action = ____(____, ____)
        next_state, reward, terminated, truncated, _ = (env.step(action))
        done = terminated or truncated
        # Calculate the loss
        loss = ____(q_network, state, action, next_state, reward, done)
        optimizer.zero_grad()
        # Perform a gradient descent step
        loss.____
        optimizer.____
        state = next_state
        episode_reward += reward
    describe_episode(episode, reward, episode_reward, step)
Upravit a spustit kód