กลับไปหน้าบทความ

อ่าน 7 นาที

การเพิ่มประสิทธิภาพนโยบายในระยะใกล้

การปรับนโยบายให้เหมาะสมแบบใกล้เคียง (Proximal Policy OptimizationหรือPPO ) เป็น อัลกอริธึม การเรียนรู้แบบเสริมแรง (Reinforcement Learning หรือ RL)...

การเพิ่มประสิทธิภาพนโยบายในระยะใกล้

การปรับนโยบายให้เหมาะสมแบบใกล้เคียง (Proximal Policy OptimizationหรือPPO ) เป็น อัลกอริธึม การเรียนรู้แบบเสริมแรง (Reinforcement Learning หรือ RL) สำหรับฝึกตัวแทนอัจฉริยะโดยเฉพาะอย่างยิ่ง เป็นวิธีการไล่ระดับนโยบายซึ่งมักใช้กับการเรียนรู้แบบเสริมแรงเชิงลึก (Deep RL)เมื่อเครือข่ายนโยบายมีขนาดใหญ่มาก

ประวัติศาสตร์

อัลกอริทึมก่อนหน้าของ PPO คือ Trust Region Policy Optimization (TRPO) ซึ่งเผยแพร่ในปี 2015 โดยแก้ไขปัญหาความไม่เสถียรของอัลกอริทึมอื่นคือDeep Q-Network (DQN) โดยใช้ วิธี การ Trust Regionเพื่อจำกัดความแตกต่างของ KLระหว่างนโยบายเก่าและนโยบายใหม่ อย่างไรก็ตาม TRPO ใช้เมทริกซ์ Hessian (เมทริกซ์ของอนุพันธ์อันดับสอง) เพื่อบังคับใช้ Trust Region แต่เมทริกซ์ Hessian นั้นไม่มีประสิทธิภาพสำหรับปัญหาขนาดใหญ่[ 1 ]

PPO ได้รับการเผยแพร่ในปี 2017 โดยพื้นฐานแล้วเป็นการประมาณค่า TRPO ที่ไม่จำเป็นต้องคำนวณ Hessian ข้อจำกัดการล divergence ของ KL ได้รับการประมาณค่าโดยการตัดความชันของนโยบาย[ 2 ]

ตั้งแต่ปี 2018 PPO เป็นอัลกอริธึม RL เริ่มต้นที่OpenAI [ 3 ] PPO ได้ถูกนำไปใช้ในหลายด้าน เช่นการควบคุมแขนหุ่นยนต์การเอาชนะผู้เล่นมืออาชีพในDota 2 ( OpenAI Five ) และการเล่นเกม Atari [ 4 ]

ทรอปโป

TRPO ซึ่งเป็นรุ่นก่อนหน้าของ PPO เป็นอัลกอริธึมแบบ on-policy สามารถใช้งานได้ในสภาพแวดล้อมที่มีพื้นที่การกระทำแบบไม่ต่อเนื่องหรือแบบต่อเนื่องก็ได้

รหัสเทียมมีดังนี้: [ 5 ]

  • อินพุต: พารามิเตอร์นโยบายเริ่มต้น, พารามิเตอร์ฟังก์ชันค่าเริ่มต้น
  • พารามิเตอร์: ขีดจำกัดความแตกต่าง KL , สัมประสิทธิ์การย้อนกลับ, จำนวนขั้นตอนการย้อนกลับสูงสุด
  • เพื่อทำ
    • รวบรวมชุดวิถีการเคลื่อนที่โดยการเรียกใช้นโยบายในสภาพแวดล้อม
    • คำนวณรางวัลที่จะได้รับ
    • คำนวณค่าประมาณความได้เปรียบ(โดยใช้วิธีการประมาณความได้เปรียบใดๆ ก็ได้) โดยอิงจากฟังก์ชันมูลค่าปัจจุบัน
    • ประมาณการความชันของนโยบายดังนี้
    • ใช้ขั้นตอนวิธีไล่ระดับแบบสังยุค (conjugate gradient algorithm)เพื่อคำนวณหาค่าHessian ของค่าเฉลี่ย KL-divergence ของตัวอย่าง
    • ปรับปรุงนโยบายโดยใช้การค้นหาเส้นแบบย้อนกลับ โดยกำหนดค่าที่น้อยที่สุดซึ่งช่วยปรับปรุงค่าความสูญเสียของตัวอย่างและตรงตามข้อจำกัดความแตกต่างของ KL ในตัวอย่าง
    • ปรับฟังก์ชันค่าให้เหมาะสมโดยใช้การถดถอยบนค่าความคลาดเคลื่อนกำลังสองเฉลี่ย: โดยทั่วไปจะใช้ขั้นตอนวิธีลดความชัน (gradient descent) บางอย่าง

