วิธีการฝึกโครงข่ายประสาทเทียมสำหรับเกมกระดานแบบกลม?


11

ฉันสงสัยว่าจะฝึกโครงข่ายประสาทสำหรับเกมกระดานแบบกลมเช่นโอเอกซ์หมากรุกความเสี่ยงหรือเกมอื่น ๆ การเคลื่อนย้ายครั้งต่อไปโดยการอนุมานนั้นค่อนข้างตรงไปตรงมาโดยป้อนสถานะของเกมเป็นอินพุตและใช้เอาต์พุตเป็นตัวย้ายสำหรับผู้เล่นปัจจุบัน อย่างไรก็ตามการฝึกอบรม AI เพื่อจุดประสงค์นั้นดูเหมือนจะไม่ตรงไปตรงมาเพราะ:

  1. อาจไม่มีการจัดเรตถ้าการย้ายครั้งเดียวทำได้ดีหรือไม่ดังนั้นการฝึกท่าเดียวจะไม่เป็นทางเลือกที่เหมาะสม
  2. การใช้สถานะเกม (อินพุต) และการเคลื่อนไหว (เอาท์พุต) ของเกมทั้งหมดเพื่อฝึกอบรมเครือข่ายประสาทดูเหมือนจะไม่ใช่ตัวเลือกที่ถูกต้องเนื่องจากการเคลื่อนไหวภายในเกมที่หายไปอาจไม่ดีนัก

ดังนั้นฉันจึงสงสัยว่าจะฝึกโครงข่ายประสาทเทียมสำหรับเกมกระดานแบบกลมได้อย่างไร ฉันต้องการสร้างเครือข่ายประสาทเทียมสำหรับโอเอกซ์โดยใช้เมตริกซ์

คำตอบ:


10

เป็นคำถามที่ดีมาก! NN เป็นอย่างมากที่มีแนวโน้มสำหรับประเภทของปัญหานี้ยีราฟหมากรุก ความสำเร็จของลายเป็นเรื่องใหญ่มากแต่น่าเสียดายที่มาไม่กี่เดือนก่อนที่ AlphaGo จะเป็นจุดสนใจ (ทุกอย่างกลับกลายเป็นดีในการที่ Lai ได้รับการว่าจ้างในเวลาต่อมาจาก DeepMind แม้ว่าจะไม่ได้ดีสำหรับเครื่องยนต์ยีราฟ ;)

ฉันพบว่าแนวทางของ Lai มีประโยชน์มากและได้รับการสนับสนุนจากผลลัพธ์ที่มั่นคง


คุณอาจต้องการใช้ " sequential " ซึ่งตรงข้ามกับ "round based" เนื่องจาก sequential เป็นคำที่ต้องการในGame TheoryและCombinatorial Game Theoryและนี่คือฟิลด์ที่ใช้การวิเคราะห์ทางคณิตศาสตร์กับเกม

รายการเกมที่คุณเรียกว่า " นามธรรม " เพิ่มเติมเพื่อแยกความแตกต่างจากเกมกระดานกลยุทธ์สมัยใหม่หรือเกมโดยทั่วไปซึ่งใช้ธีมที่แข็งแกร่งและโดยทั่วไปจะมีขนาดเล็กกว่าเกมนามธรรมในแง่ของกลไกและองค์ประกอบ สิ่งนี้ถือเป็นข้อแม้ที่เกมนามธรรมไม่ได้ จำกัด เฉพาะเกมต่อเนื่องหรือเกมกระดานหรือแม้กระทั่งเกมเฉพาะเช่นในกรณีของเกมปริศนาอย่าง Sudoku

ชื่อทางการสำหรับกลุ่มเกมนี้โดยทั่วไปคือ " พรรคพวก , ลำดับ, กำหนดค่า , ข้อมูลสมบูรณ์แบบ " ด้วยการจัดหมวดหมู่ของ Tic-Tac-Toe ต่อไปในฐานะ "trivial" (แก้ไขและแก้ปัญหาได้ง่าย) และไม่น่ารำคาญสำหรับ เกมเช่น Chess and Go


7

ฉันเป็นนักเล่นหมากรุกและคำตอบของฉันจะอยู่ที่หมากรุกเท่านั้น

