“ การเล่นซ้ำประสบการณ์” คืออะไรและมีประโยชน์อย่างไร


19

ฉันได้อ่าน DeepMind Atari ของ Google กระดาษและฉันพยายามที่จะเข้าใจแนวคิดของ "ประสบการณ์การเล่นใหม่ที่" การเล่นซ้ำประสบการณ์เกิดขึ้นในเอกสารการเรียนรู้เสริมอื่น ๆ จำนวนมาก (โดยเฉพาะกระดาษ AlphaGo) ดังนั้นฉันจึงต้องการเข้าใจวิธีการทำงาน ด้านล่างเป็นข้อความที่ตัดตอนมาบางส่วน

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

กระดาษจะทำอย่างละเอียดดังนี้:

ขณะที่วิธีการที่มั่นคงอื่น ๆ ที่มีอยู่สำหรับการฝึกอบรมเครือข่ายประสาทในการตั้งค่าการเรียนรู้การเสริมแรงเช่นประสาทติดตั้ง Q-ย้ำวิธีการเหล่านี้เกี่ยวข้องกับการฝึกอบรมการทำซ้ำของเครือข่ายเดอโนโวหลายร้อยซ้ำ ดังนั้นวิธีการเหล่านี้ซึ่งแตกต่างจากอัลกอริทึมของเราจึงไม่มีประสิทธิภาพเกินกว่าที่จะใช้กับเครือข่ายประสาทขนาดใหญ่ได้สำเร็จ เรา parameterize ค่าตัวอย่างฟังก์ชั่นQ(s,a;θi) . โดยใช้เครือข่ายประสาทลึกสับสนแสดงในรูปที่ 1 ซึ่งในθiมีพารามิเตอร์ (นั่นคือน้ำหนัก) ของ Q-เครือข่ายที่ซ้ำฉันiในการเล่นซ้ำประสบการณ์เราเก็บประสบการณ์ของตัวแทนไว้et=(st,at,rt,st+1)ในแต่ละครั้งขั้นตอนtในชุดข้อมูลDt={e1,,et} } ในระหว่างการเรียนรู้เราใช้การปรับปรุง Q-learning กับตัวอย่าง (หรือชุดเล็ก ๆ ) ของประสบการณ์(s,a,r,s)U(D)สุ่มอย่างสม่ำเสมอจากกลุ่มที่เก็บไว้ การอัพเดท Q-learning ตอนนี้iใช้ฟังก์ชันการสูญเสียต่อไปนี้:

Li(θi)=E(s,a,r,s)U(D)[(r+γmaxaQ(s,a;θi)Q(s,a;θi))2]

ประสบการณ์การเล่นซ้ำคืออะไรและประโยชน์ของมันคืออะไรในแง่ของอุปัฏฐาก?

คำตอบ:


25

ส่วนสำคัญของข้อความที่ยกมาคือ:

ในการเล่นซ้ำประสบการณ์เราเก็บประสบการณ์ของเอเจนต์ไว้et=(st,at,rt,st+1)

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

ขั้นตอนการเรียนรู้นั้นแยกจากกันอย่างมีเหตุผลจากการได้รับประสบการณ์และจากการสุ่มตัวอย่างจากตารางนี้ คุณยังต้องการแทรกกระบวนการทั้งสอง - การแสดงและการเรียนรู้ - เนื่องจากการปรับปรุงนโยบายจะนำไปสู่พฤติกรรมที่แตกต่างกันซึ่งควรสำรวจการกระทำที่ใกล้เคียงกับกระบวนการที่เหมาะสมที่สุดและคุณต้องการเรียนรู้จากสิ่งเหล่านั้น อย่างไรก็ตามคุณสามารถแยกวิธีการที่คุณชอบ - เช่นใช้ขั้นตอนเดียวเรียนรู้จากสามขั้นตอนก่อนหน้าแบบสุ่ม ฯลฯ เป้าหมาย Q-Learning เมื่อใช้การเล่นซ้ำประสบการณ์ใช้เป้าหมายเดียวกันกับเวอร์ชันออนไลน์ดังนั้นจึงไม่มีสูตรใหม่สำหรับสิ่งนั้น สูตรการสูญเสียที่กำหนดยังเป็นสูตรที่คุณจะใช้สำหรับ DQN โดยไม่มีการเล่นซ้ำ ความแตกต่างคือสิ่งที่ s, a, r, s 'a' ที่คุณป้อนเข้าไป

