อะไรคือความร่วมมือในการเรียนรู้เสริม?


23

เห็นได้ชัดว่าในการเรียนรู้การเสริมแรงวิธี temporal-different (TD) เป็นวิธีการบูตสแตรป ในทางกลับกันวิธีมอนติคาร์โลไม่ใช่วิธีการบูตสแตรป

bootstrapping ใน RL คืออะไร วิธี bootstrapping ใน RL คืออะไร?

คำตอบ:


22

การอ่านการบูตใน RL นั้นสามารถอ่านได้ว่า "การใช้ค่าโดยประมาณตั้งแต่หนึ่งค่าขึ้นไปในขั้นตอนการอัปเดตสำหรับค่าประมาณชนิดเดียวกัน "

ในกฎการอัพเดท TD ส่วนใหญ่คุณจะเห็นการอัปเดต SARSA (0) นี้:

Q(s,a)Q(s,a)+α(Rt+1+γQ(s,a)Q(s,a))

ค่าRt+1+γQ(s,a)เป็นการประมาณค่าจริงของQ(s,a)และยังเรียกว่าเป้าหมาย TD มันเป็นวิธีบูตสแตรปเพราะเราอยู่ในส่วนที่ใช้ค่า Q เพื่อปรับปรุงค่า Q อื่น มีจำนวนเล็ก ๆ ของข้อมูลที่สังเกตได้จริงในรูปแบบของการเป็นRt+1 , รางวัลทันทีสำหรับขั้นตอนและยังอยู่ในช่วงการเปลี่ยนรัฐss '

ตัดกับ Monte Carlo ซึ่งอาจมีกฎการอัพเดทที่เทียบเท่า:

Q(s,a)Q(s,a)+α(GtQ(s,a))

ที่Gtคือรางวัลที่ได้รับส่วนลดทั้งหมดในเวลาtสมมติว่าในการอัปเดตนี้เริ่มต้นในสถานะsดำเนินการaจากนั้นปฏิบัติตามนโยบายปัจจุบันจนกระทั่งจบตอน ในทางเทคนิคแล้วGt=k=0Tt1γkRt+k+1โดยที่Tเป็นขั้นตอนเวลาสำหรับรางวัลเทอร์มินัลและสถานะ โดยเฉพาะอย่างยิ่งค่าเป้าหมายนี้ไม่ได้ใช้การประมาณการที่มีอยู่ใด ๆ (จากค่า Q อื่น ๆ ) แต่จะใช้ชุดการสังเกต (เช่นรางวัล) จากสภาพแวดล้อมเท่านั้น เป็นเช่นนั้นรับประกันได้ว่าจะเป็นกลางประมาณการของมูลค่าที่แท้จริงของQ(s,a)ขณะที่มันเป็นเทคนิคตัวอย่างของQ(s,a) )

ข้อเสียเปรียบหลักของการบูตสแตรปคือมันเอนเอียงไปทางค่าเริ่มต้นของQ(s,a) (หรือV(s) ) สิ่งเหล่านี้เป็นสิ่งที่ผิดมากที่สุดและระบบการอัปเดตอาจไม่เสถียรในภาพรวมเนื่องจากมีการอ้างอิงตนเองมากเกินไปและมีข้อมูลจริงไม่เพียงพอซึ่งเป็นปัญหาของการเรียนรู้นอกนโยบาย (เช่นการเรียนรู้แบบ Q) โดยใช้เครือข่ายประสาท

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

คุณสามารถประนีประนอมระหว่างวิธีการตามตัวอย่างของ Monte Carlo และวิธีการขั้นตอนเดียวของ TD ที่บูตโดยใช้การผสมผสานของผลลัพธ์จากวิถีความยาวต่างกัน สิ่งนี้เรียกว่าการเรียนรู้TD ( λ )และมีวิธีการที่หลากหลายเช่น SARSA ( λ ) หรือ Q ( λ )


1
นี่อาจเป็นคำถามอื่น แต่ถ้าคุณต้องการคำตอบว่าทำไมเป็นและประมาณการสำหรับQ ( s , ) ? Rt+1+γQ(s,a)Q(s,a)
nbro

1
@nbro: เพราะที่คอนเวอร์เจนซ์ (สมการเหล่านี้และ RL มากที่สุดคือการขับเคลื่อนด้วยสมยามสำหรับ MDPs) โดยดูที่เหตุการณ์ที่เกิดขึ้นจริงที่เกิดขึ้นเริ่มต้นด้วยรัฐsและการกระทำQ(s,a)=E[Rt+1+γQ(St+1,At+1)|St=s,At=a]saจากนั้นคุณก็จะสุ่มตัวอย่างจากความคาดหวังนั้น ปัญหาคือแม้ว่าค่าที่คุณมีสำหรับอาจยังไม่ได้แปรสภาพดังนั้นตัวอย่างจึงมีอคติ Q(St+1,At+1)
Neil Slater

1
สิ่งใดที่ป้องกันไม่ให้วิธีการหนึ่งใช้ MC เป็นเบิร์นอินเฟสก่อนที่จะเปลี่ยนเป็นการบูตสแตรป หรืออาจจะได้รับการพิจารณานี้ย่อยกรณีของ ? λTD
n1k31t4

1
@ n1k31t4: ไม่มีสิ่งใดขัดขวางการทำเช่นนี้และควรเป็นวิธี RL ที่ถูกต้อง มันจะแตกต่างจาก TD ( ) แต่ได้แรงบันดาลใจจากแนวคิดเดียวกันในการพยายามรับคุณสมบัติที่ดีจากอัลกอริทึมทั้งสอง คุณจะต้องลองและเปรียบเทียบประสิทธิภาพการเรียนรู้กับ TD ( λ ) - คุณยังมีพารามิเตอร์ไฮเปอร์เพื่อปรับแต่งซึ่งเป็นจำนวนตอนที่ใช้รัน MC สำหรับ รุ่นทั่วไปจะอนุญาตให้λเปลี่ยน - เริ่มต้นด้วยλ = 1แล้วสลายมันลงมาเช่น0.4หรือค่าใด ๆ ที่ดูเหมือนจะเหมาะสมที่สุด อย่างไรก็ตามนั่นมีพารามิเตอร์ไฮเปอร์ 2 ตัวอัตราการสลายตัวและเป้าหมายสำหรับλλλλλ=10.4λ
Neil Slater

@NeilSlater เมื่อใช้ bootstrapping มันสามารถรวมกันได้ไหม ฉันไม่สามารถเข้าใจได้ว่าทำไมมันควรจะเนื่องจาก Q (s ', a') เป็นเพียงการเดาตามอำเภอใจซึ่งจะบิดเบือนการประมาณสำหรับ Q (s, a) นอกจากนี้ทำไม MC ถึงมีความแปรปรวนสูงเมื่อเทียบกับ TD
d56

4

โดยทั่วไป bootstrapping ใน RL หมายความว่าคุณอัปเดตค่าตามค่าประมาณและไม่ใช่ค่าที่แน่นอน เช่น

การปรับปรุงนโยบายการประเมินผล Monte Carlo ที่เพิ่มขึ้น:

V(St)=V(St)+α(GtV(St))

การอัพเดตนโยบายการประเมินผล TD (0):

V(St)=V(St)+α(Rt+1+γV(St+1)V(St))

ใน TD (0) ที่กลับมาเริ่มต้นจากรัฐเป็นประมาณ (bootstrapped) โดยR T + 1 + γ V ( S T + 1 )ขณะที่อยู่ใน MC เราใช้ที่แน่นอนผลตอบแทนจีทีsRt+1+γV(St+1) Gt

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