如何将输入尺寸转换为Keras中LSTM层的输出尺寸?通过阅读Colah的博客文章,似乎"timesteps"(AKA the input_dim或中的第一个值input_shape)的数量应等于神经元的数量,这应等于该LSTM层的输出数量(由该层的units参数描述LSTM) 。
通过阅读这篇文章,我了解了输入形状。我困惑的是Keras如何将输入插入每个LSTM“智能神经元”。
令我感到困惑的示例代码:
model = Sequential()
model.add(LSTM(32, input_shape=(10, 64)))
model.add(Dense(2))
Run Code Online (Sandbox Code Playgroud)
由此看来,我认为LSTM层有10个神经元,每个神经元都被喂以长度为64的向量。但是,似乎它有32个神经元,我不知道每个神经元都被喂食什么。我知道,要使LSTM连接到Dense层,我们只需将所有32个输出插入2个神经元的每一个即可。令我感到困惑的是LSTM的InputLayer。
我是对的!该体系结构是10个神经元,每个神经元代表一个时间步。每个神经元都被喂入一个64长度的向量,该向量表示64个特征(input_dim)。
32代表隐藏状态数或“隐藏单位长度”。它表示存在多少隐藏状态,也表示输出尺寸(因为我们在LSTM的末尾输出了隐藏状态)。
最后,来自最后一个时间步的32维输出向量然后被馈送到2个神经元的密集层,这基本上意味着将32个长度的向量插入两个神经元。
阅读更多有用的答案:
| 归档时间: |
|
| 查看次数: |
1012 次 |
| 最近记录: |