จุดประสงค์ของสัญญาณรบกวนดีริชเลต์ในกระดาษ AlphaZero


10

ในเอกสาร AlphaGo ZeroและAlphaZeroของ DeepMind พวกเขาอธิบายการเพิ่มสัญญาณรบกวนDirichletให้กับความน่าจะเป็นก่อนหน้าของการกระทำจากโหนดรูท (สถานะกระดาน) ใน Monte Carlo Tree Search:

การสำรวจเพิ่มเติมทำได้โดยการเพิ่มเสียง Dirichlet ให้กับความน่าจะเป็นก่อนหน้านี้ในรูทโหนดโดยเฉพาะโดยที่และ ; เสียงรบกวนนี้ทำให้มั่นใจได้ว่าการเคลื่อนไหวทั้งหมดอาจถูกลองใช้ แต่การค้นหาอาจยังคงเป็นการลบล้างการเคลื่อนไหวที่ไม่ดีs0P(s,a)=(1ε)pa+εηaηDir(0.03)ε=0.25

(AlphaGo Zero)

และ:

เพิ่ม Dirichlet noiseในความน่าจะเป็นก่อนหน้านี้ในโหนดรูท นี่เป็นสัดส่วนในสัดส่วนผกผันกับจำนวนการเคลื่อนไหวทางกฎหมายโดยประมาณในตำแหน่งทั่วไปค่าของสำหรับหมากรุกโชกิและโกตามลำดับDir(α)α={0.3,0.15,0.03}

(AlphaZero)

สองสิ่งที่ฉันไม่เข้าใจ:

  1. P(s, a)เป็นเวกเตอร์มิติคือชวเลขการกระจาย Dirichlet กับพารามิเตอร์แต่ละคนมีค่า ?nDir(α)nα

  2. ฉันเพิ่งเจอ Dirichlet เป็น conjugate ก่อนการกระจาย multinomial ทำไมถึงเลือกที่นี่?

สำหรับบริบทP(s, a)เป็นเพียงส่วนประกอบหนึ่งของการคำนวณ PUCT (พหุนามความเชื่อมั่นบนพหุนามตัวแปรในขอบเขตความเชื่อมั่นสูงสุด) สำหรับสถานะ / การกระทำที่กำหนด มันถูกปรับขนาดด้วยค่าคงที่และตัวชี้วัดสำหรับจำนวนครั้งที่การกระทำที่กำหนดได้รับการคัดเลือกในหมู่พี่น้องในช่วง MCTS และเพิ่มลงในค่าการดำเนินการโดยประมาณQ(s, a):

  • PUCT(s, a) = Q(s, a) + U(s, a).
  • U(s,a)=cpuctP(s,a)bN(s,b)1+N(s,a)A)}

2
โอเคดังนั้น Dir (a) ย่อมหมายถึง Dir (a, a, ... ) สำหรับ <1 นี่จะกระจุกอยู่ใกล้เวกเตอร์พื้นฐานมาตรฐานของ R ^ n (ยิ่งเล็กยิ่งแน่นยิ่งขึ้น) ดังนั้น Dirichlet (a) ช่วย (1) เก็บผลรวมของค่าคงที่ของพารามิเตอร์ (2) ตั้งสมาธิใกล้เวกเตอร์พื้นฐานและ (3) ไม่ชอบพวกมันเลย
พระภิกษุ

คำตอบ:


6

คำถามที่ 1 ตรงไปตรงมาที่นี่เป็นเวกเตอร์ของการซ้ำของค่าที่กำหนด (ตอบโดย Max S. )α

คำถามที่ 2 เป็นที่น่าสนใจอื่น ๆ : การกระจาย Dirichlet มีการตีความต่อไปเกี่ยวข้องในบริบทนี้: เมื่อเป็นเวกเตอร์ที่สังเกตผล-นับมาจากบางส่วน (ไม่ทราบ) การกระจายเด็ดขาดกับผลที่น่าจะเป็นแล้วคือความเป็นไปได้ที่คือการแจกแจงพื้นฐานที่แท้จริงเมื่อคุณสังเกตเป็นจำนวน (นี่คือนิยามของการแจกแจงแบบคู่)απDir(α)(π)Cat(π)α

ตอนนี้P(s,a)ประมาณการน่าจะเป็นที่ผู้เล่นที่ดีจะเล่นaในsที่เป็นพารามิเตอร์ของการกระจายเด็ดขาดของเขาซึ่ง AlphaZero ต้องการที่จะเรียนรู้ ดังนั้นจะสุ่มตัวอย่างการประมาณค่าที่เหมาะสมสำหรับหากเราสังเกตว่าการเล่นของผู้เล่นนั้นดี -times แต่ถ้ามีบางส่วนดังนั้นมีเพื่อป้องกันการสำรวจ โดยการเพิ่มเสียงพวกเขาคิดว่าพวกเขาได้สังเกตเห็นการเคลื่อนไหวทุกครั้งที่เล่นจำนวนน้อย (เลือกที่นี่ 0.3, 0.15, 0.03)Dir(α)pi=P(s,a)ααi=0πDir(α)πi=0α

สำหรับวิธีที่พวกเขาได้รับค่าคงที่ฉันเดาว่าพวกเขาคิดว่าจะมีการสังเกตการสุ่มเล่น 10 ~ ครั้งในทุกเกม: ในหมากรุก Dir(0.3)สมมติว่าคุณได้เห็นการเคลื่อนไหวแต่ละครั้งเล่น 0.3 ครั้ง เนื่องจากมี ~ 35 การเคลื่อนไหวที่มีอยู่ตาม Allisผู้เขียนคิดว่าคุณได้เห็น ~ 10 การเคลื่อนไหวแบบสุ่มในทุกโหนด ใน Go ถ้าเราสมมติว่ามีการเคลื่อนไหวทางกฎหมายโดยเฉลี่ยประมาณ 270 ตำแหน่ง (3/4 ของตำแหน่งกระดาน 361) เราจะเห็นว่าเทียบเท่ากับการสังเกตการเคลื่อนไหวแบบสุ่ม ~ 8 (ฉันไม่มีข้อมูลสำหรับ Shogi)


3

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

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


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