วิธีการสร้างฟังก์ชั่นตอบแทนในการเรียนรู้เสริม


18

ในขณะที่เรียนเสริมการเรียนรู้ฉันได้พบฟังก์ชั่นของรางวัลหลายรูปแบบ: , R ( s , a , s )และแม้แต่ฟังก์ชั่นของรางวัลที่ขึ้นอยู่กับสถานะปัจจุบันเท่านั้น ต้องบอกว่าฉันรู้ว่ามันไม่ใช่เรื่องง่ายที่จะ 'สร้าง' หรือ 'กำหนด' ฟังก์ชั่นของรางวัลR(s,a)R(s,a,s)

นี่คือคำถามของฉัน:

  1. มีกฎเกี่ยวกับวิธีการทำฟังก์ชั่นของรางวัลหรือไม่
  2. มีฟังก์ชั่นของรางวัลในรูปแบบอื่น ๆ หรือไม่? ตัวอย่างเช่นรูปแบบพหุนามที่อาจขึ้นอยู่กับรัฐหรือไม่

คำตอบ:


25

ฟังก์ชั่นรางวัลอธิบายถึงวิธีการที่ตัวแทน "ควร" ทำงาน กล่าวอีกนัยหนึ่งพวกเขามีเนื้อหา "ปกติ" กำหนดสิ่งที่คุณต้องการตัวแทนเพื่อให้บรรลุ ตัวอย่างเช่นบางรัฐที่คุ้มค่าsอาจหมายถึงรสชาติของอาหาร หรือบางที(s,a)อาจเป็นตัวแทนของการชิมอาหาร ดังนั้นในกรณีที่ฟังก์ชั่นของรางวัลเป็นตัวกำหนดว่าแรงจูงใจของตัวแทนคืออะไรคุณต้องสร้างมันขึ้นมา!

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

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

