gpt4 book ai didi

machine-learning - 如何计算LSTM网络的参数个数?

转载 作者:行者123 更新时间:2023-11-30 08:22:07 26 4
gpt4 key购买 nike

有没有办法计算 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 是输入向量长度。m 是时间步数。在本例中,他们认为隐藏层的数量为 1。

因此根据the post.中的公式4(nm+n^2) 在我的示例中 m=16;n=4096;num_of_units=256

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

为什么会有这样的差异?我是否误解了示例或公式错误?

最佳答案

否 - Keras 中 LSTM 层的参数数量等于:

params = 4 * ((size_of_input + 1) * size_of_output + size_of_output^2)

附加1来自偏差项。因此,n 是输入的大小(通过偏置项增加),m 是 LSTM 层的输出的大小。

最后:

4 * (4097 * 256 + 256^2) = 4457472

关于machine-learning - 如何计算LSTM网络的参数个数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38080035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com