Existe-t-il un moyen de calculer le nombre total de paramètres dans un réseau LSTM.Comment calculer le nombre de paramètres d'un réseau LSTM?
J'ai trouvé un exemple mais je ne suis pas sûr de la façon correcte this ou si j'ai bien compris.
Pour voir l'exemple suivant: -
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()
Sortie
____________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
====================================================================================================
lstm_1 (LSTM) (None, 256) 4457472 lstm_input_1[0][0]
====================================================================================================
Total params: 4457472
____________________________________________________________________________________________________
Selon ma compréhension n
est le vecteur d'entrée longueur. Et m
est le nombre de pas de temps. et dans cet exemple ils considèrent que le nombre de couches cachées est 1.
D'après la formule en the post.4(nm+n^2)
dans mon exemple m=16
; n=4096
; num_of_units=256
4*((4096*16)+(4096*4096))*256 = 17246978048
Pourquoi existe-t-il une telle différence? Ai-je mal compris l'exemple ou la formule était-elle incorrecte?
Reportez-vous à ce lien si vous avez besoin d'une aide visuelle: http://datascience.stackexchange.com/questions/10615/number-of-parameters-in-an-lstm-model – Ali