พีพีโอ

รหัสเทียมมีดังนี้: [ 6 ]

  • อินพุต: พารามิเตอร์นโยบายเริ่มต้น, พารามิเตอร์ฟังก์ชันค่าเริ่มต้น
  • เพื่อทำ
    • รวบรวมชุดวิถีการเคลื่อนที่โดยการเรียกใช้นโยบายในสภาพแวดล้อม
    • คำนวณรางวัลที่จะได้รับ
    • คำนวณค่าประมาณความได้เปรียบ(โดยใช้วิธีการประมาณความได้เปรียบใดๆ ก็ได้) โดยอิงจากฟังก์ชันมูลค่าปัจจุบัน
    • ปรับปรุงนโยบายโดยการเพิ่มค่าเป้าหมาย PPO-Clip ให้สูงสุด: โดยทั่วไปแล้วจะทำได้โดยใช้วิธีการเพิ่มค่าความชันแบบสุ่ม (stochastic gradient ascent) ด้วย Adam
    • ปรับฟังก์ชันค่าให้เหมาะสมโดยใช้การถดถอยบนค่าความคลาดเคลื่อนกำลังสองเฉลี่ย: โดยทั่วไปจะใช้ขั้นตอนวิธีลดความชัน (gradient descent) บางอย่าง

เช่นเดียวกับวิธีการไล่ระดับนโยบายอื่นๆ PPO ถูกใช้สำหรับการฝึกตัวแทน RL ที่การกระทำถูกกำหนดโดยฟังก์ชันนโยบายที่สามารถหาอนุพันธ์ได้โดยวิธีการไล่ระดับความชัน

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

วิธีการไล่ระดับนโยบายอาจไม่เสถียร: ขนาดขั้นตอนที่ใหญ่เกินไปอาจนำนโยบายไปในทิศทางที่ไม่เหมาะสม ทำให้มีโอกาสน้อยที่จะแก้ไขได้ ในขณะที่ขนาดขั้นตอนที่เล็กเกินไปจะลดประสิทธิภาพโดยรวมลง

เพื่อแก้ปัญหาความไม่เสถียร PPO ใช้ฟังก์ชันคลิปที่จำกัดการอัปเดตนโยบายของเอเจนต์ไม่ให้มีขนาดใหญ่เกินไป เพื่อให้สามารถใช้ขนาดขั้นตอนที่ใหญ่ขึ้นได้โดยไม่ส่งผลเสียต่อกระบวนการเพิ่มระดับความชัน[ 7 ]

แนวคิดพื้นฐาน

