Comment calculer le nombre de paramètres d'un LSTM réseau?

Est-il un moyen de calculer le nombre total de paramètres dans un LSTM réseau.

J'ai trouvé un exemple mais je ne suis pas sûr de la façon de corriger cette ou Si j'ai bien compris.

Pour exemple considérons 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 de longueur.
Et m est le nombre de pas de temps. et dans cet exemple, ils considèrent que le nombre de couches cachées à 1.

Ainsi, selon la formule de la le post. 4(nm+n^2) dans mon exemple m=16;n=4096;num_of_units=256

4*((4096*16)+(4096*4096))*256 = 17246978048

Pourquoi est-il une telle différence?
Ai-je mal compris le exemple ou était la formule de mal ?