为什么我的LSTM稳定点?

时间:2015-07-22 02:53:22

标签: neural-network deep-learning lstm

我已经通过一个序列训练了LSTM,并尝试测试它是否可以合成一些输出序列,但有趣且不幸的是,它非常快,即在2个时间步后,稳定到修复输出,意味着一个序列完全相同的值。

现在我已经改变了初始化,但是在两步之后输出总是相同的。培训或抽样可能出现什么问题?

很抱歉,我无法提供更多上下文,因为整个程序太大了,无法在此发布。

1 个答案:

答案 0 :(得分:0)

你的训练或抽样没有任何问题 - 这是纯粹"的预期行为。 LSTM网络。要对数据中的差异进行建模,请不要让网络直接预测下一步的值。相反,您的网络应该为您提供下一个时间步的可能值的概率分布,然后您可以从中进行采样。

有关如何执行此操作的两个示例:

  • 离散数据,例如文本:在LSTM顶部堆叠一个softmax图层,它为您提供每个字母的概率,然后从这些概率中抽样 - 这也在Karparthy臭名昭着的char-rnn中实现,请参阅段落&#34 ;温度"
  • 连续数据,例如时间序列:让网络预测混合分布的参数(即高斯的线性组合),然后从中进行采样 - 我非常推荐Graves 2013中关于手写预测的部分,或者你可以查看章节我最近为研究项目写的this report中的5个