Q-learning มีประสิทธิภาพเพียงใดเมื่อใช้ Neural Networks เมื่อมีเอาต์พุตหนึ่งหน่วยต่อการกระทำ


9

ข้อมูลประกอบ:
ฉันใช้การประมาณค่า Q ของโครงข่ายใยประสาทเทียมในงานการเรียนรู้การเสริมแรงของฉัน วิธีการนั้นเหมือนกับที่อธิบายไว้ในคำถามนี้แต่คำถามนั้นแตกต่างกัน

ในแนวทางนี้จำนวนผลลัพธ์คือจำนวนการกระทำที่เราสามารถทำได้ และในคำง่ายขั้นตอนต่อไปนี้: กระทำ A, สำรวจรางวัลขอ NN ที่จะคาดการณ์ค่า Q สำหรับการกระทำที่เป็นไปได้ทั้งหมดให้เลือกค่า Q สูงสุดคำนวณ Q R + max(new_state_Q)สำหรับการดำเนินการโดยเฉพาะอย่างยิ่ง รุ่น Fit บนคาดการณ์ค่า Q R + max(new_state_Q)ที่มีเพียงหนึ่งของพวกเขาถูกแทนที่ด้วย

คำถาม:วิธีการนี้มีประสิทธิภาพเพียงใดหากจำนวนผลผลิตมีขนาดใหญ่

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

ฉันมีความคิดที่ตรงกันข้ามสองประการเกี่ยวกับวิธีการที่ดี \ เลวคือวิธีการนี้และไม่สามารถตัดสินใจได้ว่าวิธีใดที่ถูกต้อง:

  • จากมุมมองหนึ่งเรากำลังฝึกอบรมแต่ละเซลล์ประสาท 9 ครั้งในข้อมูลสุ่มและเพียงครั้งเดียวในข้อมูลที่ใกล้เคียงกับมูลค่าที่แท้จริง หาก NN ทำนายค่า 5 สำหรับการดำเนินการ A ในสถานะ S แต่ค่าจริงคือ -100 เราจะใส่ NN 9 ครั้งด้วยค่า 5 แล้วตามด้วยค่า -100 ฟังดูบ้า
  • จากมุมมองอื่น ๆ การเรียนรู้ของโครงข่ายประสาทจะถูกนำไปใช้เป็นข้อผิดพลาดด้านหลังดังนั้นเมื่อแบบจำลองได้ทำนาย 5 และเรากำลังฝึกอบรมในข้อ 5 มันจะไม่เรียนรู้สิ่งใหม่เนื่องจากข้อผิดพลาดคือ 0 น้ำหนักไม่ได้สัมผัส . และเมื่อเราจะคำนวณ -100 และพอดีกับแบบจำลองมันจะทำการคำนวณน้ำหนักใหม่

ตัวเลือกใดถูกต้อง? อาจมีอย่างอื่นที่ฉันไม่ได้คำนึงถึง?

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


มันยากมากที่จะให้คำตอบที่ชัดเจนสำหรับคำถามนี้ในรูปแบบปัจจุบัน: "วิธีการนี้มีประสิทธิภาพเพียงใด" นั่นมันขึ้นอยู่กับ ... เทียบกับอะไรนะ? คุณจะเสนอวิธีการทางเลือกใดที่อาจหรือไม่อาจมีประสิทธิภาพมากกว่านี้
Dennis Soemers

สวัสดี @DennisSoemers ขอบคุณสำหรับคำถามของคุณ ฉันได้อัปเดตโพสต์แล้ว โดยทั่วไปวิธีการทางเลือกมีหนึ่งผลลัพธ์ - รางวัล และอินพุต N เพิ่มเติมสำหรับการกระทำที่เป็นไปได้ทั้งหมด วิธีการหลักคือ INPUT (สถานะ) และ OUTPUT (N Rewards for N actions) ทางเลือกคือ I (สถานะ + การกระทำ) และ O (รางวัล)
Serhiy

คำตอบ:


1

ดังนั้นสองตัวเลือกที่เราต้องการเปรียบเทียบคือ:

  1. อินพุต = การแทนสถานะเอาต์พุต = 1 โหนดต่อการกระทำ
  2. อินพุต = การแทนสถานะ + การเข้ารหัสแอคชั่นแบบร้อนแรง, เอาต์พุต = 1 โหนด

ด้วยสัญชาตญาณของตัวเองฉันสงสัยว่ามีความแตกต่างอย่างมีนัยสำคัญในแง่ของพลังการเป็นตัวแทนหรือความเร็วในการเรียนรู้ (ในแง่ของการทำซ้ำ) ระหว่างสองตัวเลือกเหล่านั้น

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

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

อย่างที่ฉันได้กล่าวไปทั้งหมดข้างต้นเป็นไปตามสัญชาตญาณของฉันแม้ว่าจะน่าสนใจที่จะเห็นการอ้างอิงที่น่าเชื่อถือมากขึ้น

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

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