Max*_*ama 6 python lstm keras tensorflow
我正在尝试基于 Yarin Gal 和 Zoubin Ghahramani 的论文https://arxiv.org/pdf/1512.05287.pdf 中定义的变分 RNN 架构,使用 Keras 和 Python 中的 Tensorflow 后端实现 LSTM 神经网络。
这个想法基本上是在每个时间步应用相同的 dropout 掩码,在输入/输出连接和循环连接上,如下图所示:

阅读 Keras 文档,我发现我们可以使用参数dropout和对 LSTM 单元应用 dropout recurrent_dropout。我的第一个问题是:
然后,我还看到我们可以在 LSTM 单元之后创建一个 Dropout 层,并使用该noise_shape参数,我们可以强制该层每次应用相同的 dropout 掩码。我已经通过设置来做到这一点noise_shape=(K.shape(x)[0], 1, K.shape(x)[2])。我的第二个问题是:
总而言之,我有一种感觉,使用第一种方法,我们可以在循环连接上应用 dropout,但我们不能在每个时间步应用相同的 dropout 掩码,而对于第二种方法,情况正好相反。我错了吗?
| 归档时间: |
|
| 查看次数: |
914 次 |
| 最近记录: |