Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python LSTM网络在几次迭代后开始生成垃圾_Python_Tensorflow_Deep Learning_Keras_Lstm - Fatal编程技术网

Python LSTM网络在几次迭代后开始生成垃圾

Python LSTM网络在几次迭代后开始生成垃圾,python,tensorflow,deep-learning,keras,lstm,Python,Tensorflow,Deep Learning,Keras,Lstm,我有一个约700万字符的大型文本语料库,我正在训练一个LSTM网络。然而,我一直看到,大约在第五个纪元之后,生成的句子并没有得到改进,而是完全变成了垃圾。我在下面粘贴了一个示例: Generating with seed: "n who is in possession of the biggest ro" n who is in possession of the biggest ro to tato ton ant an to o ona toon t o o taon an s

我有一个约700万字符的大型文本语料库,我正在训练一个LSTM网络。然而,我一直看到,大约在第五个纪元之后,生成的句子并没有得到改进,而是完全变成了垃圾。我在下面粘贴了一个示例:

Generating with seed: "n who is in possession of the biggest ro"
n who is in possession of the biggest ro to   tato ton ant an to  o  
ona toon t o o taon  an s to  ao t tan t  tout att tj ton  an o  t an $
我也尝试过不同的温度。上面粘贴的示例是最保守的。这是另一代人:

Generating with seed: 'to sin, and most of the known world is n'
to sin, and most of the known world is na ararea t tarre a araa arae 
tor tae a a aaa aaata ater tje aea arare ar araererrt tmaear araae
为了调试,我最终粘贴了副本,并在我的语料库上对其进行了训练。同样,在迭代5前后,它开始生成垃圾


关于如何调试这个或这可能是一个什么签准的想法?它开始时的预测更加连贯,但突然之间就不连贯了。

通常,5个时代的结论往往为时过早。RNN可以生成看起来不像垃圾的文本,尽管它仍然没有学到任何东西。因此,您应该开始担心样本文本是否会随着每次迭代而明显退化,否则就让它学习吧

发生这种情况时,首先要检查概率分布是如何随时间变化的。例如,此示例

a ararea t tarre a araa arae 
tor tae a a aaa aaata ater tje aea arare ar araererrt tmaear araae
。。。明确表示
a
概率太高。我不认为你的训练数据中有太多重复的
aa
,因此子序列
aaata
应该是不可能的。要检查这一点,请打印最大概率分数及其对应的字符(分布摘要也可以)。如果你看到概率上升,那几乎肯定是问题所在


这可能有多种原因,从数据处理或输入管道错误开始,到网络布线错误结束。例如,我看到的一个特定bug与index
0
有关,它对应于未知字符或填充,但实际上被LSTM视为有效字符。因为有很多,网络就知道了这一点,所以它的概率增加了。

谢谢你的回复。所以我实际上让它训练了超过21个小时,大约100个时代,但它的输出没有任何改善。我将尝试检查概率分数,看看它会产生什么结果。这是上一次温度最高的迭代的输出:
杀死每一个rick和olnnorse ouneaoua nesnlnu Ot oe Snosneti Ou Olsoretn Ouneae uu lree