【问题标题】:Why are the number of parameters 10 in SimpleRNN? [closed]为什么 SimpleRNN 的参数个数是 10? [关闭]
【发布时间】:2020-09-18 12:16:30
【问题描述】:

这是我的 Python 代码:

 from tensorflow.keras.models import Sequential
 from tensorflow.keras.layers import SimpleRNN

 Model = Sequential([
      SimpleRNN(2, input_shape=(2,2))
 ])

 print(Model.summary())

输出是:

Model: "sequential_23"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
simple_rnn_10 (SimpleRNN)    (None, 2)                 10        
=================================================================
Total params: 10
Trainable params: 10
Non-trainable params: 0
_________________________________________________________________
None

我不明白为什么参数数量是 10。

【问题讨论】:

  • 这个问题不是关于编程,而是关于如何构建 RNN 和定义参数。我认为您会在 stats.SE 或 datascience.SE 获得更好的答案
  • 这能回答你的问题吗? Number of parameters for Keras SimpleRNN

标签: tensorflow machine-learning keras recurrent-neural-network


【解决方案1】:

一个简单的循环层定义为:

在您的代码中,您指定了input_shape=(2,2),它表示|x|=2。您还设置了|h|=2 并且没有定义输出层。这导致了以下模型:

由于前馈输入(黑色连接)和循环输入(蓝色连接)中的所有内容都是完全连接的,因此您会得到 2x2 矩阵(权重形状为橙色)。偏差是完全连接到每个h 单元的单个值,即每个单元有一个权重(总共 2 个,请参见绿色连接)。

总之:

W_xh是输入矩阵:2x2=4个参数

W_hh 是循环矩阵:2x2=4 个参数

b_h 是偏差:2 个参数

所以总共有 10 个参数。

【讨论】:

  • 你能用图表显示吗?使用图表会更有帮助和易于理解。
猜你喜欢
  • 1970-01-01
  • 2012-12-05
  • 2021-02-11
  • 2019-03-21
  • 2019-11-14
  • 2013-04-01
  • 2021-03-03
  • 1970-01-01
  • 2020-03-31
相关资源
最近更新 更多