เพื่อเริ่มต้นกระบวนการฝึก PPO ตัวแทนจะถูกตั้งค่าในสภาพแวดล้อมเพื่อดำเนินการตามอินพุตปัจจุบัน ในช่วงเริ่มต้นของการฝึก ตัวแทนสามารถสำรวจโซลูชันได้อย่างอิสระและติดตามผลลัพธ์ ต่อมา เมื่อมีตัวอย่างการเปลี่ยนสถานะและการอัปเดตนโยบายจำนวนหนึ่ง ตัวแทนจะเลือกการกระทำที่จะทำโดยการสุ่มตัวอย่างจากการกระจายความน่าจะเป็น ที่สร้างขึ้นโดยเครือข่ายนโยบาย[ 8 ]การกระทำที่มีแนวโน้มที่จะเป็นประโยชน์มากที่สุดจะมีโอกาสถูกเลือกจากตัวอย่างแบบสุ่มสูงสุด หลังจากที่ตัวแทนมาถึงสถานการณ์ที่แตกต่างกัน ( สถานะ ใหม่ ) โดยการกระทำ ตัวแทนจะได้รับรางวัลเป็นบวกหรือลบ เป้าหมายของตัวแทนคือการเพิ่มสัญญาณรางวัลสะสมให้สูงสุดในลำดับของสถานะที่เรียกว่า ตอน

กฎการไล่ระดับนโยบาย: ฟังก์ชันความได้เปรียบ

ฟังก์ชันความได้เปรียบ (แสดงด้วย) เป็นหัวใจสำคัญของ PPO เนื่องจากพยายามตอบคำถามว่าการกระทำเฉพาะอย่างของตัวแทนนั้นดีกว่าหรือแย่กว่าการกระทำอื่นที่เป็นไปได้ในสถานะที่กำหนดหรือไม่ ตามคำจำกัดความ ฟังก์ชันความได้เปรียบเป็นการประมาณค่าสัมพัทธ์ของการกระทำที่เลือก หากผลลัพธ์ของฟังก์ชันนี้เป็นบวก หมายความว่าการกระทำดังกล่าวดีกว่าผลตอบแทนเฉลี่ย ดังนั้นความเป็นไปได้ในการเลือกการกระทำเฉพาะนั้นจะเพิ่มขึ้น ในทางตรงกันข้าม หากผลลัพธ์ความได้เปรียบเป็นลบ แสดงว่าผลลัพธ์เป็นบวก[ 1 ]

ฟังก์ชันข้อได้เปรียบสามารถกำหนดได้เป็น โดยที่คือผลรวมส่วนลดของรางวัล (รางวัลถ่วงน้ำหนักทั้งหมดสำหรับการเสร็จสิ้นตอน) และคือค่าประมาณพื้นฐาน[ 9 ] [ 1 ]เนื่องจากฟังก์ชันข้อได้เปรียบคำนวณหลังจากเสร็จสิ้นตอน โปรแกรมจึงบันทึกผลลัพธ์ของตอน ดังนั้น การคำนวณข้อได้เปรียบจึงเป็น ปัญหา การเรียนรู้แบบไม่กำกับดูแล โดยพื้นฐาน ค่าประมาณพื้นฐานมาจากฟังก์ชันค่าที่ส่งออกผล รวมส่วนลด ที่คาดหวังของตอนโดยเริ่มจากสถานะปัจจุบัน ในอัลกอริทึม PPO ค่าประมาณพื้นฐานจะมีสัญญาณรบกวน (มีความแปรปรวน บางส่วน ) เนื่องจากใช้โครงข่ายประสาทเทียมเช่นเดียวกับฟังก์ชันนโยบายเอง เมื่อ คำนวณ และ แล้วฟังก์ชันข้อได้เปรียบจะคำนวณโดยการลบค่าประมาณพื้นฐานออกจากผลตอบแทนส่วนลดจริง[ 10 ]ถ้าผลตอบแทนจริงของการกระทำจะดีกว่าผลตอบแทนที่คาดหวังจากประสบการณ์ ถ้าผลตอบแทนจริงจะแย่กว่า

ฟังก์ชันอัตราส่วน

ใน PPO ฟังก์ชันอัตราส่วน ( ) คำนวณความน่าจะเป็นของการเลือกการกระทำในสถานะที่กำหนดโดยเครือข่ายนโยบายปัจจุบัน หารด้วยความน่าจะเป็นก่อนหน้าภายใต้นโยบายเก่า กล่าวอีกนัยหนึ่งคือ:

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