ใน DQN ทีม DeepMind ยังบำรุงรักษาเครือข่ายสองเครือข่ายและเปลี่ยนเป็นเครือข่ายหนึ่งซึ่งกำลังเรียนรู้และเครือข่ายใดที่ให้ข้อมูลในการประเมินมูลค่าการดำเนินการปัจจุบันเป็น "bootstraps" สิ่งนี้ช่วยให้มีความเสถียรของอัลกอริทึมเมื่อใช้ตัวประมาณฟังก์ชั่นที่ไม่ใช่เชิงเส้น นั่นคือสิ่งที่บาร์หมายถึงใน - มันแสดงถึงน้ำหนักแช่แข็งรุ่นอื่นของน้ำหนักθi ¯

ข้อดีของการเล่นซ้ำประสบการณ์:

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

  • มีพฤติกรรมการลู่เข้าที่ดีขึ้นเมื่อฝึกอบรมผู้ประมาณฟังก์ชั่น ส่วนหนึ่งเป็นเพราะข้อมูลเป็นเหมือนข้อมูลiidที่สันนิษฐานในการพิสูจน์การบรรจบกันของการเรียนรู้แบบมีผู้สอนส่วนใหญ่

ข้อเสียของการเล่นซ้ำประสบการณ์:

  • เป็นการยากที่จะใช้อัลกอริทึมการเรียนรู้แบบหลายขั้นตอนเช่น Q ( ) ซึ่งสามารถปรับเพื่อให้เส้นโค้งการเรียนรู้ที่ดีขึ้นโดยการสร้างสมดุลระหว่างอคติ (เนื่องจาก bootstrapping) และความแปรปรวน (เนื่องจากความล่าช้าและการสุ่มในผลลัพธ์ระยะยาว ) หลายขั้นตอน DQN กับประสบการณ์การเล่นใหม่ DQN เป็นหนึ่งในการขยายการสำรวจในกระดาษสายรุ้ง: รวมการปรับปรุงในการเสริมสร้างการเรียนรู้ลึกλ

วิธีการที่ใช้ใน DQN นั้นสรุปโดย David Silver ในส่วนของการบรรยายวิดีโอนี้ (ประมาณ 01:17:00 น. แต่ควรดูหัวข้อก่อนหน้านี้) ฉันขอแนะนำให้ดูทั้งชุดซึ่งเป็นหลักสูตรระดับบัณฑิตศึกษาเรื่องการเสริมแรงหากคุณมีเวลา


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

1
@ShamaneSiriwardhana: ใช่ฉันคิดว่าคุณพูดถูก มันเป็นข้อมูลเดียวกันที่แน่นอนจากวิถีจริง แต่แทนที่จะเรียนรู้จากขั้นตอนล่าสุดคุณจะบันทึกไว้ในตารางขนาดใหญ่และตัวอย่างจากตารางนั้น (โดยปกติจะเป็นตัวอย่างหลายตัวโดยมีร้านค้า 1,000 ขั้นตอนก่อนหน้าให้เลือก ) หากคุณต้องการคำชี้แจงเพิ่มเติมอาจจะถามคำถามเกี่ยวกับเว็บไซต์
Neil Slater

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

@ Neil Slater ฉันได้อ่านกระดาษสายรุ้งแล้วและฉันไม่เห็นความคิดเห็นพิเศษใด ๆ เกี่ยวกับการใช้เคล็ดลับพิเศษสำหรับการรวมประสบการณ์การเล่นซ้ำและวิธีการหลายขั้นตอน นอกจากนี้ฉันเคยได้ยินว่าวิธีการหลายขั้นตอนนั้นเป็นไปไม่ได้ที่จะรวมเข้ากับประสบการณ์การเล่นซ้ำ แต่ทำไมไม่เพียงแค่สุ่มเลือกประสบการณ์แบบต่อเนื่อง n แทน 1 จากประสบการณ์การเล่นซ้ำ แต่จากการเล่นซ้ำดังนั้นระหว่างแต่ละประสบการณ์ -N นี่ไม่ใช่การเล่นซ้ำหลายขั้นตอนหรือไม่
StL

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