Есть ли способ вычислить общее количество параметров в сети LSTM.
Я нашел пример, но я не уверен, насколько корректен этот, или если я его правильно понял.
Например, рассмотрим следующий пример: -
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()
Выход
____________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
====================================================================================================
lstm_1 (LSTM) (None, 256) 4457472 lstm_input_1[0][0]
====================================================================================================
Total params: 4457472
____________________________________________________________________________________________________
Согласно Моему пониманию n
- длина входного вектора.
И m
- количество шагов времени. и в этом примере они считают количество скрытых слоев равным 1.
Следовательно, согласно формуле в сообщении. 4(nm+n^2)
в моем примере m=16
; n=4096
; num_of_units=256
4*((4096*16)+(4096*4096))*256 = 17246978048
Почему существует такая разница? Не понял ли я этот пример или не был неправильным?