Keras 为什么我的路缘石会起作用;准确度增长这么快?

Keras 为什么我的路缘石会起作用;准确度增长这么快?,keras,crf,Keras,Crf,我使用BiLSTM+CRF做了一个序列标记模型来进行后期标记。但是我发现我的crf.accurity增长如此之快,在第一个纪元就达到了1.0。 我使用keras_contrib lib中的CRF层,并参考CRF示例编写代码。我的后端是Tensorflow。 输出=时间分布(密集(100,activation='relu'),name='densite_1')(lstm_输出) 输出=辍学率(0.3)(输出) 如果自行使用crf: crf\u layer=crf(self.label\u num

我使用BiLSTM+CRF做了一个序列标记模型来进行后期标记。但是我发现我的crf.accurity增长如此之快,在第一个纪元就达到了1.0。 我使用keras_contrib lib中的CRF层,并参考CRF示例编写代码。我的后端是Tensorflow。

输出=时间分布(密集(100,activation='relu'),name='densite_1')(lstm_输出)
输出=辍学率(0.3)(输出)
如果自行使用crf:
crf\u layer=crf(self.label\u num,sparse\u target=True)
输出=crf\U层(输出)
模型=模型(输入、输出)
model.compile('adam',loss=crf\u layer.loss\u函数,metrics=[crf\u layer.accurity])
其他:
输出=时间分布(密集(self.label_num,activation='softmax'),name='densite_2')(输出)
模型=模型(输入、输出)
model.compile('adam',loss='classifical_crossentropy',metrics=['accurity'])

但是crf_层的精确度似乎增长得如此之快。在第一个时代,它表现为

1888/2000[===============================>..-预计到达时间:4s-损失:17.2046-附件:0.9666 1920/2000[==================================>..-预计到达时间:3秒-损失:17.1906-附件:0.9671 1952/2000[==================================>。]预计到达时间:2秒-损失:17.2806-附件:0.9677 1984/2000[==================================>。]预计到达时间:0s-损失时间:17.2222-附件:0.9682

但是如果我不使用CRF,准确度只有0.4,就像其他部分的代码一样,训练看起来更正常


因此,无论我是否忽略了keras_contrib的CRF中的一些细节,我都会发现这个bug。因为我的目标是一个单热向量,所以我不能设置sparse_target=True。我修好后,现在看起来很正常