ทำไมอัลกอริทึมการวนซ้ำของนโยบายจึงรวมเข้ากับนโยบายและฟังก์ชันค่าที่เหมาะสมที่สุด


10

ผมอ่านแอนดรูอึ้งของเอกสารประกอบการบรรยายเกี่ยวกับการเรียนรู้การเสริมแรงและผมพยายามที่จะเข้าใจว่าทำไมย้ำนโยบายการแปรสภาพการทำงานที่ค่าที่ดีที่สุดและนโยบายที่เหมาะสม *Vπ

การทำซ้ำนโยบายการเรียกคืนคือ:

Initialize π randomlyRepeat{Let V:=Vπ \for the current policy, solve bellman's eqn's and set that to the current VLet π(s):=argmaxaAsPsa(s)V(s)}

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

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


นี่คือความคิดของฉัน:

สมมติว่าเราเริ่มต้นด้วยนโยบายจากนั้นหลังจากขั้นตอนแรกสำหรับนโยบายคงที่นั้นเรามี:π1

Vπ1(s)=R(s)+γsPsπ1(s)(s)Vπ1(s)

V(1):=Vπ1(s)

โดยที่ V ^ {(1)} เป็นฟังก์ชันค่าสำหรับการวนซ้ำครั้งแรก หลังจากนั้นขั้นตอนที่สองเราเลือกนโยบายใหม่บางเพื่อเพิ่มมูลค่าของ(s) ตอนนี้ด้วยนโยบายใหม่หากเราทำขั้นตอนที่สองของอัลกอริทึมความไม่เท่าเทียมกันต่อไปนี้จะเป็นจริง:π2Vπ1(s)π2

R(s)+γsPsπ1(s)(s)Vπ1(s)R(s)+γsPsπ2(s)(s)Vπ1(s)

เนื่องจากเราเลือกในขั้นตอนที่สองเพื่อเพิ่มฟังก์ชั่นค่าในขั้นตอนก่อนหน้า (เช่นเพื่อปรับปรุงจนถึงตอนนี้มันชัดเจนว่าการเลือกสามารถเพิ่ม V ^ {(1)} ได้เท่านั้น เพราะ thats วิธีการที่เราเลือก . แต่ความสับสนของฉันมาในขั้นตอนการทำซ้ำเพราะเมื่อเราทำซ้ำและกลับไปขั้นตอนที่ 1 เราจริงเปลี่ยนสิ่งสมบูรณ์เพราะเราคำนวณใหม่สำหรับนโยบายใหม่\ซึ่งจะช่วยให้:π2V(1)π2π2V2π2

Vπ2(s)=R(s)+γsPsπ2(s)(s)Vπ2(s)

แต่มันไม่ใช่:

Vπ1(s)=R(s)+γsPsπ2(s)(s)Vπ1(s)

ซึ่งดูเหมือนว่าจะเป็นปัญหาเพราะได้รับการคัดเลือกในการปรับปรุงและไม่ใหม่นี้pi_2} โดยทั่วไปปัญหาคือรับประกันว่าจะปรับปรุงโดยทำแทน ของเมื่อฟังก์ชั่นค่าเป็นpi_1} แต่ในขั้นตอนการทำซ้ำเราเปลี่ยนเป็นแต่ฉันไม่เห็นวิธีที่รับประกันได้ว่าฟังก์ชันค่าปรับปรุงแบบ monotonically ในการทำซ้ำแต่ละครั้งเพราะถูกคำนวณเพื่อปรับปรุงฟังก์ชันค่าเมื่อ ฟังก์ชั่นค่ายังคงอยู่ที่π2V(1)Vπ2pi2R(s)+γsPsπ1(s)(s)Vπ1(s)π2pi1Vπ1Vπ1Vπ2π2Vπ1แต่ขั้นตอนที่ 1 เปลี่ยนเป็น (ซึ่งไม่ดีเพราะ Iปรับปรุงฟังก์ชั่นค่าก่อนหน้านี้เท่านั้น)Vπ1Vπ2π2


1
เพียงแค่ทราบ: โลภไม่ได้หมายความว่าอัลกอริทึมจะไม่พบทางออกที่ดีที่สุดโดยทั่วไป
Regenschein

1
การวนซ้ำมูลค่าเป็นอัลกอริทึมการเขียนโปรแกรมแบบไดนามิกมากกว่าโลภ ทั้งสองแบ่งปันความคล้ายคลึงกัน แต่มีความแตกต่าง ลองดูที่stackoverflow.com/questions/13713572/...
francoisr

@ francoisr ไม่มีใครเคยบอกฉันว่า บางทีนั่นอาจเป็นเหตุผลว่าทำไมมันถึงลึกลับมากสำหรับฉัน ฉันรู้ว่า DP ค่อนข้างดี ขอบคุณนะ! :)
Pinocchio

คำตอบ:


4