R(s1)=1
R(s2 ..n)=0
ในกรณีนี้ปัญหาที่จะแก้ไขนั้นค่อนข้างยากเมื่อเทียบกับ พูด, R(sผม)=1/ผม2 , ซึ่งมีการไล่ระดับรางวัลเหนือรัฐ สำหรับปัญหาที่ยากให้ระบุรายละเอียดเพิ่มเติมเช่นR(s,a)หรือR(s,a,s')สามารถช่วยอัลกอริทึมบางอย่างโดยการให้เบาะแสเพิ่มเติม แต่อาจมีค่าใช้จ่ายในการสำรวจเพิ่มเติม คุณอาจต้องรวมค่าใช้จ่ายเป็นเงื่อนไขเชิงลบในR (เช่นค่าใช้จ่ายที่มีพลัง) เพื่อให้ปัญหาได้รับการระบุอย่างดี

สำหรับกรณีของสภาพพื้นที่อย่างต่อเนื่องถ้าคุณต้องการตัวแทนในการเรียนรู้ได้อย่างง่ายดาย, ฟังก์ชั่นรางวัลที่ควรจะเป็นอย่างต่อเนื่องและอนุพันธ์ ดังนั้นชื่อพหุนามสามารถทำงานได้ดีกับอัลกอริทึมมากมาย เพิ่มเติมลองลบ minima ที่แปลแล้ว มีจำนวนเป็นตัวอย่างของวิธีการที่ไม่ได้ที่จะทำให้การทำงานของรางวัลที่ชอบ - ฟังก์ชั่น Rastrigin ต้องบอกว่านี่คืออัลกอริทึม RL หลายประการ (เช่นเครื่อง Boltzmann ) ค่อนข้างแข็งแกร่งสำหรับสิ่งเหล่านี้

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

ในระดับนามธรรมการเรียนรู้ที่ไม่ได้รับการดูแลควรจะหลีกเลี่ยงการกำหนดประสิทธิภาพที่ "ถูกและผิด" แต่เราสามารถเห็นได้ว่า RL เพียงแค่เปลี่ยนความรับผิดชอบจากครู / นักวิจารณ์ไปยังฟังก์ชันการให้รางวัล นั่นคือการ: มีวิธีที่วงกลมน้อยในการแก้ปัญหาคือการสรุปการทำงานของรางวัลที่ดีที่สุด วิธีการหนึ่งเรียกว่าinverse RL หรือ "apprenticeship learning"ซึ่งสร้างฟังก์ชั่นการให้รางวัลซึ่งจะสร้างพฤติกรรมที่สังเกตได้ การหาฟังก์ชั่นการให้รางวัลที่ดีที่สุดในการทำซ้ำชุดการสังเกตสามารถทำได้โดยวิธี MLE, Bayesian, หรือข้อมูลเชิงทฤษฎี - หากคุณ google สำหรับ "การเรียนรู้การเสริมแรงแบบผกผัน"


สวัสดีทำไมรถบนเขาถึงเป็นปัญหาขึ้นอยู่กับเวลา
GoingMyWay

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

@SanjayManohar ฉันไม่คิดว่าปัญหารถเสือภูเขาคือ "ขึ้นอยู่กับเวลา" เว้นแต่ว่าขึ้นอยู่กับเวลาที่คุณกำลังพูดถึงการแนะนำขอบเขตเวลาที่แน่นอน ตำแหน่งและความเร็วก็เพียงพอ
user76284

ฉันคิดว่าคำตอบนี้รวมเอาฟังก์ชั่นของรางวัลและคุณค่าไว้ด้วยกัน ตัวอย่างเช่นมันพูดถึง "การค้นหา" ฟังก์ชั่นการให้รางวัลซึ่งอาจเป็นสิ่งที่คุณทำในการเรียนรู้การเสริมแรงผกผันแต่ไม่ใช่ใน RL ที่ใช้สำหรับการควบคุม นอกจากนี้ยังพูดถึงความต้องการฟังก์ชั่นการให้รางวัลเพื่อให้เกิดความต่อเนื่องและความแตกต่างซึ่งไม่เพียง แต่ไม่จำเป็นเท่านั้น แต่โดยปกติแล้วมันไม่ได้เป็นเช่นนั้น คุณมีแนวโน้มที่จะพบ +1 ง่าย ๆ สำหรับความสำเร็จหรือแก้ไขขั้นตอน -1 ต่อเวลาในวรรณกรรมมากกว่าที่จะค้นหา heuristic ที่สร้างขึ้นได้อย่างแตกต่างกัน
Neil Slater

ขอบคุณ @NeilSlater คุณพูดถูกฉันน่าจะพูดว่า "กำลังสร้าง" ฟังก์ชั่นของรางวัลมากกว่าที่จะหามัน เกี่ยวกับ "ฟังก์ชั่นค่า" ฉันมักจะสงวนคำนี้สำหรับการแมปมูลค่าของรัฐหรือการดำเนินการตามมูลค่าคือฟังก์ชั่นที่เอเจนต์ใช้ในการประเมินผลตอบแทนในอนาคตโดยประมาณ ดังนั้น "คุณค่า" เกี่ยวข้องกับ "รางวัล" แต่รางวัลเป็นส่วนหนึ่งของปัญหาไม่ใช่วิธีแก้ปัญหา บางทีการเน้นใน AI นั้นเป็นการแสดงให้เห็นถึงอัลกอริทึมการเรียนรู้ของคุณโดยการกำหนดไบนารี, ส่วนปลาย, หร็อมแหร็ม - แต่ถ้าคุณควบคุมฟังก์ชั่นการให้รางวัลชีวิตจะง่ายขึ้นถ้ามัน "ดี"
Sanjay Manohar

4

การออกแบบฟังก์ชั่นของรางวัลเป็นปัญหาที่ยากอย่างยิ่ง โดยทั่วไปฟังก์ชั่นการให้รางวัลแบบกระจัดกระจายนั้นง่ายต่อการกำหนด (เช่นรับ +1 หากคุณชนะเกมและอีก 0) อย่างไรก็ตามรางวัลที่กระจัดกระจายก็ทำให้การเรียนรู้ช้าลงเพราะเอเจนต์ต้องดำเนินการหลายอย่างก่อนที่จะได้รับรางวัลใด ๆ ปัญหานี้ยังเป็นที่รู้จักกันเป็นปัญหาที่ได้รับมอบหมายเครดิต

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

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