ฉันกำลังเขียนเกมของเล่นง่ายๆโดยมีจุดประสงค์ในการฝึกอบรมโครงข่ายประสาทเทียมที่อยู่ด้านบน กฎของเกมมีดังต่อไปนี้:
- เกมนี้มีกระดานที่ประกอบด้วยเซลล์หกเหลี่ยม
- ผู้เล่นทั้งสองมีคอลเล็กชั่นชิ้นเดียวกันกับที่พวกเขาสามารถเลือกที่จะวางตำแหน่งบนกระดานได้อย่างอิสระ
- การวางคะแนนประเภทต่าง ๆ (หรือลดคะแนนของคู่ต่อสู้) ขึ้นอยู่กับตำแหน่งและการกำหนดค่าของกันและกัน
- ใครก็ตามที่มีคะแนนมากกว่าจะชนะ
มีกฎเพิ่มเติม (เกี่ยวกับผลัดจำนวนและประเภทของชิ้นส่วน ฯลฯ ) แต่ก็ไม่สำคัญในบริบทของคำถามนี้ ฉันต้องการสร้างโครงข่ายประสาทเทียมที่สามารถเรียนรู้ซ้ำ ๆ ได้โดยการเล่นกับตัวเอง คำถามของฉันเกี่ยวกับการเป็นตัวแทนของอินพุตและเอาต์พุต โดยเฉพาะอย่างยิ่ง:
- เนื่องจากรูปแบบของชิ้นส่วนสำคัญฉันจึงคิดที่จะมีเลเยอร์ convolutional อย่างน้อย กระดานอาจมีขนาดที่แตกต่างกัน แต่โดยทั่วไปแล้วจะมีขนาดเล็กมาก (6x10 ในการทดสอบของฉันที่จะขยายโดยไม่กี่เซลล์) มันสมเหตุสมผลหรือไม่ ฉันสามารถใช้การรวมกำไรแบบใดได้บ้าง
- วิธีการเป็นตัวแทนของทั้งสองฝ่าย? ในบทความนี้เกี่ยวกับการเดินทางผู้เขียนใช้เมทริกซ์การป้อนข้อมูลสองรายการหนึ่งรายการสำหรับหินขาวและอีกเล่มสำหรับหินดำ มันสามารถทำงานได้ในกรณีนี้ด้วยหรือไม่ แต่จำไว้ว่าฉันมีประเภทที่แตกต่างกันพูด A, B, C และ D ฉันควรใช้เมทริกซ์การป้อนข้อมูล 2x4? มันดูเบาบางและมีประสิทธิภาพเพียงเล็กน้อยสำหรับฉัน ฉันกลัวว่ามันจะเบาบางเกินไปสำหรับการทำงานของชั้น convolutional
- ฉันคิดว่าผลลัพธ์อาจเป็นการกระจายความน่าจะเป็นเหนือเมทริกซ์ซึ่งเป็นตัวแทนของตำแหน่งคณะกรรมการรวมถึงความน่าจะเป็นที่แยกต่างหากซึ่งระบุว่าจะเล่นส่วนใด อย่างไรก็ตามฉันยังต้องแสดงความสามารถในการผ่านจุดเลี้ยวซึ่งมีความสำคัญมาก ฉันจะทำได้โดยไม่ลดความสำคัญลงในความน่าจะเป็นอื่น ๆ ได้อย่างไร
- และที่สำคัญที่สุดฉันต้องบังคับให้ชนะหรือไม่ การบังคับให้ย้ายที่ชนะเป็นเรื่องง่ายเพราะฉันเพิ่งตั้งความน่าจะเป็นที่ต้องการ 1 อย่างไรก็ตามเมื่อแพ้ฉันควรทำอย่างไร ตั้งค่าความน่าจะเป็นของการย้ายเป็น 0 และค่าอื่น ๆ ทั้งหมดเป็นค่าเท่ากันหรือไม่ นอกจากนี้มันสมเหตุสมผลหรือไม่ที่จะบังคับใช้การเคลื่อนไหวด้วยคะแนนแตกต่างสุดท้ายแม้ว่าสิ่งนี้จะขัดกับความหมายของผลลัพธ์ซึ่งเป็นความน่าจะเป็นโดยประมาณหรือไม่?
นอกจากนี้ฉันได้พัฒนาเอ็นจิ้นเกมใน node.js ที่คิดว่าจะใช้ Synaptic เป็นเฟรมเวิร์ก แต่ฉันไม่แน่ใจว่ามันสามารถทำงานกับเครือข่าย convolutional (ฉันสงสัยว่ามีวิธีแก้ไขน้ำหนักที่เกี่ยวข้องกับฟิลด์การรับรู้ในท้องถิ่น) คำแนะนำเกี่ยวกับห้องสมุดอื่น ๆ ที่เข้ากันได้กับโหนด?