ผมคิดว่าส่วนที่คุณจะหายไปก็คือว่ามีการประกันด้วยเหตุผลเดียวกันกับที่เราสามารถสั่งซื้อ\ นั่นคือนิยามของนโยบายหนึ่งที่ดีกว่าอีกนโยบายหนึ่งนั่นคือฟังก์ชั่นค่าของมันมีค่ามากกว่าหรือเท่ากับในทุกรัฐ คุณรับประกันสิ่งนี้ได้โดยเลือกการกระทำที่มีประโยชน์สูงสุด - ไม่มีค่าสถานะใดที่จะเลวร้ายยิ่งกว่าที่เคยเป็นมาก่อนและหากมีเพียงหนึ่งทางเลือกของการกระทำที่เปลี่ยนไปเพื่อเลือกการกระทำที่ดีที่สุดแล้วคุณก็รู้อยู่แล้วสำหรับรัฐที่เป็นไปได้สูงกว่ามันเป็น(s)Vπ2Vπ1π2π1Vπ2(s)Vπ1(s)

เมื่อเราเลือกที่จะเพิ่มผลลัพธ์สูงสุดเพื่อสร้างเราไม่ทราบว่าจะเป็นสถานะใด ๆ แต่เรารู้ว่า(s)π2Vπ2(s)s:Vπ2(s)Vπ1(s)

ดังนั้นการย้อนกลับผ่านลูปและการคำนวณสำหรับนโยบายใหม่นั้นรับประกันว่าจะมีค่าเหมือนกันหรือสูงกว่าเมื่อก่อนและเมื่อต้องอัพเดตนโยบายอีกครั้ง .Vπ2π3π2π1


4

ก่อนอื่นเรามาดูว่าทำไมอัลกอริทึมการวนซ้ำของนโยบายทำงานอย่างไร มันมีสองขั้นตอน

ขั้นตอนการประเมินผลนโยบาย:

vn=rdn+γPdnvnเป็นรูปแบบเวกเตอร์ทั่วไปของระบบสมการเชิงเส้น

ในที่นี้คำศัพท์เป็นรางวัลในทันทีและแถวที่สอดคล้องกันของเมทริกซ์การเปลี่ยนแปลงrdn,Pdn

ข้อกำหนดเหล่านี้ขึ้นอยู่กับนโยบายΠn

การแก้ระบบสมการข้างต้นเราสามารถหาค่าของvn

ขั้นตอนการปรับปรุงนโยบาย:

สมมติว่าเราสามารถหานโยบายใหม่เช่นนั้นได้Πn+1

rdn+1+γPdn+1vnrdn+γPdnvnrdn+1[IγPdn+1]vnsay this is eqn. 1

ตอนนี้ตามนโยบายใหม่เราสามารถหา พูดว่านี่คือสมการ 2Πn+1vn+1=rdn+1+γPdn+1vn+1

เราจะแสดงให้เห็นว่า ;vn+1vn

เช่นโดยพื้นฐานแล้วสำหรับทุกรัฐนโยบายที่เลือกใหม่ให้คุณค่าที่ดีกว่าเมื่อเทียบกับนโยบายก่อนหน้านี้Πn+1Πn

พิสูจน์:

จากสมการที่ 2 เราได้

[IγPdn+1]vn+1=rdn+1

จากเรามี1&2

vn+1vn

โดยพื้นฐานแล้วค่าจะเพิ่มขึ้นแบบซ้ำซากในแต่ละรอบซ้ำ

นี่เป็นสิ่งสำคัญที่จะต้องเข้าใจว่าทำไม Interation Policy จะไม่ติดค้างอยู่ที่สูงสุดในพื้นที่

นโยบายคืออะไร แต่เป็นพื้นที่สำหรับรัฐ

ในทุกขั้นตอนการทำซ้ำนโยบายเราพยายามค้นหาสถานะการกระทำอย่างน้อยหนึ่งอย่างซึ่งแตกต่างระหว่าง และและดูว่าP_ เฉพาะในกรณีที่เงื่อนไขเป็นที่พอใจเราจะคำนวณวิธีการแก้ปัญหาไปยังระบบใหม่ของสมการเชิงเส้นΠn+1Πnrdn+1+γPdn+1vnrdn+γPdnvn

สมมติว่าและเป็นโลกและท้องถิ่นที่เหมาะสมที่สุดตามลำดับΠΠ#

โดยนัยvv#

สมมติว่าอัลกอริธึมติดอยู่ที่ระดับสูงสุดของท้องถิ่น

หากเป็นกรณีนี้ขั้นตอนการปรับปรุงนโยบายจะไม่หยุดที่พื้นที่การกระทำของรัฐที่เหมาะสมที่สุดเนื่องจากมีการดำเนินการอย่างน้อยหนึ่งสถานะในซึ่งแตกต่างจาก และให้ค่าสูงกว่าเทียบกับΠ#ΠΠ#vv#

หรือในคำอื่น ๆ

[IγPd]v[IγPd]v#

rd[IγPd]v#

rd+γPdv#v#

rd+γPdv#rd#+γPd#v#

ดังนั้นการวนซ้ำนโยบายจะไม่หยุดที่จุดสูงสุดของท้องถิ่น

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