วิธีที่เหมาะสมในการใช้เครือข่ายประสาทกำเริบสำหรับการวิเคราะห์อนุกรมเวลา


67

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

สมมติว่าฉันมีอนุกรมเวลาต่อไปนี้ (จากซ้ายไปขวา): [0, 1, 2, 3, 4, 5, 6, 7]เป้าหมายของฉันคือการทำนายiจุดที่ -th โดยใช้จุดi-1และi-2เป็นอินพุต (สำหรับแต่ละรายการi>2) ใน "ปกติ" ANN ที่ไม่เกิดซ้ำฉันจะดำเนินการกับข้อมูลดังต่อไปนี้:

 target| input
      2| 1 0
      3| 2 1
      4| 3 2
      5| 4 3
      6| 5 4
      7| 6 5 

ฉันจะสร้างเน็ตที่มีสองอินพุตและหนึ่งเอาต์พุตโหนดและฝึกกับข้อมูลข้างต้น

เราจำเป็นต้องเปลี่ยนแปลงกระบวนการนี้อย่างไร (ถ้ามี) ในกรณีของเครือข่ายที่เกิดซ้ำ


คุณพบวิธีจัดโครงสร้างข้อมูลสำหรับ RNN (เช่น LSTM) หรือไม่ ขอบคุณ
mik1904

คำตอบ:


49

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

เช่นคุณสามารถคิดถึงห่วงโซ่มาร์คอฟของคำสั่ง t RNN ไม่ประสบปัญหานี้ในทางทฤษฎี แต่ในการฝึกการเรียนรู้เป็นเรื่องยาก

เป็นการดีที่สุดที่จะแสดง RNN ตรงกันข้ามกับเครือข่าย feedfoward พิจารณาเครือข่ายป้อนข้อมูลอย่างง่าย (มาก)โดยที่คือเอาต์พุต,คือเมทริกซ์น้ำหนัก, และคืออินพุตy=WxyWx

ตอนนี้เราใช้เครือข่ายที่เกิดซ้ำ ตอนนี้เรามีลำดับของอินพุตดังนั้นเราจะแสดงอินพุตโดยสำหรับอินพุต ith เอาท์พุท ith ที่สอดคล้องกันมีการคำนวณแล้วผ่าน{i-1}xiyi=Wxi+Wryi1

ดังนั้นเราจึงมีเมทริกซ์น้ำหนักอื่นซึ่งรวมเอาท์พุทที่ขั้นตอนก่อนหน้าเป็นเส้นตรงเป็นเอาต์พุตปัจจุบันWr

แน่นอนว่านี่เป็นสถาปัตยกรรมที่เรียบง่าย ส่วนใหญ่เป็นสถาปัตยกรรมที่คุณมีเลเยอร์ที่ซ่อนอยู่ซึ่งเชื่อมต่อกับตัวเองซ้ำ ๆ อนุญาตให้แสดงถึงเลเยอร์ที่ซ่อนอยู่ในเวลาประทับ i สูตรมีดังนี้:hi

h0=0
hi=σ(W1xi+Wrhi1)
yi=W2hi

โดยที่เป็นฟังก์ชันที่ไม่เป็นเชิงเส้น / ถ่ายโอนที่เหมาะสมเช่น sigmoid และคือน้ำหนักการเชื่อมต่อระหว่างอินพุตและซ่อนและซ่อนและเลเยอร์เอาท์พุท แสดงถึงน้ำหนักที่เกิดซ้ำW 1 W 2 W rσW1W2Wr

นี่คือแผนภาพของโครงสร้าง:

แผนผัง


2
ฉันผิดที่เห็นความคล้ายคลึงกันของเครือข่ายที่เกิดซ้ำกับตัวกรองคาลมานหรือไม่? ฉันเห็นสิ่งนี้เพราะผลลัพธ์ก่อนหน้ามีผลต่อผลลัพธ์ปัจจุบัน ประโยชน์ในทางปฏิบัติของเครือข่ายที่เกิดขึ้นซ้ำคืออะไร?
Vass

