首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >词级语言模型的准确率极低,且每个时期的训练时间很高

词级语言模型的准确率极低,且每个时期的训练时间很高
EN

Stack Overflow用户
提问于 2019-06-24 15:24:12
回答 1查看 82关注 0票数 0

使用Keras API设置我的第一个词级语言模型。准确率极低,所需的训练时间高得令人难以置信。

我使用Keras库开发了我的第一个单词级语言模型,并将我的训练集作为Pulp Fiction的脚本。我清除了文本中的所有标点符号,并将所有单词转换为小写。当我在给定的数据集上开始训练我的模型时,它的准确率为3%,训练时间为每个时期6-7分钟。这是非常令人泄气的,我想知道我是否应该调整我的超参数,或者这是我的模型的正常行为,它将产生更多的时代更好的结果?

代码语言:javascript
复制
model=Sequential()

model.add(LSTM(256, input_shape=(X.shape[1], X.shape[2]), 
return_sequences=True))
model.add(Dropout(0.5))
model.add(LSTM(256))
model.add(Dropout(0.5))
model.add(Dense(y.shape[1], activation='softmax'))

model.compile(optimizer='adam',loss='categorical_crossentropy', metrics= 
['accuracy'])
model.fit(X,y,batch_size=128,epochs=100)
EN

回答 1

Stack Overflow用户

发布于 2019-06-24 15:53:24

从观察到6-7分钟并不是每个时期那么多开始,你可以检查以下原因:

  1. 您的培训是在图形处理器上还是在中央处理器上?通常情况下,它在GPU上的运行速度要快得多。对于LSTM来说,每个单元的
  2. 256个单元是一个相当大的维度。尝试减少到128甚至64,检查性能是否受到影响。
  3. 您的数据集的维度是多少?如果你的数据集很大,那么训练花费更多的时间是正常的。
  4. 如果你对前面的所有问题都有答案,你可以尝试修改batch_size;但是要小心,因为不建议使用非常大的批处理大小(我建议最大到256,但不要超过256)。
  5. 检查数据的完整性。如果您知道数据来自可靠的来源,请注意将数据提供给神经网络的方式(清理、预处理)。也许提供数据的方式(因变量(y)和/或X_train)是不正确的。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56731643

复制
相关文章

相似问题

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