我已经用 RNN 训练了一个机器翻译模型(从英语到越南语),具有 25000 个示例对的 LSTM(用于训练集 -> 20000,测试集 -> 5000)我使用的模型如下所示,但 val_acc 总是达到〜0, 37 并且不会增加,尽管我使用了其他一些模型并且 epoch 大约是 100:
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(Bidirectional(LSTM(n_units, return_sequences=True)))
model.add(Dropout(0.2))
model.add(TimeDistributed(Dense(512, activation='relu')))
model.add(Dropout(0.2))
model.add(TimeDistributed(Dense(tar_vocab, activation='softmax')))
return model
我希望模型可以防止过度拟合,希望你们帮我解决问题