我正在处理文本序列,序列长度在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。但是我的损失总是像这样:

python - 深度学习:验证损失急剧波动,但培训损失稳定-LMLPHP

我正在使用1024和Adam优化器的批处理大小。

据我所知,在预处理等方面,训练和测试数据集之间绝对没有区别。

关于如何诊断此病的任何建议?

最佳答案

首先。您应该拆分数据集。

model.fit(X, Y, validation_split=0.1, epochs=100, batch_size=10)


然后您可以查看值是否更改。

关于python - 深度学习:验证损失急剧波动,但培训损失稳定,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51695149/

10-13 04:56