C'è un modo per calcolare il numero totale di parametri in una rete LSTM.Come calcolare il numero di parametri di una rete LSTM?
Ho trovato un esempio ma non sono sicuro della correttezza di this o Se l'ho capita correttamente.
Per esempio, consideri il seguente esempio: -
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()
uscita
____________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
====================================================================================================
lstm_1 (LSTM) (None, 256) 4457472 lstm_input_1[0][0]
====================================================================================================
Total params: 4457472
____________________________________________________________________________________________________
Come per la mia comprensione n
è il vettore di input lunghezza. E m
è il numero di passaggi temporali. e in questo esempio considerano il numero di livelli nascosti come 1.
Quindi secondo la formula in the post.4(nm+n^2)
nel mio esempio m=16
; n=4096
; num_of_units=256
4*((4096*16)+(4096*4096))*256 = 17246978048
Perché c'è una tale differenza? Ho frainteso l'esempio o la formula era sbagliata?
fare riferimento a questo link se avete bisogno di un certo aiuto visivo: http://datascience.stackexchange.com/questions/10615/number-of-parameters-in-an-lstm-model – Ali