ทำไมคุณไม่เห็นเลเยอร์การออกกลางคันในตัวอย่างการเรียนรู้การเสริมแรง?


13

ฉันได้ดูการเรียนรู้การเสริมแรงและโดยเฉพาะการเล่นกับการสร้างสภาพแวดล้อมของตัวเองเพื่อใช้กับ OpenAI Gym AI ฉันกำลังใช้ตัวแทนจากโครงการ stable_baselines เพื่อทดสอบกับมัน

สิ่งหนึ่งที่ฉันสังเกตเห็นได้ในตัวอย่าง RL เกือบทั้งหมดคือดูเหมือนจะไม่มีเลเยอร์ดรอปเอาต์ในเครือข่ายใด ๆ เลย ทำไมนี้

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

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

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


1
คุณลองเพิ่มการออกกลางคันในเครือข่าย RL เพื่อดูว่าเกิดอะไรขึ้น ฉันมี (สำหรับ LunarLander_v2 ตัวแก้ปัญหาที่ใช้งานได้ดี) และผลลัพธ์นั้นแย่มากจากการแก้ไขใน 400 ตอนไปจนถึงการแก้ปัญหาที่ไม่เคยเกิดขึ้นทั้งหมด การทำให้เป็นมาตรฐานอื่น ๆ ก็โอเคและยังเป็นประโยชน์ ฉันไม่รู้ว่าทำไมปัญหาเกี่ยวกับการออกกลางคันถึงแม้ว่ากำลังคิดที่จะถามคำถามที่นี่ . .
Neil Slater

นีลใช่ดูเหมือนว่าประสบการณ์ของคุณที่นั่นสะท้อนสิ่งที่เดนนิสพูดไว้ด้านล่าง อย่างที่ฉันคาดไว้ในสถานการณ์ประเภท 'แก้ปริศนานี้' คุณกำลังมองหาวิธีแก้ปัญหาที่เกินจริงตามที่คุณต้องการแก้ปริศนาเฉพาะนั้น และคุณอยากรู้ว่าคุณกำลังเผชิญหน้ากับเอเลี่ยนสีน้ำเงินหรือเอเลี่ยนแดงเพราะพวกมันอาจมีพฤติกรรมแตกต่างกันในเกมของคุณหรือไม่
Matt Hamilton

@ MattHamilton ฉันเพิ่งเกิดขึ้นเพื่อดูทวีตของคนที่ทำเกี่ยวกับ "นักวิจัย RL กำลังประเมินข้อมูลการฝึกอบรม" ฉันแก้ไขลิงก์ไปยังคำตอบของฉันแล้ว ประเด็นนี้ยังคงเหมือนเดิมเมื่อพูดถึงการตอบคำถามของคุณ แต่ฉันเห็นด้วยกับโซ่ทวีตที่ฉันเชื่อมโยงกับที่นั่นว่าความจริงนั้นเหมาะสมยิ่งกว่าเล็กน้อย
Dennis Soemers

คำตอบ:


11

การออกกลางคันเป็นหลักทำให้เกิดความแปรปรวนมากขึ้นอีกเล็กน้อย ในการตั้งค่าการเรียนรู้ภายใต้การดูแลนี่มักจะช่วยลดการ overfitting (แม้ว่าฉันเชื่อว่ามีการออกกลางคันก็เริ่มน้อยลงแล้ว .. แฟชั่นในไม่กี่ปีที่ผ่านมามากกว่าในช่วงไม่กี่ปีก่อนหน้านั้นฉันไม่แน่ใจ 100% สาขาที่เชี่ยวชาญ)

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

  • การสุ่มเลือกการกระทำนำไปสู่ความแปรปรวนของผลตอบแทนที่เราสังเกตได้
  • อาจมีการสุ่มตัวอย่างให้กับสภาพแวดล้อมเองซึ่งนำไปสู่ความแปรปรวนเพิ่มเติมในการสังเกตของเรา (สภาพแวดล้อมบางอย่างไม่เป็นระเบียบ)
  • ซึ่งแตกต่างจากการตั้งค่าการเรียนรู้ภายใต้การดูแลในการเรียนรู้การเสริมแรงเรามักจะใช้การคาดการณ์ของเราเองเป็นส่วนหนึ่งของฟังก์ชั่นการสูญเสีย / สัญญาณการฝึกอบรมของเรา ตัวอย่างเช่นในการเรียนรู้ที่แตกต่างชั่วคราว (เช่น Q-learning / DQN) เป้าหมายที่เราอัปเดตไปสู่หน้าตาเป็นอย่างไรR+สูงสุดa'Q(s',a'). ในระยะนั้นเท่านั้นRเป็นการสังเกตพื้นจริง (เช่นที่เราจะใช้ในการเรียนรู้แบบมีผู้สอน) และคำอื่น ๆ คือการทำนายของเราเอง ในระหว่างกระบวนการเรียนรู้ส่วนหลัง (การทำนายของเราเอง) กำลังเปลี่ยนแปลงตลอดเวลา นี่เป็นปัญหา " เป้าหมายที่เคลื่อนไหว " ซึ่งสามารถดูได้ว่าเป็นความแปรปรวนเพิ่มเติมในสัญญาณการเรียนรู้ของเรา