ดังนั้น ฟังก์ชันอัตราส่วนนี้จึงสามารถประมาณความแตกต่างระหว่างนโยบายเก่าและนโยบายปัจจุบันได้อย่างง่ายดาย[ 11 ] [ 7 ]

ฟังก์ชันวัตถุประสงค์ PPO

ฟังก์ชันเป้าหมายของ PPO ใช้ตัวดำเนินการค่าคาดหวัง (แทนด้วย) ซึ่งหมายความว่าฟังก์ชันนี้จะถูกคำนวณจากปริมาณของวิถีการเคลื่อนที่ ตัวดำเนินการค่าคาดหวังจะเลือกค่าต่ำสุดของสองพจน์:

  1. : นี่คือผลคูณของฟังก์ชันอัตราส่วนและฟังก์ชันข้อได้เปรียบที่นำเสนอใน TRPO หรือที่รู้จักกันในชื่อวัตถุประสงค์การไล่ระดับนโยบายปกติ[ 12 ]
  2. : อัตราส่วนนโยบายจะถูกจำกัดให้อยู่ในช่วงก่อนโดยทั่วไปจะกำหนดให้เป็น 0.2 จากนั้นจึงนำไปคูณด้วยข้อได้เปรียบเช่นเดียวกับที่กล่าวมาแล้ว

หลักการพื้นฐานเบื้องหลัง PPO เหมือนกับ TRPO คือ การอนุรักษ์นิยม การตัดค่าส่งผลให้การประมาณค่าความได้เปรียบของนโยบายใหม่มีความอนุรักษ์นิยม เหตุผลก็คือ หากตัวแทนทำการเปลี่ยนแปลงอย่างมีนัยสำคัญเนื่องจากการประมาณค่าความได้เปรียบสูง การอัปเดตนโยบายของตัวแทนจะมีขนาดใหญ่และไม่เสถียร และอาจเบี่ยงเบนจากนโยบายที่เหมาะสมที่สุดโดยมีโอกาสน้อยที่จะแก้ไขได้[ 13 ]ฟังก์ชันการตัดค่ามีการใช้งานทั่วไปสองแบบ: เมื่อการกระทำภายใต้นโยบายใหม่เป็นทางเลือกที่ดีโดยพิจารณาจากฟังก์ชันความได้เปรียบ ฟังก์ชันการตัดค่าจะจำกัดว่าสามารถให้เครดิตแก่นโยบายใหม่ได้มากน้อยเพียงใดสำหรับการกระทำที่ดีที่มีน้ำหนักเพิ่มขึ้น ในทางกลับกัน เมื่อการกระทำภายใต้นโยบายเดิมถูกตัดสินว่าไม่ดี ฟังก์ชันการตัดค่าจะจำกัดว่าตัวแทนสามารถยอมรับการกระทำที่ไม่ดีที่มีน้ำหนักลดลงของนโยบายใหม่ได้มากน้อยเพียงใด[ 14 ]ด้วยเหตุนี้ กลไกการตัดค่าจึงถูกออกแบบมาเพื่อยับยั้งแรงจูงใจในการเคลื่อนที่เกินขอบเขตที่กำหนดโดยการตัดค่าทั้งสองทิศทาง ข้อดีของวิธีนี้คือสามารถปรับให้เหมาะสมที่สุดได้โดยตรงด้วยการไล่ระดับความชัน (gradient descent ) ซึ่งแตกต่างจากข้อจำกัดเรื่องความแตกต่างของ KL ที่เข้มงวดของ TRPO ทำให้การใช้งานรวดเร็วและเข้าใจง่ายกว่า

