AlphaZero เรียนรู้ที่จะประเมินตำแหน่งที่ไม่เคยเห็นได้อย่างไร


12

ติดตามคำตอบจาก:

ทำความเข้าใจกับ AlphaZero

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

คำตอบ:


6

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

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

จากกระดาษใน AlphaZero (หน้า 3):

พารามิเตอร์ของโครงข่ายประสาทเทียมลึกใน AlphaZero ได้รับการฝึกอบรมโดยการเรียนรู้การเสริมแรงด้วยตนเองโดยเริ่มจากพารามิเตอร์เริ่มต้นแบบสุ่ม เกมเล่นโดยการเลือกการเคลื่อนไหวสำหรับผู้เล่นทั้งสองโดย MCTS ในตอนท้ายของเกมตำแหน่งเทอร์มินัลจะได้คะแนนตามกฎของเกมเพื่อคำนวณผลลัพธ์ของเกม: −1 สำหรับการแพ้, 0 สำหรับการเสมอและ +1 สำหรับการชนะ พารามิเตอร์เครือข่ายนิวรัลได้รับการปรับปรุงเพื่อลดข้อผิดพลาดระหว่างผลลัพธ์ที่คาดการณ์และผลลัพธ์ของเกมและเพื่อเพิ่มความคล้ายคลึงกันของนโยบายเวกเตอร์กับความน่าจะเป็นในการค้นหา

[สัญลักษณ์คณิตศาสตร์ถูกลบออกจากเครื่องหมายคำพูด]

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


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

@PhilipRoe คุณพูดถูกแต่ละเกมให้ข้อมูลเพียงเล็กน้อยเท่านั้น ฉันได้เขียนเอนจิ้นหมากรุกของตัวเองที่เรียนรู้ด้วยอัลกอริธึมวิวัฒนาการ สำเนาของเอ็นจิ้นที่ดัดแปลงแบบสุ่มเล่นซึ่งกันและกัน; ผู้แพ้จะถูกลบและผู้ชนะจะได้รับสำเนาที่ดัดแปลงเพิ่มเติม โดยปกติแล้วจะใช้เวลาระหว่าง 10,000 ถึง 20,000 เกมเพื่อให้เข้าใจถึงลำดับของชิ้นส่วนที่เหมาะสม (Queen, rook, bishop / knight, pawn) มันใช้เวลา AlphaZero 44 ล้านเกมเพื่อให้ได้ทักษะ (ตารางในหน้า 15 ของเอกสารที่เชื่อมโยง)
ทำเครื่องหมาย H

ขอบคุณสำหรับการตอบสนอง! แต่ฉันก็ยังประหลาดใจ มีพื้นที่ขนาดใหญ่ของตำแหน่งที่เป็นไปได้ในการประเมิน แต่มีคำถามมากมายที่เป็นไปได้ที่จะถาม มานุษยวิทยาฉันคิดว่าตัวเองมีความรู้มาก่อนเป็นศูนย์ยกเว้นกฎและฐานข้อมูลขนาดใหญ่ของเกมที่เล่นในระดับที่แทบจะนึกไม่ถึง (แต่ฉันไม่คิดว่าจะจำได้ทั้งหมด) ตอนนี้มันเกิดอะไรขึ้นกับฉัน "เฮ้บางทีฉัน ควรนับจำนวนชิ้น "จากนั้นนานเท่าใดก่อนนับจำนวนชิ้นดูเป็นความคิดที่ดี?
Philip Roe

1
ฉันคิดว่ามันยากที่จะจินตนาการถึงแม้ว่าจะมีการให้คำแนะนำที่ดีเกี่ยวกับ "สิ่งที่ถือเป็นคำถามที่ดี" แต่ถ้าไม่เป็นเช่นนั้นฉันก็รู้สึกประทับใจที่สามารถสร้างทายาทขึ้นมาได้ในเกม 20,000 เกม ดังนั้นฉันจึงพบว่ามันยากมากที่จะยอมรับว่าตารางเป็นรสาจริงๆ คำแนะนำเล็กน้อยเกี่ยวกับกระบวนการสร้างและแก้ไขกฎของคุณ (กี่ครั้งบ่อยแค่ไหน) ยังคงเป็นสิ่งจำเป็น
Philip Roe

1
@PhilipRoe ในโปรแกรมของฉันฉันบอกให้เอ็นจิ้นนับจำนวนชิ้น แต่ไม่คุ้มว่าแต่ละชิ้นจะมีมูลค่าเท่าใด ดังนั้นฉันจะบอกเครื่องยนต์ว่าจะดูอย่างไร แต่ไม่ใช่วิธีลดน้ำหนักที่เห็น AlphaZero เป็นรสาอื่น ๆ อีกมากมาย หากคุณอยากรู้: github.com/MarkZH/Genetic_Chess
Mark H
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.