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

การเลือก action ด้วย DQN พื้นฐาน

ฟังก์ชัน select_action() ช่วยให้ agent เลือก action ที่มี Q-value สูงที่สุดในแต่ละ step

ฟังก์ชันนี้รับ Q-network และ state ปัจจุบันเป็น argument แล้วคืนค่า index ของ action ที่มี Q-value สูงที่สุด

มีการสร้าง Q-network ไว้ในตัวแปร q_network และโหลด state แบบสุ่มลงในสภาพแวดล้อมด้วย state = torch.rand(8) เพื่อใช้เป็นข้อมูลตัวอย่าง

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

Deep Reinforcement Learning ด้วย Python

ดูคอร์ส

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

  • คำนวณ Q-values ที่สอดคล้องกับแต่ละ action ใน state ที่รับมาเป็น argument
  • หา index ของ action ที่มี Q-value สูงที่สุด

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

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

def select_action(q_network, state):
    # Calculate the Q-values
    q_values = ____
    print("Q-values:", [round(x, 2) for x in q_values.tolist()])
    # Obtain the action index with highest Q-value
    action = torch.____.item()
    print(f"Action selected: {action}, with q-value {q_values[action]:.2f}")
    return action

select_action(q_network, state)
แก้ไขและรันโค้ด