หลังจากคำนวณฟังก์ชันวัตถุประสงค์ตัวแทนที่ถูกตัดแล้ว ตัวแทนจะมีอัตราส่วนความน่าจะเป็นสองค่า ได้แก่ ค่าที่ไม่ถูกตัดและค่าที่ถูกตัด จากนั้น โดยการหาค่าต่ำสุดของวัตถุประสงค์ทั้งสอง ค่าวัตถุประสงค์สุดท้ายจะกลายเป็นขอบเขตล่าง ( ขอบเขต มองโลกในแง่ร้าย ) ของสิ่งที่ตัวแทนรู้ว่าเป็นไปได้[ 14 ]กล่าวอีกนัยหนึ่ง วิธีการหาค่าต่ำสุดทำให้มั่นใจได้ว่าตัวแทนกำลังทำการอัปเดตที่ปลอดภัยที่สุดเท่าที่จะเป็นไปได้

ข้อดี

ความเรียบง่าย

PPO ประมาณการสิ่งที่ TRPO ทำ โดยใช้การคำนวณน้อยกว่ามาก โดยใช้การเพิ่มประสิทธิภาพอันดับแรก (ฟังก์ชันคลิป) เพื่อจำกัดการอัปเดตนโยบาย ในขณะที่ TRPO ใช้ข้อจำกัดความแตกต่าง KL (การเพิ่มประสิทธิภาพอันดับสอง) เมื่อเทียบกับ TRPO วิธี PPO นั้นง่ายต่อการใช้งานและต้องการทรัพยากรการคำนวณและเวลาน้อยกว่า ดังนั้นจึงถูกกว่าและมีประสิทธิภาพมากกว่าในการใช้ PPO ในปัญหาขนาดใหญ่[ 15 ]

ความเสถียร

ในขณะที่อัลกอริธึม RL อื่นๆ จำเป็นต้อง ปรับแต่ง ไฮเปอร์พารามิเตอร์แต่ PPO ไม่จำเป็นต้องปรับแต่งมากนัก (สามารถใช้ค่า epsilon 0.2 ได้ในกรณีส่วนใหญ่) [ 16 ]นอกจากนี้ PPO ไม่จำเป็นต้องใช้เทคนิคการเพิ่มประสิทธิภาพที่ซับซ้อน สามารถฝึกฝนได้ง่ายด้วย เฟรมเวิร์ก การเรียนรู้เชิงลึก มาตรฐาน และสามารถนำไปใช้กับงานต่างๆ ได้หลากหลาย

ประสิทธิภาพตัวอย่าง

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

ดูเพิ่มเติม

  • ประกาศเกี่ยวกับการปรับปรุงนโยบายระยะใกล้โดย OpenAI
  • ที่เก็บ GitHub
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Proximal_policy_optimization&oldid=1355448120 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การเพิ่มประสิทธิภาพนโยบายในระยะใกล้

การปรับนโยบายให้เหมาะสมแบบใกล้เคียง (Proximal Policy OptimizationหรือPPO ) เป็น อัลกอริธึม การเรียนรู้แบบเสริมแรง (Reinforcement Learning หรือ RL)...

ประวัติศาสตร์

อัลกอริทึมก่อนหน้าของ PPO คือ Trust Region Policy Optimization (TRPO) ซึ่งเผยแพร่ในปี 2015 โดยแก้ไขปัญหาความไม่เสถียรของอัลกอริทึมอื่นคือ Deep Q-Network (DQN) โดยใช้ วิธี การ Trust Region เพื่อจำกัดความ แตกต่างของ KL ระหว่างนโยบายเก่าและนโยบายใหม่...

ทรอปโป

TRPO ซึ่งเป็นรุ่นก่อนหน้าของ PPO เป็นอัลกอริธึมแบบ on-policy สามารถใช้งานได้ในสภาพแวดล้อมที่มีพื้นที่การกระทำแบบไม่ต่อเนื่องหรือแบบต่อเนื่องก็ได้

แนวคิดพื้นฐาน

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