【问题标题】:Meaning of the hidden state in Keras LSTMKeras LSTM 中隐藏状态的含义
【发布时间】:2019-03-15 00:52:49
【问题描述】:

由于我是深度学习的新手,这个问题可能对您来说很有趣。但我无法在脑海中想象它。这就是为什么我要问它。

我将一个句子作为 LSTM 的向量,我认为我有一个包含 10 个单词的句子。然后我把这些句子改成向量,交给 LSTM。

LSTM 单元的长度应该是 10。但是在大多数教程中,我看到他们添加了 128 个隐藏状态。我无法理解和想象它。 LSTM层用"128-dimensional hidden state"这个词是什么意思

例如:

X = LSTM(128, return_sequences=True)(embeddings)

这个造型的夏天

lstm_1 (LSTM)                (None, 10, 128)           91648    

这里看起来像添加了 10 个 LSTM 单元,但为什么那里有 128 个隐藏状态?希望你能理解我的期望。

【问题讨论】:

    标签: python tensorflow keras nlp lstm


    【解决方案1】:

    简答: 如果你对卷积网络比较熟悉,你可以知道 LSTM 层的大小(128)相当于一个卷积层的大小。 10 仅表示输入的大小(序列的长度为 10)

    更长的答案: 您可以查看这篇文章以获取更多详细信息article about RNNs

    在左图中,LSTM 层用 (xt) 作为输入和输出 (ht) 表示。反馈箭头表示细胞内有某种记忆。

    在 Keras 的实践中(右图),此模型被“展开”以提供与我们的层并行的整个输入 xt

    所以当您的摘要是: lstm_1 (LSTM) (无, 10, 128) 91648
    这意味着你的输入序列是 10(x0,x1,x2,...,x9),你的 LSTM 的大小是 128(128 将是你输出的维度ht

    【讨论】:

    • 所以这意味着可以有少量的输入和大量的输出。所以我不明白的是在你的图像中 xt 的数量和 ht 的数量是相同的。因此,当有大量 ht 时,它是如何产生的。你能不能给它一个可视化。 @丹尼尔
    • 考虑阅读引用的文章,也许用公式会更清楚。
    • 您提供的链接目前不可用,请尽可能提供其他链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-21
    • 2019-07-17
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多