使用 LSTM 标记序列中的未知标记

Unknown tag in sequence tagging with LSTM

我已使用 a、b、c 标签标记数据集,并且必须使用 a、b、c 和其他类别标记传入序列。它应该对已知序列进行分类和标记,或者说我以前没有见过它。

我想我应该自定义我的网络以使标签独立。所以标签分数之和不应该是1,每个标签分数都是独立的。

例如

sequence a : .95, 0.1, 0,01 
sequence b : .02, 0.87, 0.9
unknown : .2, .15, .12

那么我应该在我的神经网络中更改什么设置:

model.add(LSTM(128, input_dim=128, input_length=10, unroll=True, implementation=0))
model.add(Dense(3, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=[accuracy'])

您只需要 Dense(4,...) 而不是 Dense (3,...)

四个输出之间绝对没有依赖关系。如果激活是 softmax,则总和为 1。