gpt4 book ai didi

python - 用于文本生成的 Keras LSTM 不断重复一行或一个序列

转载 作者:太空狗 更新时间:2023-10-30 00:18:46 26 4
gpt4 key购买 nike

我大致遵循了这个教程:

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

一个显着的区别是我使用了 2 个带 dropout 的 LSTM 层。我的数据集不同(abc 符号的音乐数据集)。我确实生成了一些歌曲,但在生成过程中经过一定数量的步骤(可能从 30 步到几百步不等)后,LSTM 不断地一遍又一遍地生成完全相同的序列。例如,它曾经在为歌曲生成 URL 时卡住:

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

等等...

它也曾经卡在生成相同的两首歌曲(这两首歌曲是大约 300 个字符的序列)。一开始它生成了 3-4 首好曲子,但后来,它几乎无限期地不断生成两首歌曲。

我想知道,有没有人对可能发生的事情有所了解?

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

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

最佳答案

不要在预测输出上使用 argmax,而是尝试使用类似这样的方法引入一些随机性:

np.argmax(prediction_output)[0])

np.random.choice(len(prediction_output), p=prediction_output)

我在这个重复序列问题上苦苦挣扎了一段时间,直到我发现了这个 Colab 笔记本,我在其中弄清楚了为什么他们的模型能够生成一些非常好的样本:https://colab.research.google.com/github/tensorflow/tpu/blob/master/tools/colab/shakespeare_with_tpu_and_keras.ipynb#scrollTo=tU7M-EGGxR3E

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

关于python - 用于文本生成的 Keras LSTM 不断重复一行或一个序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47125723/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com