การคาดเดาที่ดีที่สุดของฉันคือการดำเนินการเพื่อลดเวลาในการคำนวณไม่เช่นนั้นเราจะต้องค้นหาค่า q สำหรับแต่ละการกระทำจากนั้นเลือกอันที่ดีที่สุด
มันไม่มีผลกระทบต่อเวลาคำนวณอย่างแท้จริงนอกจากการเพิ่มขึ้นเล็กน้อย (เนื่องจากหน่วยความจำพิเศษที่ใช้โดยเครือข่ายสองเครือข่าย) คุณสามารถแคชผลลัพธ์ของเครือข่ายเป้าหมายที่ฉันคิด แต่อาจไม่คุ้มค่ากับสภาพแวดล้อมส่วนใหญ่และฉันไม่เห็นการใช้งานที่ทำเช่นนั้น
ฉันพลาดอะไรไปรึเปล่า?
มันจะทำอย่างไรกับความเสถียรของอัลกอริทึม Q-learning เมื่อใช้การประมาณฟังก์ชั่น (เช่นเครือข่ายประสาท) การใช้เครือข่ายเป้าหมายแยกต่างหากอัพเดตทุก ๆ ขั้นตอนด้วยสำเนาของพารามิเตอร์ที่เรียนรู้ล่าสุดช่วยป้องกันอคติจากการบูตสแตรปจากการครอบครองระบบเป็นตัวเลขทำให้ค่า Q โดยประมาณเบี่ยงเบนไป
ลองนึกภาพหนึ่งในจุดข้อมูล (ที่S, A, R, S'
) ทำให้การประเมินQ(S', A')
ที่แย่เกินไปในปัจจุบันแย่ลง อาจจะS', A'
ยังไม่ได้เยี่ยมชมเลยหรือคุณค่าของการR
มองเห็นสูงกว่าค่าเฉลี่ยโดยบังเอิญ ถ้าตัวอย่างของ(S,A)
การตัดขึ้นหลายครั้งในประสบการณ์การเล่นใหม่ก็จะได้รับเลวร้ายอีกครั้งในแต่ละครั้งเนื่องจากการปรับปรุงที่จะอยู่บนพื้นฐานของQ(S,A)
R + max_a Q(S',a)
การแก้ไขเครือข่ายเป้าหมายจะจำกัดความเสียหายที่เกินกว่าที่คาดการณ์ไว้สามารถทำได้ให้เวลาเครือข่ายการเรียนรู้เพื่อรวมและสูญเสียอคติเริ่มแรก
ในแง่นี้การใช้เครือข่ายเป้าหมายแยกต่างหากมีจุดประสงค์คล้ายกันมากในการรับชมซ้ำ มันทำให้อัลกอริทึมคงที่ซึ่งมีปัญหาการบรรจบกัน
นอกจากนี้ยังเป็นไปได้ที่จะมี DQN ด้วย "การเรียนรู้สองครั้ง" เพื่อแก้ไขปัญหาแยกต่างหาก: อคติสูงสุด ในกรณีนี้คุณอาจเห็นการใช้งาน DQN กับเครือข่ายประสาทเทียม 4 เครือข่าย