【问题标题】:How can I change hidden state activation size in RNN using Keras?如何使用 Keras 更改 RNN 中的隐藏状态激活大小?
【发布时间】:2018-04-13 20:47:25
【问题描述】:

我想训练一个具有与 keras 默认提供的隐藏状态激活大小不同的 RNN。示例:我在时间步的输入向量大小为 27,输出也是 27。我希望隐藏状态激活大小为 50。

【问题讨论】:

    标签: machine-learning neural-network deep-learning keras rnn


    【解决方案1】:

    不清楚您所说的隐藏状态激活大小到底是什么意思。 keras中控制RNN单元大小的参数称为units。来自documentation

    • units:正整数,输出空间的维度。

    这个数字直接对应于应用在细胞内的循环矩阵的形状,所以在这个意义上它是细胞的一个隐藏大小,或者说是隐藏神经元的数量.

    要将此大小从27 更改为50,只需调用:

    model.add(SimpleRNN(50, ...))
    

    【讨论】:

    • 单位对应输出向量的维度。我想要的是我的输出向量的长度为 27,但隐藏状态的大小为 50。
    • 恐怕,简单的 RNN 和 LSTM/GRU 都不是这样工作的。您必须编写自己的 RNN 单元,其中包含一个额外的隐藏层。
    • 感谢您的帮助。只是想确认某些东西是否可用。我正在使用 Tensorflow 实现它。
    • Rnn 实际上确实有一个隐藏状态维度,它可能与输出维度不同。 W_hy 和 W_hx 是单元格内部的独立 NN,它们可以具有与 out NN 不同的维度。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    相关资源
    最近更新 更多