You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/translations/th/8-Reinforcement/2-Gym/assignment.md

6.4 KiB

ฝึก Mountain Car

OpenAI Gym ถูกออกแบบมาให้ทุกสภาพแวดล้อมมี API เดียวกัน นั่นคือมีเมธอด reset, step และ render เหมือนกัน รวมถึงมีการจัดการ action space และ observation space ในรูปแบบเดียวกัน ดังนั้นจึงควรสามารถปรับอัลกอริทึม reinforcement learning เดียวกันให้เข้ากับสภาพแวดล้อมต่าง ๆ ได้โดยมีการเปลี่ยนแปลงโค้ดเพียงเล็กน้อย

สภาพแวดล้อม Mountain Car

Mountain Car environment มีรถที่ติดอยู่ในหุบเขา:

เป้าหมายคือการออกจากหุบเขาและจับธง โดยในแต่ละขั้นตอนสามารถทำหนึ่งในสามการกระทำต่อไปนี้:

ค่า ความหมาย
0 เร่งไปทางซ้าย
1 ไม่เร่ง
2 เร่งไปทางขวา

อย่างไรก็ตาม เคล็ดลับสำคัญของปัญหานี้คือเครื่องยนต์ของรถไม่แรงพอที่จะขึ้นภูเขาในครั้งเดียว ดังนั้นวิธีเดียวที่จะสำเร็จคือการขับรถไปมาเพื่อสร้างแรงเฉื่อย

Observation space ประกอบด้วยค่าทั้งหมดสองค่า:

หมายเลข การสังเกตการณ์ ต่ำสุด สูงสุด
0 ตำแหน่งของรถ -1.2 0.6
1 ความเร็วของรถ -0.07 0.07

ระบบรางวัลสำหรับ Mountain Car ค่อนข้างซับซ้อน:

  • รางวัล 0 จะได้รับเมื่อ agent ไปถึงธง (ตำแหน่ง = 0.5) บนยอดภูเขา
  • รางวัล -1 จะได้รับเมื่อ agent มีตำแหน่งน้อยกว่า 0.5

Episode จะสิ้นสุดลงเมื่อรถมีตำแหน่งมากกว่า 0.5 หรือความยาวของ episode มากกว่า 200

คำแนะนำ

ปรับอัลกอริทึม reinforcement learning ของเราเพื่อแก้ปัญหา Mountain Car เริ่มต้นด้วยโค้ดใน notebook.ipynb เปลี่ยนสภาพแวดล้อมใหม่ ปรับฟังก์ชันการแยกสถานะ และพยายามทำให้อัลกอริทึมที่มีอยู่สามารถฝึกได้โดยมีการเปลี่ยนแปลงโค้ดน้อยที่สุด ปรับผลลัพธ์ให้เหมาะสมโดยการปรับ hyperparameters

Note: อาจจำเป็นต้องปรับ hyperparameters เพื่อให้อัลกอริทึมสามารถบรรลุผลสำเร็จได้

เกณฑ์การประเมิน

เกณฑ์ ดีเยี่ยม พอใช้ ต้องปรับปรุง
อัลกอริทึม Q-Learning ถูกปรับจากตัวอย่าง CartPole ได้สำเร็จ โดยมีการเปลี่ยนแปลงโค้ดน้อยที่สุด และสามารถแก้ปัญหาการจับธงได้ภายใน 200 ขั้นตอน อัลกอริทึม Q-Learning ใหม่ถูกนำมาใช้จากอินเทอร์เน็ต แต่มีการอธิบายอย่างดี; หรืออัลกอริทึมที่มีอยู่ถูกนำมาใช้ แต่ไม่สามารถบรรลุผลตามที่ต้องการ นักเรียนไม่สามารถนำอัลกอริทึมใด ๆ มาใช้ได้สำเร็จ แต่ได้ทำขั้นตอนสำคัญไปสู่การแก้ปัญหา (เช่น การแยกสถานะ, โครงสร้างข้อมูล Q-Table ฯลฯ)

ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษาจากผู้เชี่ยวชาญ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้