【问题标题】:The role of initial state of lstm layer in seq2seq encoderlstm层初始状态在seq2seq编码器中的作用
【发布时间】:2021-07-24 20:16:22
【问题描述】:

我正在尝试按照本指南来实现 seq2seq 机器翻译模型:https://www.tensorflow.org/tutorials/text/nmt_with_attention

本教程的Encoder 有一个initialize_hidden_state() 函数,用于生成全0 作为编码器的初始状态。但是我有点困惑为什么这是必要的。据我所知,只有在调用 encoder 时(在 train_step 和评估中),它们是使用 initialize_hidden_state() 函数初始化的。我的问题是 1.) 这个初始状态的目的是什么? Keras 层不会自动初始化 LSTM 状态吗? 2.) 如果编码器总是使用initialize_hidden_state() 生成的初始状态调用,为什么不总是用所有 0 个隐藏状态初始化 encoder

【问题讨论】:

标签: tensorflow lstm machine-translation seq2seq


【解决方案1】:

你完全正确。示例中的代码有点误导。 LSTM 单元自动用零初始化。您可以删除initialize_hidden_state() 函数。

【讨论】:

    猜你喜欢
    • 2018-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 2019-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多