gpt4 book ai didi

machine-learning - Keras SimpleRNN 的参数数量

转载 作者:行者123 更新时间:2023-12-03 18:14:29 26 4
gpt4 key购买 nike

我有一个 SimpleRNN喜欢:

model.add(SimpleRNN(10, input_shape=(3, 1)))
model.add(Dense(1, activation="linear"))
模型摘要说:
simple_rnn_1 (SimpleRNN)   (None, 10)   120       
我很好奇参数号 120simple_rnn_1 .
有人能回答我的问题吗?

最佳答案

当您查看表格的标题时,您会看到标题 Param :

Layer (type)              Output Shape   Param 
===============================================
simple_rnn_1 (SimpleRNN) (None, 10) 120

此数字表示相应层中可训练参数(权重和偏差)的数量,在本例中为 SimpleRNN .

编辑:

权重的计算公式如下:

recurrent_weights + input_weights + biases

*resp: (num_features + num_units)* num_units + num_units



说明:

num_units = 等于 RNN 中的单元数

num_features = 等于输入的特征数量

现在您的 RNN 中发生了两件事。

首先,您有循环循环,其中将状态循环输入模型以生成下一步。循环步骤的权重为:

recurrent_weights = num_units*num_units

其次,您在每一步都有新的序列输入。

输入权重 = num_features*num_units

(通常最后一个 RNN 状态和新输入都连接起来,然后乘以一个权重矩阵,但输入和最后一个 RNN 状态使用不同的权重)

所以现在我们有了权重,缺少的是偏差 - 对于每个单位一个偏差:

偏差 = num_units*1

所以最后我们有公式:

recurrent_weights + 输入权重 + 偏差

或者

num_units* num_units + num_features* num_units + 偏差

=

(num_features + num_units)* num_units + 偏差

在您的情况下,这意味着可训练的参数是:

10*10 + 1*10 + 10 = 120

我希望这是可以理解的,如果不只是告诉我 - 这样我就可以对其进行编辑以使其更清楚。

关于machine-learning - Keras SimpleRNN 的参数数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50134334/

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