LSTM 模型中的准确率和损失没有提高

时间:2021-04-20 08:22:31

标签: python tensorflow neural-network lstm

模型

我的模型是这样构建的:

  • 嵌入(input_dim=VOCABULARY_SIZE, output_dim=50, input_length=49))
  • LSTM(256)
  • 辍学(0.2)
  • LSTM(256)
  • 辍学(0.2)
  • 密集(VOCABULARY_SIZE,activation='softmax')

数据集

我创建了一个数据集,其中包含来自 Wikipedia 的许多文章,这些文章分为 49 个单词的部分和第 50 个单词的目标单词。

例如:

<头>
句子 目标
南密歇根大道历史街区是一个主要的住宅历史街区,位于密歇根州萨吉诺的里昂和李街之间的密歇根大道上,它于 1982 年被列入国家历史名胜名录 该街区的历史发展始于 1870 年代和进展缓慢
南密歇根大道历史街区是一个主要的住宅历史街区,位于密歇根州萨吉诺里昂和李街之间的南密歇根大道,于 1982 年被列入国家历史名胜名录 该街区的历史发展始于 1870 年代并取得进展慢慢地 均匀

预处理

我传递了 TensorFlow 标记器中的每一行(其中该行由空格分隔,因此每个单词都是一个标记,并且每个单词都是小写字母),然后创建了一个生成器(以降低 RAM 使用率),该生成器在以下位置生成一行一次,其中每行 (X) 传递分词器的 texts_to_sequences 方法,每个目标 (Y) 传递 TensorFlow 的 to_categorical 方法,其中 num_class 等于分词器的词索引长度 + 1。< /p>

培训

如上所述,我对模型进行了超过 160000 条连续行的训练,分为 160 个批次的集合,超过 100 个时期。
在训练期间,我的模型的准确率和损失经常变化且没有改善,如下所示:

Model's loss over trainig

Model's accuracy over trainig


如何提高模型的准确性?

0 个答案:

没有答案