10
คุณเขียนในแง่ที่ว่าทั้งสองเป็นแบบจำลองพื้นที่ของรัฐ อย่างไรก็ตามมีความแตกต่างมากมาย: KF มีความน่าจะเป็นอย่างเต็มที่ในแง่ที่ว่ารัฐที่ซ่อนอยู่นั้นมีความหมายที่น่าจะเป็น RNNs ในอีกทางหนึ่งเป็นแบบกำหนดค่าได้และสามารถใช้เอาท์พุทแบบจำลองการกระจายแบบแยกส่วนได้เท่านั้น นอกจากนี้โดยทั่วไปแล้ว KF จะถูกประมาณด้วย EM ในขณะที่ RNN นั้นประมาณด้วยวิธีการไล่ระดับสี หากคุณต้องการรายละเอียดเพิ่มเติมอย่าลังเลที่จะโพสต์คำถามและส่งลิงก์ให้ฉัน แต่ความคิดเห็นนั้น จำกัด เกินไปสำหรับสิ่งนี้
bayerj

1
ไม่ได้หน้าต่างเวลาแบบเลื่อนไม่ได้หลอกว่าเอาท์พุทของเน็ตบนอินพุตเท่านั้น
bayerj

2
@bayerj ข้อมูลที่ดี แต่ฉันไม่คิดว่าคุณตอบคำถาม คุณจัดโครงสร้างเวกเตอร์เอาต์พุตอินพุตอย่างไรในหน้าต่างเวลาแบบเลื่อนสำหรับ RNNs? คุณสามารถให้ตัวอย่างของชุดข้อมูลของ OP ได้ไหม
Levitikon

1
นี่เป็นคำอธิบายที่ให้ข้อมูลมากของ RNNs แต่ฉันไม่สามารถหาคำตอบสำหรับคำถามของ OP: เราจำเป็นต้องเปลี่ยน [การฝึกอบรม] ในกรณีของเครือข่ายที่เกิดขึ้นซ้ำได้อย่างไร?
wehnsdaefflae

9

คุณอาจพิจารณาใช้การแปลงอนุกรมเวลาเป็นจำนวนมากสำหรับข้อมูลอินพุต เพียงแค่ตัวอย่างเดียวอินพุตอาจเป็น:

  1. ค่าช่วงเวลาล่าสุด (7)
  2. ค่าช่วงเวลาล่าสุดถัดไป (6)
  3. เดลต้าระหว่างล่าสุดและล่าสุดถัดไป (7-6 = 1)
  4. ค่าช่วงเวลาล่าสุดครั้งที่สาม (5)
  5. เดลต้าระหว่างล่าสุดและสองที่สาม (6-5 = 1)
  6. ค่าเฉลี่ยของช่วงเวลาสามช่วงสุดท้าย ((7 + 6 + 5) / 3 = 6)

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


1
คุณใส่ความรู้โดเมนจำนวนมากลงในนี้ ถ้าคุณไม่รู้จักรูปแบบของอนุกรมเวลาด้วยตัวเองล่ะ? คุณจะสร้างแบบจำลองที่สามารถทำได้อย่างไรโดยเฉพาะอย่างยิ่งถ้ามันขึ้นอยู่กับปัจจัยการผลิตที่ย้อนกลับไปอย่างไม่มีที่สิ้นสุดในอดีต?
bayerj

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

ลองนึกภาพงานต่อไปนี้: ใส่ครั้งแรกสุทธิเป็นทั้งหรือ1จากนั้นเน็ตจะได้รับเสียงรบกวนจากช่วงเวลาสำหรับจำนวนใด ๆ (10, 1,000, 100000) ของการประทับเวลา ทันทีที่ได้รับอีกครั้งจะต้องเลื่อนออกเป็นหรือขึ้นอยู่กับสิ่งที่เห็นก่อนหน้านี้ นี่คือ socalled "Latching benchmark" นี่เป็นการตั้งค่าทั่วไปในปัญหาการเรียนรู้ตามลำดับ ประโยชน์ใหญ่ของเครือข่ายที่เกิดซ้ำคือการเรียนรู้การเปลี่ยนแปลงอินพุตทั้งหมดและไม่ได้รับการถ่ายทอดโดยผู้เชี่ยวชาญหรือคุณสมบัติของมนุษย์ 1 [ - 0.1 , 0.1 ] 1 0 101[0.1,0.1]101
bayerj

