首页 文章

Seq2seq LSTM无法生成合理的摘要

提问于
浏览
3

我正在训练keras中的编码器 - 解码器LSTM用于文本摘要和具有以下架构的CNN数据集

Picture of bidirectional encoder-decoder LSTM

  • 我正在使用skip-gram和预训练单词嵌入(大小为256)

  • 然后我用零填充输入序列,这样所有文章的长度都相等

  • 我在每个摘要中放置一个1的向量作为“开始”令牌

  • 稍后在解码器输出中使用MSE,RMSProp,tanh激活

  • 训练:20个时期,batch_size = 100,clip_norm = 1,dropout = 0.3,hidden_units = 256,LR = 0.001,训练样例= 10000,validation_split = 0.2

  • 网络训练和训练和验证MSE下降到0.005,但是在推理过程中,解码器不断产生一些没有意义的单词重复,并且远不及真正的总结 .

我的问题是,我的培训方法,填充,丢失功能,数据大小,培训时间是否存在根本错误,以至于网络无法概括?

1 回答

  • 1
    • 除损失函数外,您的模型看起来没问题 . 我无法弄清楚MSE如何适用于单词预测 . 交叉熵损失在这里看起来是一个自然的选择 .

    • 生成的单词重复可能是由于解码器在推理时的工作方式造成的:你不应该简单地从分布中选择最可能的单词,而应该从中进行采样 . 这将为生成的文本提供更多变化 . 开始查看光束搜索 .

    • 如果我选择一种技术来提升序列以模拟序列模型,那么它肯定是注意机制 . 有很多关于它的帖子,你可以从this one开始,例如 .

相关问题