เหตุใดการเรียนรู้ Q-learning ปกติ (และ DQN) จึงประเมินค่า Q สูงเกินไป

Jan 10 2021

แรงจูงใจในการเปิดตัวDQN สองครั้ง (และการเรียนรู้ Q สองครั้ง) คือการเรียนรู้ Q-learning ปกติ (หรือ DQN) สามารถประเมินค่า Q สูงเกินไปได้ แต่มีคำอธิบายสั้น ๆ ว่าเหตุใดจึงมีการประเมินค่าสูงเกินไป?

คำตอบ

3 DavidIreland Jan 11 2021 at 00:44

การประเมินค่าสูงเกินไปมาจากการเริ่มต้นแบบสุ่มของการประมาณค่า Q ของคุณ เห็นได้ชัดว่าสิ่งเหล่านี้จะไม่สมบูรณ์แบบ (ถ้าเป็นเช่นนั้นเราก็ไม่จำเป็นต้องเรียนรู้ค่า Q ที่แท้จริง!) ในวิธีการเรียนรู้การเสริมแรงตามมูลค่าหลายวิธีเช่น SARSA หรือ Q-learning อัลกอริทึมเกี่ยวข้องกับ a$\max$ผู้ดำเนินการในการสร้างนโยบายเป้าหมาย กรณีที่ชัดเจนที่สุดคือตามที่คุณกล่าวถึง Q-learning การปรับปรุงการเรียนรู้คือ$$Q(s, a) = Q(s, a) + \alpha \left[r(s, a) + \gamma \max_a Q(s', a) - Q(s, a) \right] \;.$$ฟังก์ชัน Q สำหรับทูเพิลการดำเนินการของรัฐที่เรากำลังพิจารณาจะเลื่อนไปสู่ฟังก์ชัน Q สูงสุดในสถานะถัดไปโดยที่$\max$ ถูกนำมาพิจารณาโดยคำนึงถึงการกระทำ

ตอนนี้ตามที่กล่าวไว้การประมาณค่า Q เริ่มต้นของเราเริ่มต้นแบบสุ่ม สิ่งนี้นำไปสู่ค่าที่ไม่ถูกต้องตามธรรมชาติ ผลที่ตามมาก็คือเมื่อเราคำนวณ$\max_aQ(s', a)$เราอาจจะเลือกค่าที่ไม่มีการลดเกินไป

เนื่องจาก Q-learning (ในกรณีแบบตาราง) ได้รับการประกันว่าจะมาบรรจบกัน (ภายใต้สมมติฐานที่ไม่รุนแรง) ดังนั้นผลที่ตามมาหลักของความเอนเอียงในการประเมินค่าที่สูงเกินไปก็คือทำให้การบรรจบกันช้าลงอย่างมาก หลักสูตรนี้สามารถเอาชนะได้ด้วย Double Q-learning

คำตอบข้างต้นสำหรับกรณี Q-Learning แบบตาราง แนวคิดนี้เหมือนกันสำหรับ Deep Q-Learning ยกเว้นโปรดทราบว่า Deep Q-learning ไม่มีการรับประกันการลู่เข้า (เมื่อใช้ NN เป็นตัวประมาณค่าฟังก์ชัน) ดังนั้นอคติในการประเมินค่าสูงเกินไปจึงเป็นปัญหามากกว่าเนื่องจากอาจหมายถึงพารามิเตอร์ ของเครือข่ายติดอยู่ในค่าที่เหมาะสมย่อย

ตามที่มีคนถามในความคิดเห็นเกี่ยวกับการเริ่มต้นค่าให้เป็นตัวเลขที่ต่ำมากสิ่งนี้จะไม่ได้ผลจริงๆ

พิจารณา MDP ต่อไปนี้ที่นำมาจาก Sutton และ Barto: เราเริ่มต้นในสถานะ A ซึ่งเราสามารถไปทางขวาโดยให้รางวัล 0 นำไปสู่สถานะเทอร์มินัลหรือไปทางซ้ายโดยให้รางวัล 0 ถึงรัฐ B จากสถานะ B เราสามารถพูดว่า 100 การกระทำที่แตกต่างกันซึ่งทั้งหมดนี้นำไปสู่สถานะเทอร์มินัลและได้รับรางวัลมาจากการแจกแจงปกติที่มีค่าเฉลี่ย -0.1 และผลต่าง 1

ตอนนี้เห็นได้ชัดว่าการดำเนินการที่ดีที่สุดจากสถานะ A คือไปทางขวา อย่างไรก็ตามเมื่อเราไปทางซ้ายและดำเนินการในสถานะ B มีโอกาส (เกือบ) 0.5 ที่จะได้รับรางวัลที่มากกว่า 0 ตอนนี้จำไว้ว่าค่า Q ถูกเลื่อนไปทาง$r(s, a) + \max_a Q(s', a)$; เนื่องจากรางวัลสุ่มเมื่อเปลี่ยนจากสถานะ B และความจริงที่ว่าเราจะได้เห็นรางวัลเชิงบวก$\max_a Q(s', a)$ จะเป็นบวก

ซึ่งหมายความว่าเมื่อเราดำเนินการทางซ้ายค่า Q (Q (A, ซ้าย)) จะถูกเลื่อนไปทางค่าบวกซึ่งหมายความว่าเมื่อเราอยู่ในสถานะ A ค่าของการเคลื่อนที่ไปทางซ้ายจะสูงกว่าการเคลื่อนที่ไปทางขวา (ซึ่งจะ ค่อยๆถูกเลื่อนไปสู่ค่าที่แท้จริงของ 0) และเมื่อทำตาม $\epsilon$- นโยบายที่เข้มงวดการกระทำที่ละโมบจะถูกทิ้งไปเมื่อในความเป็นจริงสิ่งนี้ไม่เหมาะสม

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