Có cách nào để tính tổng số tham số trong mạng LSTM không.Cách tính số tham số của mạng LSTM?
Tôi đã tìm thấy một ví dụ nhưng tôi không chắc chắn về cách chính xác this là hoặc Nếu tôi đã hiểu chính xác.
Đối với ví dụ như xem xét các ví dụ sau: -
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation
from keras.layers import Embedding
from keras.layers import LSTM
model = Sequential()
model.add(LSTM(256, input_dim=4096, input_length=16))
model.summary()
Output
____________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
====================================================================================================
lstm_1 (LSTM) (None, 256) 4457472 lstm_input_1[0][0]
====================================================================================================
Total params: 4457472
____________________________________________________________________________________________________
Theo hiểu biết của tôi n
là chiều dài vector đầu vào. Và m
là số bước thời gian. và trong ví dụ này, họ xem xét số lớp ẩn là 1.
Do đó theo công thức trong the post.4(nm+n^2)
trong ví dụ của tôi m=16
; n=4096
; num_of_units=256
4*((4096*16)+(4096*4096))*256 = 17246978048
Tại sao có sự khác biệt như vậy? Tôi đã hiểu sai ví dụ hoặc là công thức sai?
Tham khảo link này nếu bạn cần sự giúp đỡ trực quan: http://datascience.stackexchange.com/questions/10615/number-of-parameters-in-an-lstm-model – Ali