有没有办法计算LSTM网络中的参数总数。如何计算LSTM网络的参数数量?
我找到了一个例子,但我不确定this是多么正确或如果我已经正确地理解它。
对于例如考虑下面的例子: -
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
是输入矢量lenght。 和m
是时间步数。在这个例子中他们认为隐藏层数为1.
因此根据公式the post.4(nm+n^2)
在我的例子中m=16
; n=4096
; num_of_units=256
4*((4096*16)+(4096*4096))*256 = 17246978048
为什么会有这样的差异? 我误解了这个例子还是公式错了?
参考此链接,如果你需要一些帮助视力: http://datascience.stackexchange.com/questions/10615/number-of-parameters-in-an-lstm-model – Ali