ฉันใช้ Q-Learning ตามที่อธิบายไว้ใน
http://web.cs.swarthmore.edu/~meeden/cs81/s12/papers/MarkStevePaper.pdf
เพื่อที่จะประมาณ Q (S, A) ฉันใช้โครงสร้างเครือข่ายประสาทดังต่อไปนี้
- การเปิดใช้งาน sigmoid
- อินพุตจำนวนอินพุต + 1 สำหรับเซลล์ประสาทการกระทำ (อินพุตทั้งหมดปรับสัดส่วน 0-1)
- เอาท์พุทเอาท์พุทเดียว Q-Value
- จำนวน M ของเลเยอร์ที่ซ่อนอยู่
- วิธีการสำรวจสุ่ม 0 <rand () <propExplore
ในแต่ละการเรียนรู้ซ้ำโดยใช้สูตรต่อไปนี้
ฉันคำนวณค่า Q-Target แล้วคำนวณข้อผิดพลาดโดยใช้
error = QTarget - LastQValueReturnedFromNN
และเผยแพร่กลับข้อผิดพลาดผ่านเครือข่ายประสาท
Q1, ฉันอยู่ในเส้นทางที่ถูกต้องหรือไม่? ฉันได้เห็นเอกสารบางส่วนที่ใช้ NN กับเซลล์ประสาทขาออกหนึ่งอันสำหรับแต่ละการกระทำ
Q2, ฟังก์ชั่นรางวัลของฉันจะส่งคืนตัวเลขระหว่าง -1 ถึง 1 หรือไม่จะส่งกลับตัวเลขระหว่าง -1 ถึง 1 เมื่อฟังก์ชันการเปิดใช้งานเป็น sigmoid (0 1)
Q3, จากความเข้าใจของฉันเกี่ยวกับวิธีการนี้ได้รับอินสแตนซ์การฝึกอบรมเพียงพอควรกักกันเพื่อค้นหานโยบายที่เหมาะสมที่สุด? เมื่อฝึกอบรมสำหรับ XOR บางครั้งมันเรียนรู้หลังจากทำซ้ำ 2k บางครั้งมันจะไม่เรียนรู้แม้กระทั่งหลังจากทำซ้ำ 40k 50k