我使用transformers官方tutorial:https://www.tensorflow.org/text/tutorials/transformer 训练了自己的翻译模型,只改了tokenizer的部分(使用tf.keras.preprocessing.tokenizer在自己的语料里fit了然后tokenize)最后得到Epoch 30 Batch 50 Loss 0.0677 Accuracy 0.9823的结果,但是当我使用这个model来对某一个新的输入进行翻译的时候,发现无论输入是什么,翻译的输出结果都是一样的。如果重新训练,这个相同的输出结果会变化,但是依然与输入无关。该结果都是还算通顺的语句,但是能看出来是生成的。
我的参数是这样的:
num_layers = 4
d_model = 128
dff = 512
num_heads = 8
dropout_rate = 0.1
BUFFER_SIZE = 20000
BATCH_SIZE = 64
EPOCHS = 30
MAX_TOKENS = 413
请问这是收敛到局部最小值了吗?还是什么原因?有人遇到过一样的问题吗?应该怎么解决?调参是解决方法吗?