Я написал простой преобразователь согласно Это и использую небольшой обучающий набор (50 предложений). Процедура обучения выглядит хорошо и после нескольких итераций получает небольшое значение потерь. Однако когда я пытаюсь перевести некоторые предложения в обучающем наборе , это не работает. Иногда просто дают несколько слов, которые не связаны с предложением. Иногда результат перевода имеет смысл, но представляет собой комбинацию предложений в обучающем наборе. Только когда я установил тренировочный набор, содержащий только одно предложение, модель сможет правильно перевести предложение после обучения. Что-то не так с моей маской или позиционным кодированием? Так как процедура обучения хороша. Я также пытаюсь вывести результат softmax до вычисления потерь. Правильная позиция всегда имеет наибольшее значение вероятности.