首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于文本生成的Keras不断重复一行或序列

用于文本生成的Keras不断重复一行或序列
EN

Stack Overflow用户
提问于 2017-11-05 19:32:09
回答 1查看 5K关注 0票数 14

我大致遵循了本教程:

https://machinelearningmastery.com/text-generation-lstm-recurrent-neural-networks-python-keras/

一个显著的区别是,我使用两个LSTM层与辍学。我的数据集是不同的( abc符号中的音乐数据集)。我确实生成了一些歌曲,但是在生成过程中,经过一定数量的步骤(可能从30步到几百步)之后,LSTM会一次又一次地生成完全相同的序列。例如,它曾经为歌曲生成URL:

F:http://www.youtube.com/watch?v=JPtqU6pipQI

等等..。

它也曾被困在产生相同的两首歌(这两首歌是一个约300个字符的序列)。在开始的时候,它产生了3-4首优秀的歌曲,但之后,它几乎无限期地更新了这两首歌。

我在想,,有人对可能发生的事情有什么洞察力吗?

我想澄清的是,生成的任何序列,无论是重复的还是非重复的,似乎都是新的(模型不是记忆的)。验证损失和培训损失按预期减少。Andrej能够生成数千个字符的文档,而我无法找到这种无限期卡住的模式。

http://karpathy.github.io/2015/05/21/rnn-effectiveness/

EN

回答 1

Stack Overflow用户

发布于 2019-08-12 14:01:00

与其在预测输出上使用argmax,不如尝试引入一些随机性,如下所示:

代码语言:javascript
复制
np.argmax(prediction_output)[0])

代码语言:javascript
复制
np.random.choice(len(prediction_output), p=prediction_output)

我在这个重复序列问题上挣扎了一段时间,直到我发现了这个Colab笔记本,在那里我弄明白了为什么他们的模型能够生成一些非常好的样本:keras.ipynb#scrollTo=tU7M-EGGxR3E

在我更改了这一行之后,我的模型从一遍又一遍地生成了几个单词,变成了真正有趣的东西!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47125723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档