2
ฉันไม่ต้องการบอกว่าคุณไม่ควรใช้เครือข่ายประสาทที่เกิดขึ้นอีก ค่อนข้างตรงกันข้าม อย่างไรก็ตามหากงาน (ตามที่ระบุไว้ในคำถาม) คือการทำนาย ith จาก (i-1) และ (i-2) คะแนนจากนั้นคุณจะได้รับผลลัพธ์ที่ดีขึ้นเร็วขึ้นโดยการใช้ความรู้นั้น ฉันไม่ได้ตั้งใจจะแนะนำว่า RNN ไม่ใช่ความคิดที่ดี แต่มันก็โอเคที่จะใช้ความรู้เกี่ยวกับโดเมนที่คุณต้องเร่งกระบวนการฝึกอบรม (และลดโอกาสในการฝึกอบรมที่ได้รับในระดับต่ำสุดในท้องถิ่น ฯลฯ ) .
rossdavidh

4

เป็นไปได้ก็มีประวัติศาสตร์โครงข่ายประสาทที่สอดคล้องกัน (HCNN) สถาปัตยกรรมนี้อาจเหมาะสมกว่าสำหรับการตั้งค่าที่กล่าวถึงข้างต้นเพราะพวกเขากำจัดความแตกต่างโดยพลการระหว่างอินพุต - และเอาท์พุท - ตัวแปรและพยายามที่จะจำลองพลวัตพื้นฐานทั้งหมดของระบบทั้งหมดผ่านการฝึกอบรมกับสังเกตุทั้งหมด

เมื่อฉันทำงานกับซีเมนส์ฉันได้ตีพิมพ์บทความเกี่ยวกับสถาปัตยกรรมนี้ในหนังสือโดย Springer Verlag: Zimmermann, Grothmann, Tietz, von Jouanne-Diedrich: การสร้างแบบจำลองตลาดการพยากรณ์และการวิเคราะห์ความเสี่ยงด้วยโครงข่ายประสาทที่สอดคล้องกับประวัติศาสตร์

เพียงเพื่อให้ความคิดเกี่ยวกับกระบวนทัศน์ที่นี่เป็นข้อความที่ตัดตอนมาสั้น ๆ :

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

[ ... ]

RNN ใช้เพื่อจำลองและคาดการณ์ระบบไดนามิกเปิดโดยใช้วิธีการถดถอยแบบไม่เชิงเส้น อย่างไรก็ตามการใช้งานด้านเทคนิคและเศรษฐกิจในโลกแห่งความเป็นจริงจะต้องเห็นในบริบทของระบบขนาดใหญ่ซึ่งการเปลี่ยนแปลงแบบไดนามิก ฉายบนแบบจำลองซึ่งหมายความว่าเราไม่ได้แยกความแตกต่างระหว่างอินพุตและเอาต์พุต แต่พูดเกี่ยวกับสิ่งที่สังเกตได้ เนื่องจากความสามารถในการสังเกตได้บางส่วนของระบบขนาดใหญ่เราต้องการสถานะที่ซ่อนอยู่เพื่อให้สามารถอธิบายพลวัตของสิ่งที่สังเกตได้ Observables และตัวแปรที่ซ่อนอยู่ควรถูกจัดการโดยตัวแบบในลักษณะเดียวกัน คำที่สามารถสังเกตได้รวบรวมตัวแปรอินพุตและเอาต์พุต (เช่นYτ:=(yτ,uτ)) หากเราสามารถใช้โมเดลที่สามารถอธิบายพลวัตของสิ่งที่สังเกตได้ทั้งหมดเราจะสามารถปิดระบบเปิดได้

... และจากบทสรุป:

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

บางส่วนของกระดาษสามารถดูได้แบบสาธารณะ: ที่นี่


คุณมีการนำไปใช้เพื่อดาวน์โหลดและทดสอบหรือไม่
Julien L

@JulienL: น่าเสียดายไม่ใช่เพราะนี่เป็นงานที่เป็นกรรมสิทธิ์ของซีเมนส์
vonjd

แย่มากที่ดูมีแนวโน้ม
Julien L

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