问题在于通过预训练模型(例如 GloVe)训练我们的模型后获得的准确性和 f1 结果。当我将CNN用作分类器时,结果如下:
acc: 0.9345 - val_loss: 0.1513
但是当我应用 RNN 和 LSTM 作为分类器时,结果如下:
24931/24931 [==============================] - 188s 8ms/step - loss: 7.9559 - acc: 6.0166e-04 - val_loss: 7.9904 - val_acc: 0.0000e+00
Epoch 2/4
24931/24931 [==============================] - 189s 8ms/step - loss: 7.9645 - acc: 0.0000e+00 - val_loss: 7.9904 - val_acc: 0.0000e+00
上述结果是通过 RNN 和 LSTM 达到的。
问题是我使用相同的数据集、相同的结构和相同的 GloVe,但我达到了 CNN 的 acc: 0.9345 并获得了 LSTM 和 RNN 的 acc: 0.0000e+00。值得注意的是,我已经更改了优化器,但仍然得到相同的结果。应用的数据集包含 41,399 个项目,总计 60.3 MB,也是二进制的。任何指导将不胜感激,因为我是使用 GloVe 的初学者。
我在 ubuntu 中使用带有 python 3.5 的 tensorflow 后端应用 keras。