Số lượng tham số trong mô hình LSTM


43

Một LSTM xếp chồng có bao nhiêu tham số? Số lượng tham số áp đặt giới hạn thấp hơn về số lượng ví dụ đào tạo cần thiết và cũng ảnh hưởng đến thời gian đào tạo. Do đó biết số lượng tham số là hữu ích cho các mô hình đào tạo sử dụng LSTM.

Câu trả lời:


29

LSTM có một bộ 2 ma trận: U và W cho mỗi cổng (3). (.) Trong sơ đồ biểu thị phép nhân của các ma trận này với đầu vào x và đầu ra h .

  • U có kích thước n×m
  • W có kích thước n×n
  • có một bộ các ma trận khác nhau cho mỗi trong số ba cổng (như Uforget cho cổng quên, v.v.)
  • có một tập hợp các ma trận này để cập nhật trạng thái ô S
  • trên đầu các ma trận được đề cập, bạn cần đếm các thành kiến ​​(không có trong hình)

Do đó tổng # tham số = 4(nm+n2+n)

Khối trừu tượng LSTM


2
Tôi đã phải đối mặt với câu hỏi này khi đưa ra các quyết định thực tế về việc ước tính các yêu cầu phần cứng và lập kế hoạch dự án cho một dự án học tập sâu. Tái bút: Tôi đã không trả lời câu hỏi của riêng mình để chỉ đạt được điểm danh tiếng. Tôi muốn biết nếu câu trả lời của tôi là đúng từ cộng đồng.
wợi

1
Bạn đã bỏ qua các đơn vị thiên vị. Xem câu trả lời của Adam Okish bên dưới.
arun

1
Xu hướng không có ở đó. Tôi đã chỉnh sửa câu trả lời.
Người đi bộ

21

mn

4(nm+n2)

Tuy nhiên, trong trường hợp LSTM của bạn bao gồm các vectơ sai lệch, ( ví dụ , đây là mặc định trong máy ảnh ), số sẽ trở thành:

4(nm+n2+n)

2
Đây là câu trả lời duy nhất đầy đủ. Mỗi câu trả lời khác xuất hiện nội dung để bỏ qua trường hợp tế bào thần kinh thiên vị.
Phục hồi lại

1
Để đưa ra một ví dụ cụ thể, nếu đầu vào của bạn có m = 25 kích thước và bạn sử dụng lớp LSTM với n = 100 đơn vị, thì số params = 4 * (100 * 25 + 100 ** 2 + 100) = 50400.
arun

1
Giả sử tôi đang sử dụng dữ liệu dấu thời gian, sự hiểu biết của tôi dưới đây có đúng không? n = 100: có nghĩa là tôi sẽ có 100 dấu thời gian trong mỗi mẫu (ví dụ) vì vậy tôi cần 100 đơn vị. m = 25 có nghĩa là ở mỗi dấu thời gian, tôi có 25 tính năng như [cân nặng, chiều cao, tuổi ...].
jason zhang

2
@jasonzhang Số lượng dấu thời gian không liên quan, vì cùng một ô LSTM sẽ được áp dụng đệ quy cho các vectơ đầu vào của bạn (một vectơ cho mỗi dấu thời gian). cái mà arun gọi là "đơn vị" cũng là kích thước của mỗi vectơ đầu ra, không phải số lượng dấu thời gian.
Adam Okish

12

Theo đó :

Cấu trúc tế bào LSTM

Cấu trúc tế bào LSTM

Phương trình LSTM

Phương trình LSTM

Nắm bắt phi tuyến tính

Nắm bắt phi tuyến tính

Nếu x_t đầu vào có kích thước n × 1 và có các ô nhớ d , thì kích thước của mỗi WU ∗d × nd × d resp. Kích thước của W sau đó sẽ là 4d × (n + d) . Lưu ý rằng mỗi một trong số các tế bào bộ nhớ dd có trọng lượng riêng của mình W *U * , và rằng các giá trị tế bào bộ nhớ chỉ có thời gian được chia sẻ với các đơn vị LSTM khác là trong các sản phẩm với U * .

Cảm ơn Arun Mallya đã trình bày tuyệt vời.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.