ÎncepețiÎncepe gratuit

Antrenarea DQN de bază

E timpul să antrenezi un algoritm DQN de bază în mediul Lunar Lander. Reține că este încă un algoritm simplu, așadar performanța nu va fi spectaculoasă – dar îl vei îmbunătăți pe parcurs.

Gândește-te la asta ca la primul pas spre aterizarea pe Lună!

Instanța q_network pe care ai definit-o anterior îți este disponibilă.

Pe parcursul exercițiilor din acest curs, mediul tău Python include și o funcție describe_episode() care afișează informații la finalul fiecărui episod despre cum s-a descurcat agentul.

Acest exercițiu face parte din cursul

Deep Reinforcement Learning în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Selectează acțiunea agentului în bucla interioară.
  • Calculează funcția de pierdere (loss).
  • Efectuează un pas de coborâre a gradientului pentru a actualiza ponderile rețelei.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul