为什么注意层仅适用于火车数据而不适用于双向LSTM机器翻译模型中的测试数据

时间:2018-12-28 03:51:24

标签: lstm attention-model

我在机器翻译模型中添加了一个关注层

model.add(AttentionDecoder(tar_timesteps, tar_vocab))

我将模型应用于144K(135K火车+ 9K测试),30历时的葡萄牙语和中文语料库。与没有引起注意的模型相比,其他条件保持不变,整个BLEU-1 / 2/3/4列车数据增加了20%,但测试数据几乎没有变化。我想知道我的实现是否有任何错误。

def define_model(src_vocab, tar_vocab, src_timesteps, tar_timesteps, n_units):
    model = Sequential()
    model.add(Embedding(src_vocab, n_units, input_length=src_timesteps, mask_zero=True))
    model.add(Bidirectional(LSTM(n_units)))
    model.add(Dropout(0.2))
    model.add(RepeatVector(tar_timesteps))
    model.add(AttentionDecoder(tar_timesteps, tar_vocab))
    model.add(Bidirectional(LSTM(n_units, return_sequences=True)))
    model.add(Dropout(0.2))
    model.add(TimeDistributed(Dense(tar_vocab, activation='softmax')))
return model

0 个答案:

没有答案