我正在训练一个用于端到端语音识别的 Keras 模型。我有自己的语音数据集,其中包含大约 400 个波形文件。文本转录也作为输入给出。模型总结为:
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
the_input (InputLayer) (None, None, 26) 0
_________________________________________________________________
layer_1_conv (Conv1D) (None, None, 30) 3930
_________________________________________________________________
conv_batch_norm (BatchNormal (None, None, 30) 120
_________________________________________________________________
rnn_bi (GRU) (None, None, 40) 8520
_________________________________________________________________
bt_rnn_bi (BatchNormalizatio (None, None, 40) 160
_________________________________________________________________
bidirectional_15 (Bidirectio (None, None, 40) 19440
_________________________________________________________________
bt_rnn_final (BatchNormaliza (None, None, 40) 160
_________________________________________________________________
time_distributed_15 (TimeDis (None, None, 29) 1189
_________________________________________________________________
softmax (Activation) (None, None, 29) 0
=================================================================
Total params: 33,519
Trainable params: 33,299
Non-trainable params: 220
_________________________________________________________________
None
- 使用的优化器:
Adadelta() - 损失函数:
ctc_loss函数。 - 辍学:0.5
最后一个时期的训练和验证损失是:
Epoch 392/400
27/27 [==============================] - 36s - loss: 19.9499 - val_loss: 16.5945
Epoch 393/400
27/27 [==============================] - 34s - loss: 18.9789 - val_loss: 14.1015
Epoch 394/400
27/27 [==============================] - 36s - loss: 17.9598 - val_loss: 14.2997
Epoch 395/400
27/27 [==============================] - 34s - loss: 17.1506 - val_loss: 15.1215
Epoch 396/400
27/27 [==============================] - 35s - loss: 17.4900 - val_loss: 14.0334
Epoch 397/400
27/27 [==============================] - 35s - loss: 17.7459 - val_loss: 14.7812
Epoch 398/400
27/27 [==============================] - 35s - loss: 18.3460 - val_loss: 14.4461
Epoch 399/400
27/27 [==============================] - 35s - loss: 17.4311 - val_loss: 15.5965
Epoch 400/400
27/27 [==============================] - 35s - loss: 17.6892 - val_loss: 12.4165
谁能向我解释这种损失是如何解释的?训练损失和验证损失的正确值是多少,所以我的模型可以正确预测输出值?
我尝试减少损失,它确实减少了,相差正负1个单位,但测试测试完全不正确。谁能建议我获得正确测试结果的方法?