我正在培训用于文本摘要的keras中的编码器 - 解码器LSTM和具有以下架构的CNN数据集
Picture of bidirectional encoder-decoder LSTM
我正在使用skip-gram和
然后我用零填充输入序列,以便所有文章长度相等
我在每个摘要中添加了一个1的向量,以作为" start"令牌
稍后在解码器输出中使用MSE,RMSProp,tanh激活
培训:20个纪元,batch_size = 100,clip_norm = 1,dropout = 0.3,hidden_units = 256,LR = 0.001,training examples = 10000,validation_split = 0.2
我的问题是,我的培训方法,填充,丢失功能,数据大小,培训时间是否存在根本错误,以至于网络无法概括?
答案 0 :(得分:1)
除损失功能外,您的模型看起来没问题。我无法弄清楚MSE如何适用于单词预测。 交叉熵损失在这里看起来很自然。
生成的单词重复可能是由解码器在推理时的工作方式引起的:你不应该简单地从分布中选择最可能的单词,而应该从中选择 sample 。这将为生成的文本提供更多变化。开始查看波束搜索。
如果我选择一种技术来提升序列以模拟序列模型,它肯定是注意机制。有很多关于它的帖子,你可以从this one开始,例如。