การทำความเข้าใจกรอบแนวคิด RL

Reinforcement Learning with Gymnasium ใน Python

Fouad Trad

Machine Learning Engineer

กรอบแนวคิด RL

ภาพแสดงส่วนประกอบของ agent

Reinforcement Learning with Gymnasium ใน Python

กรอบแนวคิด RL

ภาพแสดงส่วนประกอบของ agent และ environment

Reinforcement Learning with Gymnasium ใน Python

กรอบแนวคิด RL

  • Agent: ผู้เรียนรู้และตัดสินใจ
  • Environment: ปัญหาที่ต้องแก้ไข

ภาพแสดงส่วนประกอบทั้งหมดของ RL ได้แก่ agent, environment, states, actions และ rewards

Reinforcement Learning with Gymnasium ใน Python

กรอบแนวคิด RL

  • Agent: ผู้เรียนรู้และตัดสินใจ
  • Environment: ปัญหาที่ต้องแก้ไข
  • State: ภาพรวมของ environment ณ เวลาหนึ่ง

ภาพแสดงว่า environment ส่ง state ให้กับ agent

Reinforcement Learning with Gymnasium ใน Python

กรอบแนวคิด RL

  • Agent: ผู้เรียนรู้และตัดสินใจ
  • Environment: ปัญหาที่ต้องแก้ไข
  • State: ภาพรวมของ environment ณ เวลาหนึ่ง
  • Action: การตัดสินใจของ agent ตอบสนองต่อ state

ภาพแสดงว่า agent ตอบสนองต่อ state ของ environment ด้วยการเลือก action

Reinforcement Learning with Gymnasium ใน Python

กรอบแนวคิด RL

  • Agent: ผู้เรียนรู้และตัดสินใจ
  • Environment: ปัญหาที่ต้องแก้ไข
  • State: ภาพรวมของ environment ณ เวลาหนึ่ง
  • Action: การตัดสินใจของ agent ตอบสนองต่อ state
  • Reward: ผลตอบรับจากการกระทำของ agent

ภาพแสดงว่า agent ตอบสนองต่อ state ของ environment ด้วยการเลือก action และได้รับ reward จาก environment

Reinforcement Learning with Gymnasium ใน Python

วงลูปการโต้ตอบของ RL

env = create_environment()
state = env.get_initial_state()

for i in range(n_iterations): action = choose_action(state)
state, reward = env.execute(action)
update_knowledge(state, action, reward)

ภาพแสดงว่า agent ตอบสนองต่อ state ของ environment ด้วยการเลือก action และได้รับ reward จาก environment

Reinforcement Learning with Gymnasium ใน Python

งานแบบ Episodic กับ Continuous

งานแบบ Episodic
  • งานที่แบ่งเป็น episode
  • แต่ละ episode มีจุดเริ่มต้นและสิ้นสุด
  • ตัวอย่าง: agent เล่นหมากรุก

ภาพแมวกำลังเล่นหมากรุก

งานแบบ Continuous
  • การโต้ตอบต่อเนื่องไม่หยุด
  • ไม่มีการแบ่ง episode
  • ตัวอย่าง: การปรับสัญญาณไฟจราจร

ภาพกบขี่จักรยานรอสัญญาณไฟเขียว

Reinforcement Learning with Gymnasium ใน Python

Return

  • การกระทำมีผลระยะยาว
  • agent มุ่งเพิ่ม reward รวมให้สูงสุดตลอดเวลา
  • Return: ผลรวมของ reward ที่คาดว่าจะได้รับทั้งหมด

ภาพแสดงว่า return คือผลรวมของ reward แต่ละขั้น r_1 ถึง r_n

Reinforcement Learning with Gymnasium ใน Python

Discounted return

  • reward ในปัจจุบันมีคุณค่ามากกว่า reward ในอนาคต
  • Discounted return: ให้น้ำหนักกับ reward ที่ใกล้กว่า
  • Discount factor ($\gamma$): ลดค่า reward ในอนาคต

ภาพแสดงสูตร discounted return ซึ่งเป็นผลรวมของ reward แต่ละขั้นคูณกับ discount factor ยกกำลังด้วย time step

Reinforcement Learning with Gymnasium ใน Python

Discount factor

  • อยู่ระหว่าง ศูนย์ ถึง หนึ่ง
  • สมดุลระหว่าง reward ระยะสั้นและระยะยาว
    • ค่าต่ำ → เน้น reward ทันที
    • ค่าสูง → เน้นผลประโยชน์ระยะยาว

ภาพแสดงผลของค่า discount factor ที่สุดขั้ว โดยค่าศูนย์เน้น reward ทันที และค่าหนึ่งเน้น reward อนาคตโดยไม่มีการลด

Reinforcement Learning with Gymnasium ใน Python

ตัวอย่างเชิงตัวเลข

import numpy as np
expected_rewards = np.array([1, 6, 3])

discount_factor = 0.9
discounts = np.array([discount_factor ** i for i in range(len(expected_rewards))])
print(f"Discounts: {discounts}")
Discounts: [1.   0.9  0.81]
discounted_return = np.sum(expected_rewards * discounts)
print(f"The discounted return is {discounted_return}")
The discounted return is 8.83
Reinforcement Learning with Gymnasium ใน Python

มาฝึกกันเถอะ!

Reinforcement Learning with Gymnasium ใน Python

Preparing Video For Download...