LSTM损失不会收敛

时间:2018-10-01 21:44:33

标签: machine-learning deep-learning nlp lstm recurrent-neural-network

我是LSTM和深度学习的新手。我有3000条评论,我正尝试通过词嵌入在gensim预训练模型上进行训练。我有以下模型,其中max_sequence_size = 564和vocab的大小是4000。

max_sequence_size = max_features
classes_num = 1
my_model=Sequential()

my_model.add(Embedding(max_sequence_size,300,input_length=trainDataVecs.shape[1],weights=[embedding_matrix]))
my_model.add(Bidirectional(LSTM(100,activation='tanh',recurrent_dropout = 0.2, dropout = 0.2,trainable=True)))

my_model.add(Dense(50,activation='sigmoid'))
my_model.add(Dropout(0.2))


my_model.add(Dense(classes_num, activation='softmax'))

print "Compiling..."
my_model.compile(optimizer='adam',
              loss='binary_crossentropy',
              metrics=['accuracy'])

print my_model.summary()

我看到他说要更改优化器的链接,但无济于事。我也将LR更改为0.1和0.001,但这也无济于事。

https://stats.stackexchange.com/questions/201129/training-loss-goes-down-and-up-again-what-is-happening

此外,数据不平衡,其中80%的标签为1和20%的0。作为我的指标,准确度约为80%。我应该将标签0的指标更改为f1_score吗?如果是,我该怎么做?我找不到任何直接的文档。

我应该添加更多的图层,因为这可能很浅吗?有什么方法可以打印渐变?

0 个答案:

没有答案
相关问题