我大致遵循了本教程:
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/
发布于 2019-08-12 14:01:00
与其在预测输出上使用argmax,不如尝试引入一些随机性,如下所示:
np.argmax(prediction_output)[0])至
np.random.choice(len(prediction_output), p=prediction_output)我在这个重复序列问题上挣扎了一段时间,直到我发现了这个Colab笔记本,在那里我弄明白了为什么他们的模型能够生成一些非常好的样本:keras.ipynb#scrollTo=tU7M-EGGxR3E
在我更改了这一行之后,我的模型从一遍又一遍地生成了几个单词,变成了真正有趣的东西!
https://stackoverflow.com/questions/47125723
复制相似问题