การฝึกอบรมเครือข่ายที่เป็นกลางด้วยการเรียนรู้การเสริมกำลังไม่ใช่เรื่องใหม่มันได้ทำมาแล้วหลายครั้งในวรรณคดี

ฉันจะอธิบายสั้น ๆ เกี่ยวกับกลยุทธ์ทั่วไป

  • จุดประสงค์ของเครือข่ายคือการเรียนรู้การประเมินตำแหน่ง เราทุกคนรู้ว่าราชินีแข็งแกร่งกว่าอธิการ แต่เราสามารถทำให้เครือข่ายทราบได้โดยไม่ต้องเขียนโปรแกรมอย่างชัดเจนหรือไม่? โครงสร้างการจำนำเป็นอย่างไร เครือข่ายเข้าใจวิธีการประเมินว่าตำแหน่งชนะหรือไม่?

  • ตอนนี้เรารู้ว่าทำไมเราต้องการเครือข่ายเราจะต้องออกแบบมัน การออกแบบแตกต่างอย่างสิ้นเชิงระหว่างการศึกษา ก่อนการเรียนรู้อย่างลึกซึ้งนั้นเป็นที่นิยมผู้คนต่างก็ใช้เครือข่ายแบบตื้น ทุกวันนี้เครือข่ายที่มีหลายเลเยอร์โดดเด่น

  • เมื่อเรามีเครือข่ายคุณจะต้องสร้างเครื่องมือหมากรุก เครือข่ายนิวรัลไม่สามารถเล่นหมากรุกได้ด้วยตัวเอง แต่ต้องเชื่อมต่อกับเอ็นจิ้นหมากรุก โชคดีที่เราไม่จำเป็นต้องเขียนรหัสการประเมินตำแหน่งเนื่องจากเครือข่ายสามารถทำเช่นนั้นได้สำหรับเรา

  • ตอนนี้เราต้องเล่นเกม เราสามารถเริ่มต้นด้วยฐานข้อมูลหมากรุกที่มีคุณภาพสูงหรือให้ตัวแทนเอไอของเราเล่นเกมกับผู้เล่นคนอื่น (เช่นตัวเองเอเย่นต์เอไออื่นหรือมนุษย์) นี้เรียกว่าการเรียนรู้การเสริมแรง

  • ในขณะที่เราเล่นเกมเราอัพเดตพารามิเตอร์เครือข่าย สิ่งนี้สามารถทำได้โดยการไล่ระดับสีแบบสุ่ม (หรือเทคนิคอื่นที่คล้ายคลึงกัน) เราทำซ้ำการฝึกอบรมของเราตราบใดที่เราต้องการมักจะซ้ำหลายล้าน

  • ในที่สุดเรามีโมเดลเครือข่ายที่เป็นกลางสำหรับหมากรุก!

ดูที่แหล่งข้อมูลต่อไปนี้เพื่อดูรายละเอียด:

https://chessprogramming.wikispaces.com/Learning


มีเพียงเด็กเล็ก ๆ เท่านั้นที่นี่
quintumnia

นี่คือตัวอย่างของวิธีการให้ลิงก์ภายนอกโดยไม่ต้องสรุปสามารถสร้างความเสียหายในอนาคต ตามลิงก์ที่ให้ไว้ตอนนี้ตาย
Greg Hilston

4

ฉันคิดว่าคุณควรทำความคุ้นเคยกับการเรียนรู้เสริม ในด้านการเรียนรู้ของเครื่องนี้เอเจนต์จะโต้ตอบกับสภาพแวดล้อมของมันและหลังจากนั้นเอเจนต์จะได้รับรางวัลบ้าง ตอนนี้เอเจนต์เป็นเครือข่ายประสาทที่สภาพแวดล้อมเป็นเกมและเอเจนต์สามารถรับรางวัล +1 หากชนะหรือ -1 หากแพ้ คุณสามารถใช้สถานะการกระทำรางวัล tuple Experencenc นี้เพื่อฝึกอบรมตัวแทน ฉันสามารถแนะนำการบรรยายของ David Silver ใน youtube และ Sutton's book ได้เช่นกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.