ทำไม Q-Learning ใช้ epsilon-โลภในระหว่างการทดสอบ?


18

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

จากนั้นในระหว่างการทดสอบพวกเขายังใช้วิธี epsilon-greedy แต่ด้วย epsilon ที่ค่าต่ำมากเช่นนั้นมีอคติที่แข็งแกร่งต่อการแสวงหาผลประโยชน์มากกว่าการสำรวจโดยนิยมเลือกการกระทำที่มีค่า q สูงกว่าการกระทำแบบสุ่ม อย่างไรก็ตามการกระทำแบบสุ่มบางครั้งยังคงถูกเลือก (5% ของเวลา)

คำถามของฉันคือ: ทำไมการสำรวจใด ๆ ที่จำเป็นในตอนนี้เนื่องจากการฝึกอบรมได้ทำไปแล้ว? หากระบบได้เรียนรู้นโยบายที่ดีที่สุดแล้วเหตุใดจึงไม่สามารถเลือกการกระทำเป็นรายการที่มีค่า q สูงสุดได้เสมอ ไม่ควรทำการสำรวจเท่านั้นในการฝึกอบรมและเมื่อเรียนรู้นโยบายที่เหมาะสมแล้วตัวแทนก็สามารถเลือกการกระทำที่เหมาะสมที่สุดซ้ำ ๆ ได้?

ขอบคุณ!


มันอาจจะเชื่อมต่อกับธรรมชาติที่กำหนดขึ้นของสภาพแวดล้อม ALE หากคุณไม่ได้ทำแบบสุ่มในระหว่างการประเมินคุณจะทำลำดับการกระทำเดิมเสมอ (เนื่องจากลำดับสถานะเหมือนกัน) พวกเขายังเริ่มสุ่ม - รอได้ถึง 30 เฟรมไม่ทำอะไรเลยด้วยเหตุผลนี้
yobibyte

คำตอบ:


10

ในกระดาษธรรมชาติพวกเขาพูดถึง:

ตัวแทนที่ได้รับการฝึกอบรมถูกประเมินโดยการเล่นเกมแต่ละครั้ง 30 ครั้งนานถึง 5 นาทีในแต่ละครั้งโดยมีเงื่อนไขการสุ่มเริ่มต้นที่แตกต่างกัน ('noop'; ดูตารางข้อมูลเพิ่มเติมที่ 1) และนโยบาย e-greedy ด้วย epsilon 0.05 ขั้นตอนนี้ถูกนำมาใช้เพื่อลดความเป็นไปได้ของการล้นในระหว่างการประเมิน

ฉันคิดว่าสิ่งที่พวกเขาหมายถึงคือ 'เพื่อลบล้างผลกระทบเชิงลบของสูง / ต่ำที่เหมาะสม' การใช้ epsilon เป็น 0 เป็นตัวเลือกที่มีการใช้ประโยชน์อย่างเต็มที่

ยกตัวอย่างเช่นพิจารณาเกมเขาวงกตที่เอเจนต์ Q- ประมาณการปัจจุบันถูกรวมเข้ากับนโยบายที่ดีที่สุดยกเว้นหนึ่งกริดซึ่งมันโลภอย่างตะกละตะกลามจะย้ายไปยังขอบเขตที่ทำให้มันเหลืออยู่ในกริดเดียวกัน หากตัวแทนถึงสถานะดังกล่าวและกำลังเลือกการดำเนินการ Max Q มันจะติดอยู่ที่นั่นชั่วนิรันดร์ อย่างไรก็ตามการเก็บรักษาองค์ประกอบการสำรวจ / สุ่มสุ่มตัวอย่างในนโยบายของตน (เช่น epsilon จำนวนเล็กน้อย) ทำให้สามารถออกจากสถานะดังกล่าวได้

ต้องบอกว่าจากการติดตั้งโค้ดที่ฉันได้ดู (และเขียนโค้ดตัวเอง) ในการปฏิบัติมักจะวัดด้วยนโยบายโลภด้วยเหตุผลที่แน่นอนที่คุณระบุไว้ในคำถามของคุณ



2

ฉันคิดว่าจุดประสงค์ของการทดสอบคือการเข้าใจว่าระบบตอบสนองอย่างไรในสถานการณ์จริง


ε

ตัวเลือกที่ 2:
หากพวกเขามีความกังวลเกี่ยวกับการเปราะเล่นกับผู้เล่นที่ "มีเหตุผล" น้อยกว่าพวกเขาอาจจะ "หลอม" คะแนนการฝึกของพวกเขาเพื่อที่จะไม่ประเมินพวกเขามากเกินไป

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

ตัวเลือกที่ 4:
พวกเขาสามารถใช้การทดสอบซ้ำและค่าต่าง ๆ ของ epsilon เพื่อทดสอบว่ามี "ไขมัน" เหลืออยู่เท่าใดในระบบ หากพวกเขามีการสุ่มแบบอ่อนหรือตัวอย่างจำนวนมากที่แม้แต่การสุ่มแบบยุติธรรมก็เริ่มทำซ้ำตัวเองวิธีการนั้นสามารถ "เรียนรู้" พฤติกรรมที่ไม่จริงทำเพื่ออคติแบบสุ่มหลอก นี่อาจช่วยให้ตรวจสอบสิ่งนั้นได้ในขั้นตอนการทดสอบ

ฉันแน่ใจว่ามีเหตุผลที่มีความหมายอีกครึ่งโหล แต่สิ่งเหล่านี้เป็นสิ่งที่ฉันคิดได้

แก้ไข:หมายเหตุถึงตัวเองฉันชอบความคิดที่ "เปราะ" ฉันคิดว่ามันอาจเป็นจุดอ่อนที่มีอยู่ของ AI ระดับกลางคนแรก


1

ϵ

ϵϵ=0.05

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

ϵϵ=0ในระหว่างการทดสอบอาจช่วยปรับปรุงประสิทธิภาพ แต่จุดที่นี่คือการแสดงความสามารถในการพูดคุยทั่วไป ยิ่งไปกว่านั้นในเกมอาตาริส่วนใหญ่รัฐก็จะพัฒนาแบบไม่มีตัวเลือกดังนั้นเอเจนต์จะได้รับ "unstuck" ถ้ามันเกิดขึ้น เมื่อพิจารณาจากตัวอย่างเขาวงกตที่กล่าวถึงอื่น ๆ ที่สภาพแวดล้อมไม่ได้พัฒนาไปอย่างไม่มีเอเจนต์ตัวแทนจะเรียนรู้ได้อย่างรวดเร็วว่าการวิ่งเข้าไปในกำแพงไม่ใช่ความคิดที่ดีถ้ารูปทรงของรางวัลนั้นถูกต้อง (-1 สำหรับแต่ละขั้นตอนเป็นต้น) โดยเฉพาะอย่างยิ่งเมื่อใช้ค่าเริ่มต้นในแง่ดีการสำรวจที่จำเป็นจะเกิดขึ้นตามธรรมชาติ ในกรณีที่คุณยังพบว่าอัลกอริทึมของคุณติดขัดในบางสถานการณ์นี่หมายความว่าคุณต้องเพิ่มเวลาการฝึกอบรม (เช่นเรียกใช้ตอนมากขึ้น) แทนที่จะแนะนำการสุ่มเสริมที่เกี่ยวข้องกับการกระทำ

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

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