了解 RNN 中的参数编号

问题描述 投票:0回答:0

我写了一个非常简单的 RNN,我想了解它是如何得出参数数量的。我的理解是它将隐藏向量(在这种情况下长度为 4)与输入向量(在这种情况下长度为 20)连接起来,得到 24 的组合输入大小,并且隐藏层大小为 4 我应该得到 24x4 权重加上4 个偏差 = 层 l1 总共 100 个参数。但是在运行下面的代码时,我只获得了 l1 层的 24 个参数。似乎它正在将输入向量大小计算为大小 1。我在这里缺少什么?在我的大小为 20 的时间序列窗口中,它不应该为每个步骤设置不同的权重,而不是为整个窗口设置一个权重吗?

import tensorflow as tf
l0 =   tf.keras.layers.Input(shape=(20,1))
l1 = tf.keras.layers.SimpleRNN(4)
l2 = tf.keras.layers.Dense(1)

model = tf.keras.models.Sequential([
    l0,
    l1,
    l2
])
# Print the model summary
model.summary()

(20 个特征 +4 个隐藏输入)x 4 个隐藏层 + 4 个偏差 = (24) x 4 + 4 = 100

tensorflow parameters time-series recurrent-neural-network keras-layer
© www.soinside.com 2019 - 2024. All rights reserved.