ส่วนสำคัญของอัลกอริธึม Deep RL (โดยที่กระบวนการฝึกอบรมของเราปรากฏออกมาเพื่อทำให้เกิดความมั่นคงและพังทลาย) ได้รับการปรับแต่งให้เหมาะสมเพื่อลดความแปรปรวนดังกล่าว ตัวอย่างเช่น Target Networks ใน DQN ถูกนำมาใช้โดยเฉพาะเพื่อลดปัญหาการเคลื่อนย้ายเป้าหมาย จากมุมมองนี้ไม่น่าแปลกใจที่ถ้าเราเพิ่มความแปรปรวนที่ประดิษฐ์ขึ้นด้วยวิธีการอื่นอีกครั้ง (เช่นการออกกลางคัน) การทำเช่นนี้จะส่งผลกระทบต่อประสิทธิภาพการเรียนรู้ / ทำให้เกิดความมั่นคง


มีกลไกอื่น ๆ ที่จะลองและจัดการกับการสวมใส่เกินได้ไหม? หรือในตัวอย่าง RL หลายเรื่องไม่สำคัญ เช่นอาจมีเพียงวิธีเดียวที่แท้จริงในการทำคะแนนสูงสุดในเกม 'breakout' ดังนั้นคุณอาจจะเรียนรู้อย่างแน่นอนและไม่จำเป็นต้องพูดคุยกัน?

ในการวิจัยการเรียนรู้การเสริมแรงในปัจจุบัน (ลึก) ปัจจุบันการมีน้ำหนักเกินไม่ได้ถูกมองว่าเป็นปัญหา การวิจัย RL ส่วนใหญ่ประกอบด้วยการฝึกอบรมในสภาพแวดล้อมเดียว (ตัวอย่างเช่น Cartpole หรือ Breakout หรือระดับหนึ่งโดยเฉพาะใน Pacman หรือการนำทางในเขาวงกตที่เฉพาะเจาะจง ฯลฯ ) และทำการประเมินประสิทธิภาพตลอดเวลาในระหว่างกระบวนการเรียนรู้หรือการประเมิน ประสิทธิภาพการทำงานหลังจากเช่นกระบวนการเรียนรู้ในสภาพแวดล้อมเดียวกัน

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

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

* หมายเหตุ:ความจริงแล้วในความเห็นของฉันนั้นมีความเหมาะสมยิ่งกว่าที่เราเป็นจริงเล็กน้อย "ประเมินผลชุดฝึกอบรม" ใน RL ดูตัวอย่างเช่นทวีตที่ดีของทวีตนี้: https://twitter.com/nanjiang_cs/status/1049682399980908544


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

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

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


1
เดนนิสขอบคุณมากสำหรับคำตอบที่มีรายละเอียดมาก! หลายคนยืนยันว่าฉันคิดว่าข้อสงสัยของฉัน: นั่นคือ RL เพิ่มเติมกำลังพยายามที่จะแก้ปัญหาที่เฉพาะเจาะจงมากในสภาพแวดล้อมที่เฉพาะเจาะจงซึ่งมักจะมีทางออกที่ดีที่สุดสำหรับปัญหานั้น
Matt Hamilton

2
@ MattHamilton โปรดทราบว่ามีการวิจัยเกี่ยวกับ RL สำหรับสภาพแวดล้อมทั่วไปเพิ่มเติม หากคุณสนใจสิ่งนั้นคุณจะต้องค้นหาการรวมกันของ "การเรียนรู้การถ่ายโอน" และ "การเสริมแรงการเรียนรู้" หรือสิ่งต่าง ๆ เช่น Multi-Task RL (Multi-Objective RL) อาจน่าสนใจ แต่อาจแตกต่างกันเล็กน้อย ) ความพยายามประเภทนั้นยังคงมีแนวโน้มที่จะมีประสิทธิภาพน้อยกว่าวิธีการฝึกอบรมแบบดั้งเดิมและประเมินผลในสภาพแวดล้อมเดียวในแต่ละครั้ง
Dennis Soemers
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.