เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ฝึก Barebone DQN

ถึงเวลาฝึก Barebone DQN ในสภาพแวดล้อม Lunar Lander แล้ว อัลกอริทึมนี้ยังเป็นเวอร์ชันพื้นฐาน ดังนั้นประสิทธิภาพอาจยังไม่ดีนัก แต่เราจะปรับปรุงต่อไปในภายหลัง

ลองมองว่านี่คือก้าวแรกที่จะทำให้ Lunar Lander ของเราลงจอดบนดวงจันทร์ได้สำเร็จ!

อินสแตนซ์ q_network ที่กำหนดไว้ก่อนหน้านี้พร้อมใช้งานแล้ว

ตลอดแบบฝึกหัดในคอร์สนี้ Python environment จะมีฟังก์ชัน describe_episode() ให้ใช้สำหรับแสดงข้อมูลสรุปของแต่ละ episode เพื่อดูว่า agent ทำผลงานได้อย่างไร

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Deep Reinforcement Learning ด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เลือก action ของ agent ในลูปชั้นใน
  • คำนวณค่า loss
  • ทำ gradient descent เพื่ออัปเดตน้ำหนักของโครงข่าย

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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)
แก้ไขและรันโค้ด