การเรียนรู้แบบเสริมกำลังประยุกต์
ฉันศึกษาการเรียนรู้แบบเสริมกำลังและการตัดสินใจมาสองสามปีแล้ว หนึ่งในสิ่งที่ยากที่สุดที่ฉันพบไม่จำเป็นต้องเกี่ยวข้องกับแนวคิด แต่เป็นการอธิบายแนวคิดเหล่านี้อย่างไร สำหรับฉัน การเรียนรู้เกิดขึ้นเมื่อใครสามารถเชื่อมโยงกับแนวคิดที่กำลังสอนได้ สำหรับสิ่งนี้ บ่อยครั้งจำเป็นต้องมีคำอธิบายตามสัญชาตญาณ และวิธีการลงมือปฏิบัติจริงจะช่วยสร้างความเข้าใจแบบนั้นได้
เป้าหมายของฉันสำหรับพื้นที่เก็บข้อมูลนี้คือการสร้างทรัพยากรร่วมกับชุมชนที่จะช่วยให้ผู้มาใหม่เข้าใจการเรียนรู้แบบเสริมกำลังด้วยวิธีที่เป็นธรรมชาติ ลองพิจารณาสิ่งที่คุณเห็นที่นี่ในความพยายามครั้งแรกของฉันในการสอนแนวคิดบางอย่างเหล่านี้ให้เรียบง่ายและเรียบง่ายเท่าที่ฉันสามารถอธิบายได้
หากคุณต้องการทำงานร่วมกัน ไม่ว่าจะพิมพ์ผิด หรือเพิ่มข้อความทั้งหมด อาจแก้ไขสมุดบันทึกหรือสมุดบันทึกใหม่ทั้งหมด โปรดส่งปัญหาของคุณและ/หรือดึงคำขอเพื่อทำให้สิ่งต่างๆ ดีขึ้นได้ตามสบาย ตราบใดที่คำขอดึงของคุณสอดคล้องกับเป้าหมายของพื้นที่เก็บข้อมูล ก็มีแนวโน้มมากที่เราจะรวมเข้าด้วยกัน ฉันไม่ใช่ครูหรือนักวิจัยการเรียนรู้แบบเสริมกำลังที่ดีที่สุด แต่ฉันเชื่อว่าเราสามารถทำให้การเรียนรู้แบบเสริมกำลังและการตัดสินใจเป็นเรื่องง่ายสำหรับทุกคนที่จะเข้าใจ อย่างน้อยก็ง่ายกว่า
สารบัญ
- งานติดตั้งโน๊ตบุ๊ค
- ติดตั้งคอมไพล์
- ติดตั้งนักเทียบท่า
- เรียกใช้โน้ตบุ๊ก
- TL; DR เวอร์ชัน
- เวอร์ชันที่มีรายละเอียดเพิ่มเติมเล็กน้อย:
- เปิด Notebooks ในเบราว์เซอร์ของคุณ:
- เปิด TensorBoard ตามที่อยู่ต่อไปนี้:
- เคล็ดลับนักเทียบท่า
- ส่วนที่ 1: บทนำ
- 1. ความรู้เบื้องต้นเกี่ยวกับการตัดสินใจ
- 1.1 การตัดสินใจ
- 1.2 การอ่านเพิ่มเติม
- ส่วนที่ 2: การเรียนรู้แบบเสริมกำลังและการตัดสินใจ
- 2. การตัดสินใจตามลำดับ
- 2.1 การสร้างแบบจำลองปัญหาการตัดสินใจ
- 2.2 การนำเสนอโซลูชั่น
- 2.3 ปัญหาลำดับอย่างง่าย
- 2.4 ปัญหาที่ซับซ้อนกว่าเล็กน้อย
- 2.5 การประเมินวิธีแก้ปัญหา
- 2.6 การปรับปรุงแนวทางแก้ไข
- 2.7 การค้นหาแนวทางแก้ไขที่เหมาะสมที่สุด
- 2.8 การปรับปรุงการทำซ้ำนโยบาย
- 2.9 แบบฝึกหัด
- 2.10 การอ่านเพิ่มเติม
- 3. การดำเนินการที่กำหนดและสุ่ม
- 3.1 เราไม่สามารถควบคุมโลกได้อย่างสมบูรณ์แบบ
- 3.2 การจัดการกับการสุ่ม
- 3.3 แบบฝึกหัด
- 3.4 การอ่านเพิ่มเติม
- 4. สภาพแวดล้อมที่รู้จักและไม่รู้จัก
- 4.1 จะเป็นอย่างไรถ้าเราไม่มีแบบจำลองสภาพแวดล้อม?
- 4.2 ความจำเป็นในการสำรวจ
- 4.3 สิ่งที่ต้องเรียนรู้?
- 4.4 จะทำอย่างไรกับสิ่งที่เราเรียนรู้?
- 4.5 เพิ่มความสุ่มเล็กๆ น้อยๆ ให้กับการกระทำของคุณ
- 4.6 แบบฝึกหัด
- 4.7 การอ่านเพิ่มเติม
- ส่วนที่ 3: การตัดสินใจในปัญหาที่ยากลำบาก
- 5. สถานะที่ไม่ต่อเนื่องและต่อเนื่อง
- 5.1 ใหญ่เกินกว่าจะเก็บไว้ในหน่วยความจำ
- 5.2 การแบ่งแยกพื้นที่ของรัฐ
- 5.3 การใช้การประมาณฟังก์ชัน
- 5.4 แบบฝึกหัด
- 5.5 การอ่านเพิ่มเติม
- 6. การดำเนินการที่ไม่ต่อเนื่องและต่อเนื่อง
- 6.1 พื้นที่ปฏิบัติการต่อเนื่อง
- 6.2 การแบ่งแยกพื้นที่ปฏิบัติการ
- 6.3 การใช้การประมาณฟังก์ชัน
- 6.4 การค้นหากรมธรรม์
- 6.5 แบบฝึกหัด
- 6.6 การอ่านเพิ่มเติม
- 7. รัฐที่สังเกตได้และที่สังเกตได้บางส่วน
- 7.1 สิ่งที่เราเห็นว่าคืออะไร?
- 7.2 การประมาณการของรัฐ
- 7.3 การควบคุมในสภาพแวดล้อมที่สังเกตได้บางส่วน
- 7.4 การอ่านเพิ่มเติม
- ส่วนที่ 4: ตัวแทนการตัดสินใจหลายราย
- 8. ตัวแทนเดี่ยวและหลายราย
- 8.1 ตัวแทนที่มีวัตถุประสงค์เดียวกัน
- 8.2 จะเกิดอะไรขึ้นเมื่อมีตัวแทนคนอื่นลงเล่น?
- 8.3 การอ่านเพิ่มเติม
- 9. ตัวแทนสหกรณ์และฝ่ายตรงข้าม
- 9.1 ตัวแทนที่มีวัตถุประสงค์ขัดแย้งกัน
- 9.2 ทีมตัวแทนที่มีวัตถุประสงค์ขัดแย้งกัน
- 9.3 การอ่านเพิ่มเติม
- ส่วนที่ 5: การตัดสินใจของมนุษย์และอื่นๆ
- 10. การตัดสินใจและมนุษย์
- 10.1 ความคล้ายคลึงกันระหว่างวิธีการที่หารือกับมนุษย์
- 10.2 ความแตกต่างระหว่างวิธีการที่กล่าวถึงกับมนุษย์
- 10.3 การอ่านเพิ่มเติม
- 11. บทสรุป
- 12. หนังสือแนะนำ
- 12. หลักสูตรแนะนำ
งานติดตั้งโน๊ตบุ๊ค
พื้นที่เก็บข้อมูลนี้มี Jupyter Notebooks ให้ติดตามพร้อมกับการบรรยาย อย่างไรก็ตาม มีแพ็คเกจและแอพพลิเคชั่นหลายอย่างที่จำเป็นต้องติดตั้ง เพื่อให้สิ่งต่าง ๆ ง่ายขึ้นสำหรับคุณ ฉันใช้เวลามากขึ้นเล็กน้อยในการตั้งค่าสภาพแวดล้อมที่สามารถทำซ้ำได้ซึ่งคุณสามารถใช้ติดตามได้
ติดตั้งคอมไพล์
ทำตามคำแนะนำที่ (https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
ติดตั้งนักเทียบท่า
ทำตามคำแนะนำที่ (https://docs.docker.com/engine/getstarted/step_one/#step-2-install-docker)
เรียกใช้โน้ตบุ๊ก
TL; DR เวอร์ชัน
-
git clone [email protected]:mimoralea/applied-reinforcement-learning.git && cd applied-reinforcement-learning
-
docker pull mimoralea/openai-gym:v1
-
docker run -it --rm -p 8888:8888 -p 6006:6006 -v $PWD/notebooks/:/mnt/notebooks/ mimoralea/openai-gym:v1
เวอร์ชันที่มีรายละเอียดเพิ่มเติมเล็กน้อย:
- โคลนพื้นที่เก็บข้อมูลไปยังตำแหน่งที่ต้องการ (เช่น
git clone [email protected]:mimoralea/applied-reinforcement-learning.git ~/Projects/applied-reinforcement-learning
) - เข้าสู่ไดเร็กทอรีพื้นที่เก็บข้อมูล (เช่น
cd ~/Projects/applied-reinforcement-learning
) - สร้างด้วยตัวเองหรือดึงคอนเทนเนอร์ Docker ที่สร้างไว้แล้ว:
3.1. หากต้องการสร้างให้ใช้คำสั่งต่อไปนี้: docker build -t mimoralea/openai-gym:v1 .
3.2. หากต้องการดึงออกจากฮับ Docker ให้ใช้: docker pull mimoralea/openai-gym:v1
- เรียกใช้คอนเทนเนอร์:
docker run -it --rm -p 8888:8888 -p 6006:6006 -v $PWD/notebooks/:/mnt/notebooks/ mimoralea/openai-gym:v1
เปิด Notebooks ในเบราว์เซอร์ของคุณ:
-
http://localhost:8888
(หรือตามลิงค์ที่ออกมาจากคำสั่ง run ซึ่งจะรวมโทเค็นไว้ด้วย)
เปิด TensorBoard ตามที่อยู่ต่อไปนี้:
ซึ่งจะช่วยให้คุณเห็นภาพโครงข่ายประสาทเทียมในบทเรียนที่มีการประมาณฟังก์ชัน
เคล็ดลับนักเทียบท่า
- หากคุณต้องการเข้าถึงเซสชัน bash ของคอนเทนเนอร์ที่ทำงานอยู่ ให้ทำดังนี้
** docker ps
# จะแสดงคอนเทนเนอร์ที่ใช้งานอยู่ - จดรหัสของคอนเทนเนอร์ที่คุณพยายามเข้าถึง
** docker exec --user root -it c3fbc82f1b49 /bin/bash
# ในกรณีนี้ c3fbc82f1b49 คือ id - หากคุณต้องการเริ่มอินสแตนซ์คอนเทนเนอร์ใหม่ตรงไปที่ bash (โดยไม่ต้องรัน Jupyter หรือ TensorBoard)
** docker run -it --rm mimoralea/openai-gym:v1 /bin/bash
# สิ่งนี้จะเรียกใช้เซสชัน bash ในฐานะผู้ใช้ Notebook
** docker run --user root -e GRANT_SUDO=yes -it --rm mimoralea/openai-gym:v1 /bin/bash
# สิ่งนี้จะเรียกใช้เซสชัน bash ในฐานะ root