Bắt đầu ngayBắt đầu miễn phí

Huấn luyện thuật toán A2C

Đến lúc huấn luyện Lunar Lander bằng thuật toán A2C! Bạn đã có đủ các mảnh ghép, giờ là lúc kết nối chúng lại.

Các mạng actor và critic đã được khởi tạo là actorcritic, cùng với các optimizer của chúng là actor_optimizercritic_optimizer.

Hàm REINFORCE select_action() và hàm calculate_losses() từ bài trước cũng đã sẵn sàng để bạn sử dụng ở đây.

Bài tập này là một phần của khóa học

Deep Reinforcement Learning bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Cho actor chọn action dựa trên state.
  • Tính loss cho cả actor và critic.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

for episode in range(10):
    state, info = env.reset()
    done = False
    episode_reward = 0
    step = 0
    while not done:
        step += 1
        if done:
            break
        # Select the action
        ____
        next_state, reward, terminated, truncated, _ = env.step(action)
        done = terminated or truncated
        episode_reward += reward
        # Calculate the losses
        ____, ____ = ____(
            critic, action_log_prob, 
            reward, state, next_state, done)        
        actor_optimizer.zero_grad()
        actor_loss.backward()
        actor_optimizer.step()
        critic_optimizer.zero_grad()
        critic_loss.backward()
        critic_optimizer.step()
        state = next_state
    describe_episode(episode, reward, episode_reward, step)
Chỉnh sửa và Chạy Mã