我正在处理文本序列,序列长度在1-3之间。标签是“分数”。我有超过500万个样本。我的网络看起来像这样(Keras):
model.add(Embedding(word_count, 128, input_length=3))
model.add(BatchNormalization())
model.add(Dense(128, activation='relu'))
model.add(BatchNormalization())
model.add(Dense(256, activation='relu'))
model.add(BatchNormalization())
model.add(Dense(512, activation='relu'))
model.add(BatchNormalization())
model.add(Dense(1024, activation='relu'))
model.add(Flatten())
model.add(Dense(1, activation='linear'))
我尝试了许多不同的网络形状和配置,包括使用/不使用Dropout&BatchNorm。但是我的损失总是像这样:
我正在使用批量大小为1024和Adam优化器的
据我所知,培训和测试数据集在预处理等方面绝对没有区别。
关于如何诊断这一点的任何建议?
答案 0 :(得分:0)
首先。您应该拆分数据集。
model.fit(X, Y, validation_split=0.1, epochs=100, batch_size=10)
然后您可以查看值是否更改。
答案 1 :(得分:0)
我发现了问题。当我只想改组训练数据时,我在各个时期之间改组了测试数据。谢谢您的评论。