ฉันจะสร้างแบบจำลองปัญหาเป็น MDP ได้อย่างไรหากตัวแทนไม่ปฏิบัติตามลำดับต่อเนื่องของสถานะ

Dec 31 2020

ในปัญหาของฉันตัวแทนไม่ปฏิบัติตามลำดับของรัฐที่ต่อเนื่องกัน แต่เลือกด้วย $\epsilon$- แก้ไขคู่ที่ดีที่สุด (สถานะการกระทำ) จากคิวลำดับความสำคัญ โดยเฉพาะอย่างยิ่งเมื่อตัวแทนของฉันไปอยู่ในสถานะ$s$ และเปิดการกระทำที่มีอยู่ $\{ a_i \}$จากนั้นจะประมาณค่าแต่ละรายการ $(s,a)$จับคู่ (การถดถอยด้วย DQN) และเก็บไว้ในคิว เพื่อให้ตัวแทนของฉันเปลี่ยนสถานะ$s'$โดยจะเลือกคู่ที่ดีที่สุดจากคิวแทนที่จะทำตามการดำเนินการที่มีอยู่ $\{ a_i \}$ ของ $s$. ฉันทราบว่ารัฐมีชุดการดำเนินการที่แตกต่างไปจากที่อื่นบางส่วน

อย่างไรก็ตามด้วยวิธีนี้ฉันจะสร้างแบบจำลอง MDP ของฉันได้อย่างไรหากตัวแทนของฉันไม่ปฏิบัติตามลำดับของรัฐที่ต่อเนื่องกัน

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

  • สถานะ: หน้าเว็บ
  • การดำเนินการ: URL ขาออกของหน้าเว็บของรัฐ
  • รางวัล: จากแหล่งภายนอกฉันทราบว่าเนื้อหาของหน้าเว็บมีความเกี่ยวข้องหรือไม่

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

คำตอบ

1 FedericoMalerba Jan 03 2021 at 15:38

โดยพื้นฐานแล้วปัญหาของคุณคือคุณกำลังสับสนว่าสถานะและการดำเนินการในการตั้งค่านี้เป็นอย่างไร หน้าเว็บไม่ใช่สถานะของคุณ สถานะของคุณคือลำดับความสำคัญทั้งหมดของ(website-outlink)คู่ + (new_website-outlink)คู่ การกระทำของคุณคือคู่ที่คุณเลือก

ตอนนี้นี่คือการตั้งค่าปัญหาพื้นที่ขนาดตัวแปรและขนาดตัวแปรในเวลาเดียวกัน ในการจัดการกับสิ่งนี้เริ่มต้นด้วยการสังเกตว่าไม่state==observationจำเป็นต้องเป็น (โดยทั่วไป) แล้วข้อสังเกตของคุณคืออะไร? การสังเกตของคุณเป็นชุดขนาดตัวแปรของ:

  1. (website-outlink)คู่หรือ
  2. next_website(โดยแต่ละคู่next_websiteจะถูกกำหนดโดยคู่ที่เกี่ยวข้อง)

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

สิ่งที่คิวลำดับความสำคัญของคุณทำโดยพื้นฐานแล้วเป็นเพียงการเพิ่มเคล็ดลับที่เป็นระเบียบซึ่ง:

  • บันทึกความซับซ้อนในการคำนวณของการรักษาสถานะตามลำดับ (โปรดจำไว้ว่ารัฐของคุณไม่ใช่ a websiteแต่เป็นรายการ / ชุดของwebsite-outlink)
  • หลีกเลี่ยงการคำนวณค่า Q ซ้ำโดยไม่จำเป็นสำหรับแต่ละการกระทำของคุณ (โปรดจำไว้ว่าการดำเนินการไม่ได้เลือกลิงก์ออกnew_websiteแต่เลือกลิงก์ออกจากตัวเลือกที่มีอยู่ทั้งหมดในคิว)

อย่างไรก็ตามโปรดทราบว่าการมีการประหยัดครั้งที่สองเป็นสิ่งสำคัญที่จะต้องเก็บค่า Q สำหรับแต่ละคู่ !!!

สิ่งสำคัญประการสุดท้ายที่ควรทราบก็คือในสถานการณ์ที่คุณใช้ Replay Buffer (ซึ่งฉันเดาว่าน่าจะเป็นเพราะคุณเลือก DQN) คุณจะไม่สามารถใช้ลำดับความสำคัญในขณะที่เรียนรู้จาก RB ได้ เพื่อดูว่าทำไม (และจะดูในรายละเอียดวิธีการกระบวนการเรียนรู้ของคุณจริงดูเหมือน) เริ่มต้นด้วยการจดจำว่าการปรับปรุง Q-ค่าของคุณจะได้รับจากสูตรที่นี่ ; รัฐของคุณs_tคือชุดคู่(กึ่งสั่งซื้อ1 ) Q(s_t, a_t)เป็นเพียงการส่งออกของการทำงานถดถอย DQN ของคุณบนเพียงที่ดีที่สุดเว็บไซต์ / คู่ในชุดนี้ (คุณมีเพื่อเพิ่มดัชนีเพื่อแสดงถึงทางเลือกที่ดีที่สุดเมื่อเพิ่มช่วงการเปลี่ยนภาพไปยัง RB เพื่อให้สอดคล้องกันว่าการดำเนินการใดถูกดำเนินการจากสถานะนี้) ในการคำนวณค่าประมาณของมูลค่าในอนาคตที่เหมาะสมอย่างไรก็ตามคุณจะต้องคำนวณค่า Q ของทุกเว็บไซต์ / คู่ใหม่ในสถานะถัดไป คุณไม่สามารถใช้ลำดับความสำคัญเมื่อฝึกจาก RB

1 คุณมีลำดับลำดับความสำคัญสำหรับเว็บไซต์ทั้งหมดที่คุณมีในขณะที่ดูเว็บไซต์สุดท้าย แต่new_website-outlinkคู่ทั้งหมดที่คุณเพิ่มในตอนนี้ยังไม่ได้เรียงลำดับ คุณยังคงต้องรันเอเจนต์กับพวกเขาจากนั้นคุณสามารถสั่งพวกเขาด้วยคิวลำดับความสำคัญที่เหลือเพื่อสร้างสถานะถัดไป (ซึ่งจะยังไม่ได้รับคำสั่งเนื่องจากคุณจะมีnew_new_website-outinkคู่)