ฉันต้องการใช้การเรียนรู้การเสริมแรงเพื่อทำให้เครื่องยนต์ดีขึ้นโดยการเล่นกับตัวเอง ฉันได้อ่านเกี่ยวกับหัวข้อ แต่ฉันยังค่อนข้างสับสน
ถูกเตือน: การเรียนรู้การเสริมแรงเป็นวิชาที่ซับซ้อนมาก แม้ว่ามันอาจจะนำคุณไปสู่ทางอ้อมจากบอทที่เล่นเกม แต่คุณอาจต้องการศึกษาพื้นฐาน RL จุดเริ่มต้นที่ดีคือการเรียนรู้การเสริมแรง Sutton & Barto : บทนำ
มีรางวัลอื่นอีกบ้างในเกมที่เป็นส่วนหนึ่งของผลลัพธ์แบบชนะหรือแพ้ (1 หรือ 0)
ขึ้นอยู่กับเกมที่คุณเล่น ที่จริงแล้วสำหรับเกมที่ชนะ / เสมอ / แพ้เช่นหมากรุกดังนั้นรางวัลจากแต่ละการกระทำคือ 0 ยกเว้นการชนะ (+1) หรือแพ้ (-1) ในตอนท้าย ในเกมที่มีผลรวมเป็นศูนย์แล้วสิ่งนี้จะสอดคล้องกับ minimax, การตัดแต่งตัวอักษรและอื่น ๆ
การเรียนรู้การเสริมกำลังมีจุดประสงค์เพื่อจัดการกับสภาพแวดล้อมด้วยรางวัลที่ล่าช้า การเพิ่มรางวัล "ผู้ช่วย" สำหรับเป้าหมายที่ไม่ใช่เป้าหมายชั่วคราวมักจะเป็นการต่อต้าน
ถ้าฉันใช้รางวัลอื่น ๆ เช่นผลลัพธ์จากฟังก์ชั่นการประเมินผลในแต่ละเทิร์นฉันจะใช้มันได้อย่างไร
โดยทั่วไปแล้วคุณไม่ สิ่งที่ใช้ RL เล่นด้วยตนเองจะทำคือเรียนรู้ฟังก์ชั่นคืน (บางครั้งเรียกว่ายูทิลิตี้ ) ซึ่งคาดการณ์ความคาดหวังของรางวัล + 1/0 / -1 ทั้งหมดของคุณในตอนท้ายของเกม คุณจะใช้สิ่งนี้แทนที่ฮิวริสติกปัจจุบันของคุณสำหรับการค้นหาขั้นต่ำ หรือคุณอาจปรับฟังก์ชันฮิวริสติกปัจจุบันของคุณเป็นเอาต์พุตในช่วงเดียวกันและใช้ RL เพื่อปรับน้ำหนักให้เหมาะสมที่สุดเพื่อประมาณฟังก์ชั่นการเล่นที่ดีที่สุดอย่างแท้จริง (ซึ่งอาจซับซ้อนเกินไปที่จะคำนวณอย่างแม่นยำ)
ฉันจะแก้ไขฟังก์ชั่นการประเมินผลเพื่อให้ผลตอบแทนที่ดียิ่งขึ้นหลังจากการวนซ้ำได้อย่างไร
นั่นคือสิ่งที่ RL แตกต่างกันทุกวิธีที่พยายามทำมีตัวแก้ปัญหาที่แตกต่างหลากหลาย ไม่มีวิธีการอธิบายสั้น ๆ คุณสามารถเริ่มต้นด้วยวิธีการที่ง่ายเช่น Q-Learning Q-Learning เรียนรู้การประมาณการของ Q (s, a) (เรียกว่าค่าการกระทำ) ซึ่งเป็นผลตอบแทนที่คาดหวังเมื่ออยู่ในสถานะและดำเนินการ a และหลังจากนั้นทำตามนโยบายที่ดีที่สุด มันทำให้การคาดเดาโดยพลการเริ่มต้นและปรับให้ใกล้เคียงกับมูลค่าที่แท้จริงของแต่ละขั้นตอนในสภาพแวดล้อมการเรียนรู้ ตาราง Q-learners ง่าย ๆ ทำการปรับแต่งนี้เพียงแค่จัดเก็บตารางขนาดใหญ่ของทุกรัฐและการกระทำด้วยการประมาณการที่ดีที่สุดจนถึงมูลค่าที่แท้จริงและค่าเฉลี่ยในการประมาณการใหม่แต่ละครั้ง
นอกจากนี้ยังเป็นไปได้ที่จะรวมวิธี RL สำหรับการวิเคราะห์พฤติกรรมด้วยการค้นหาขั้นต่ำแบบมองไปข้างหน้านั่นคือสิ่งที่ AlphaGo ดั้งเดิมทำและสิ่งที่ AlphaGo Zero ทำในระหว่างการฝึกอบรม นี่เป็นวิธีที่มีประสิทธิภาพเนื่องจากการค้นหาขั้นต่ำจะทำงานเพื่อตรวจสอบฮิวริสติกที่สร้างขึ้นโดยใช้ RL อีกครั้ง แม้ว่าจะเป็นเกมที่เล่นง่ายพอ RL สามารถเรียนรู้การวิเคราะห์พฤติกรรมที่สมบูรณ์แบบและคุณจะต้องค้นหาเฉพาะที่ (สิ่งที่ควรทำในครั้งต่อไป)
ถ้าเกมของคุณนั้นง่ายมาก (สถานะที่เป็นไปได้ทั้งหมดจะพอดีกับหน่วยความจำ) คุณจะต้องใช้ตัวประมาณฟังก์ชันบางอย่างภายในอัลกอริทึม RL โครงข่ายประสาทเทียมเป็นตัวเลือกมาตรฐาน การมีบางอย่างในส่วนนั้นเป็นสิ่งที่หลีกเลี่ยงไม่ได้ - แม้ว่าทางเลือกที่ดีอีกทางหนึ่งก็คือการกำหนดคุณสมบัติของพร็อกซีจำนวนมาก (ซึ่งคุณอาจใช้เพื่อสร้างฮิวริสติกด้วยตนเอง) และใช้ตัวประมาณเชิงเส้น สิ่งนี้สามารถทำงานได้ดีพอและถูกนำมาใช้เช่นในตัวตรวจสอบ (แบบร่าง) ผู้เล่นที่ฝึกฝนโดยใช้ RL
ในความเป็นจริงหากฟังก์ชั่นฮิวริสติกของคุณเองไม่ผิดปกติคุณสามารถรักษามันเหมือนตัวประมาณเชิงเส้นและใช้ RL เพื่อเรียนรู้น้ำหนักที่ดีที่สุด