我目前正在尝试训练一个 DNN 用于具有大量扬声器的语音识别,每个扬声器都有自己的标签(output_classes = 扬声器总数)。我的数据库现在有 300 个发言者,Keras 模型摘要如下:
1240 (输入大小) --> 256 hidden --> 256 hidden --> 256 hidden (0.5 dropout) --> 256 (0.5 dropout) --> Softmax (300)
我分批提供数据(每个扬声器数据 = 一批)并使用以下优化器:
model.compile(
loss='categorical_crossentropy',
optimizer='Adam',
metrics=['accuracy'])
如下fit_generator
:
model.fit_generator(
trainGen(i=0),
steps_per_epoch=num_class,
epochs=500,
validation_data=(x_test, y_test))
trainGen
我的生成器函数在哪里
训练时,交叉验证准确率始终稳定在 0.0033 即 1/300。不过,训练和交叉验证损失在每个 epoch 之后都在下降。有什么建议么?