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
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)