เล่นเกมกระดานกับตัวแทน ซึ่งได้รับการฝึกฝนโดยใช้การเรียนรู้แบบเสริมกำลังและปรับใช้กับ TensorFlow Lite
เริ่ม
หากคุณเพิ่งเริ่มใช้ TensorFlow Lite และกำลังใช้งาน Android เราขอแนะนำให้คุณสำรวจตัวอย่างแอปพลิเคชันต่อไปนี้ซึ่งจะช่วยให้คุณเริ่มต้นได้
หากคุณกำลังใช้แพลตฟอร์มอื่นที่ไม่ใช่ Android หรือคุ้นเคยกับ TensorFlow Lite API อยู่แล้ว คุณสามารถดาวน์โหลดโมเดลที่ได้รับการฝึกอบรมของเราได้
มันทำงานอย่างไร
โมเดลนี้สร้างขึ้นสำหรับตัวแทนเกมเพื่อเล่นเกมกระดานขนาดเล็กที่เรียกว่า 'Plane Strike' สำหรับการแนะนำเกมนี้อย่างรวดเร็วและกฎของเกม โปรดอ่าน README นี้
ภายใต้ UI ของแอป เราได้สร้างตัวแทนที่เล่นกับผู้เล่นที่เป็นมนุษย์ เอเจนต์คือ MLP 3 ชั้นที่ใช้สถานะของบอร์ดเป็นอินพุตและส่งออกคะแนนที่คาดการณ์ไว้สำหรับแต่ละเซลล์ของบอร์ดที่เป็นไปได้ 64 เซลล์ โมเดลได้รับการฝึกอบรมโดยใช้การไล่ระดับนโยบาย (REINFORCE) และคุณสามารถค้นหารหัสการฝึกอบรมได้ ที่นี่ หลังจากฝึกอบรมตัวแทน เราจะแปลงโมเดลเป็น TFLite และปรับใช้ในแอป Android
ระหว่างการเล่นเกมจริงในแอพ Android เมื่อถึงตาของเอเจนต์ที่จะดำเนินการ เอเจนต์จะพิจารณาสถานะกระดานของผู้เล่นที่เป็นมนุษย์ (กระดานที่ด้านล่าง) ซึ่งมีข้อมูลเกี่ยวกับการจู่โจมที่สำเร็จและไม่สำเร็จก่อนหน้านี้ (การตีและพลาด) และใช้แบบจำลองที่ได้รับการฝึกฝนมาเพื่อทำนายว่าจะต้องโจมตีที่ไหนต่อไป เพื่อให้สามารถจบเกมได้ก่อนที่ผู้เล่นจะเป็นมนุษย์
มาตรฐานประสิทธิภาพ
ตัวเลขเปรียบเทียบประสิทธิภาพสร้างขึ้นด้วยเครื่องมือที่อธิบายไว้ ที่นี่
ชื่อรุ่น | ขนาดรุ่น | อุปกรณ์ | ซีพียู |
---|---|---|---|
การไล่ระดับนโยบาย | 84 Kb | พิกเซล 3 (แอนดรอยด์ 10) | 0.01ms* |
พิกเซล 4 (แอนดรอยด์ 10) | 0.01ms* |
* ใช้ 1 เธรด
อินพุต
โมเดลยอมรับ 3-D float32
Tensor ของ (1, 8, 8) เป็นสถานะของบอร์ด
ผลลัพธ์
แบบจำลองส่งคืน 2-D float32
เทนเซอร์ของรูปร่าง (1,64) เป็นคะแนนที่คาดการณ์ไว้สำหรับตำแหน่งการโจมตีที่เป็นไปได้แต่ละตำแหน่งจาก 64 ตำแหน่ง
ฝึกโมเดลของคุณเอง
คุณสามารถฝึกโมเดลของคุณเองสำหรับกระดานขนาดใหญ่/เล็กโดยเปลี่ยนพารามิเตอร์ BOARD_SIZE
ใน รหัสการฝึก