ทำไม REINFORCE ถึงทำงานได้เลย?

Aug 15 2020

นี่คือภาพหน้าจอของอัลกอริธึมการไล่ระดับนโยบายยอดนิยมจากหนังสือของ Sutton และ Barto -

ฉันเข้าใจรากศัพท์ทางคณิตศาสตร์ของกฎการอัปเดต - แต่ฉันไม่สามารถสร้างสัญชาตญาณได้ว่าเหตุใดอัลกอริทึมนี้จึงควรใช้งานได้ตั้งแต่แรก สิ่งที่ทำให้ฉันรำคาญจริงๆคือเราเริ่มต้นด้วยนโยบายที่ไม่ถูกต้อง (กล่าวคือเราไม่รู้พารามิเตอร์$\theta$ ยัง) และเราใช้นโยบายนี้เพื่อสร้างตอนและอัปเดตที่ตามมา

ทำไมREINFORCEจึงควรใช้งานได้เลย? ท้ายที่สุดตอนที่ใช้สำหรับการอัปเดตการไล่ระดับสีจะถูกสร้างขึ้นโดยใช้นโยบายที่กำหนดพารามิเตอร์โดยพารามิเตอร์$\theta$ ซึ่งยังไม่ได้รับการอัปเดต (ตอนนี้ไม่ได้สร้างขึ้นโดยใช้นโยบายที่ดีที่สุด - ไม่มีทางที่เราจะทำได้)

ฉันหวังว่าความกังวลของฉันจะชัดเจนและฉันขอให้คุณให้สัญชาตญาณว่าทำไมถึงได้ผล! ฉันสงสัยว่าอย่างใดแม้ว่าเราจะมีการสุ่มตัวอย่างตอนจากนโยบายผิดเราได้ใกล้ชิดกับหนึ่งที่เหมาะสมหลังจากการปรับปรุงแต่ละ (ปรับปรุงต่อเนื่อง) หรืออีกทางหนึ่งเราอาจเข้าใกล้นโยบายที่เหมาะสมที่สุด (ชุดพารามิเตอร์ที่เหมาะสมที่สุด$\theta$) โดยเฉลี่ย.

แล้วเกิดอะไรขึ้นที่นี่?

คำตอบ

4 DavidIreland Aug 15 2020 at 21:16

กุญแจสำคัญในการทำงานของ REINFORCE คือการเปลี่ยนพารามิเตอร์ไปทาง $G \nabla \log \pi(a|s, \theta)$.

โปรดทราบว่า $ \nabla \log \pi(a|s, \theta) = \frac{ \nabla \pi(a|s, \theta)}{\pi(a|s, \theta)}$. สิ่งนี้ทำให้การอัปเดตใช้งานง่าย - ตัวเศษจะเปลี่ยนพารามิเตอร์ไปในทิศทางที่เพิ่มความเป็นไปได้สูงสุดที่การกระทำจะถูกทำซ้ำโดยให้สถานะเป็นสัดส่วนกับผลตอบแทนซึ่งมองเห็นได้ง่ายเนื่องจากเป็นการไล่ระดับสีเป็นหลัก ขั้นตอน. ตัวส่วนควบคุมการกระทำที่จะมีข้อได้เปรียบเหนือการกระทำอื่น ๆ เนื่องจากจะถูกเลือกบ่อยขึ้นโดยการปรับขนาดแบบผกผันกับความน่าจะเป็นของการกระทำที่เกิดขึ้น ลองนึกดูว่ามีรางวัลสูงหรือไม่ แต่การกระทำในเวลานั้น$t$ มีความเป็นไปได้ต่ำที่จะถูกเลือก (เช่น 0.1) จากนั้นสิ่งนี้จะคูณผลตอบแทนด้วย 10 ซึ่งนำไปสู่ขั้นตอนการอัปเดตที่ใหญ่ขึ้นในทิศทางที่จะเพิ่มความน่าจะเป็นของการกระทำนี้ที่ถูกเลือกมากที่สุด (ซึ่งเป็นสิ่งที่ตัวเศษควบคุมตามที่กล่าวไว้ ).

นั่นคือสำหรับปรีชา - จะเห็นว่าทำไมมันไม่ทำงานแล้วคิดเกี่ยวกับสิ่งที่เราทำ เรากำหนดฟังก์ชันวัตถุประสงค์$v_\pi(s)$เราสนใจที่จะเพิ่มประสิทธิภาพสูงสุดโดยเคารพพารามิเตอร์ของเรา $\theta$. เราพบอนุพันธ์ของวัตถุประสงค์นี้เมื่อเทียบกับพารามิเตอร์ของเราจากนั้นเราทำการไล่ระดับสีขึ้นบนพารามิเตอร์ของเราเพื่อเพิ่มวัตถุประสงค์ของเราให้มากที่สุดนั่นคือการเพิ่ม$v_\pi(s)$ดังนั้นหากเราดำเนินการไล่ระดับสีขึ้นเรื่อย ๆ พารามิเตอร์นโยบายของเราจะมาบรรจบกัน (ในที่สุด) เป็นค่าที่เพิ่มสูงสุด $v$ ดังนั้นนโยบายของเราจึงเหมาะสมที่สุด