จำนวนพารามิเตอร์ในโมเดล LSTM


43

LSTM แบบซ้อนเดียวมีพารามิเตอร์กี่พารามิเตอร์ จำนวนพารามิเตอร์กำหนดขอบเขตล่างตามจำนวนตัวอย่างการฝึกอบรมที่จำเป็นและยังมีผลต่อเวลาการฝึกอบรม ดังนั้นการทราบจำนวนพารามิเตอร์จึงมีประโยชน์สำหรับรูปแบบการฝึกอบรมที่ใช้ LSTM

คำตอบ:


29

LSTM มีชุดเมทริกซ์ 2 ชุด: U และ W สำหรับแต่ละ (3) ประตู จุด (.) ในแผนภาพที่บ่งชี้คูณของเมทริกซ์เหล่านี้ด้วยอินพุตและผลผลิตต่อชั่วโมงxชั่วโมง

  • คุณมีมิติn×ม.
  • W มีขนาดn×n
  • มีชุดเมทริกซ์เหล่านี้ที่แตกต่างกันสำหรับแต่ละประตูทั้งสาม (เช่นสำหรับประตูลืมฯลฯ )ยูโอRก.อีเสื้อ
  • มีอีกชุดหนึ่งของเมทริกซ์เหล่านี้สำหรับการอัพเดตสถานะเซลล์ S
  • ด้านบนของเมทริกซ์ที่กล่าวถึงคุณต้องนับอคติ (ไม่ใช่ในภาพ)

ดังนั้นจำนวนพารามิเตอร์ # =4(nม.+n2+n)

บล็อกนามธรรม LSTM


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

1
คุณไม่สนใจหน่วยอคติ ดูคำตอบของ Adam Oudad ด้านล่าง
อรุณ

1
อคติไม่ได้มี ฉันได้แก้ไขคำตอบแล้ว
Escachator

21

ต่อไปนี้คำตอบก่อนหน้าจำนวนพารามิเตอร์ของ LSTM การรับเวกเตอร์อินพุตของขนาดและให้เวกเตอร์เอาต์พุตของขนาดคือ:nม.n

4(nม.+n2)

อย่างไรก็ตามในกรณีที่ LSTM ของคุณมีอคติเวกเตอร์ ( นี่คือค่าเริ่มต้นใน keras เป็นต้น ) จำนวนจะกลายเป็น:

4(nม.+n2+n)

2
นี่เป็นคำตอบเดียวที่สมบูรณ์ ทุกคำตอบอื่น ๆ จะปรากฏเนื้อหาเพื่อเพิกเฉยต่อกรณีของเซลล์ประสาทอคติ
Reinstate Monica

1
เพื่อให้ตัวอย่างคอนกรีตถ้าใส่ของคุณมี m = 25 มิติและคุณใช้ชั้น LSTM กับ n = 100 หน่วยแล้วจำนวน params = 4 * (100 * 25 + 100 ** 2 + 100) = 50400.
อรุณ

1
สมมติว่าฉันกำลังใช้ข้อมูลการประทับเวลาความเข้าใจของฉันด้านล่างถูกต้องหรือไม่ n = 100: หมายถึงฉันจะมี 100 การประทับเวลาในแต่ละตัวอย่าง (ตัวอย่าง) ดังนั้นฉันต้องการ 100 หน่วย m = 25 หมายถึงในแต่ละเวลาฉันมี 25 คุณสมบัติเช่น [น้ำหนักส่วนสูงอายุ ... ]
jason zhang

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

12

ตามนี้ :

โครงสร้างเซลล์ LSTM

โครงสร้างเซลล์ LSTM

สมการ LSTM

สมการ LSTM

การหาค่าที่ไม่ใช่เชิงเส้น

การหาค่าที่ไม่ใช่เชิงเส้น

หากอินพุตx_tมีขนาด n × 1 และมีเซลล์หน่วยความจำdดังนั้นขนาดของแต่ละW ∗และU ∗คือd × nและd × dละ ขนาดของWแล้วจะ4d × (n + D) หมายเหตุว่าหนึ่งในเซลล์หน่วยความจำ DD แต่ละมีน้ำหนักของตัวเอง* wและU *และที่เวลาเท่านั้นที่ค่ามือถือหน่วยความจำที่ใช้ร่วมกันกับหน่วยงานอื่น ๆ ที่เป็น LSTM ระหว่างผลิตภัณฑ์ที่มีU *

ขอบคุณ Arun Mallya สำหรับการนำเสนอที่ยอดเยี่ยม

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