Модель перевода keras lstm неверные прогнозы при добавлении или удалении одного слова - PullRequest
0 голосов
/ 09 мая 2018

Я новичок в моделях keras seq2seq LSTM. У меня есть рабочая модель машинного перевода и данные обучения с английского на арабский. Я только что обучил модель с помощью инструмента Google Colab и сделал несколько прогнозов. Как вы можете видеть на изображении, когда я тестирую модель на тексте из данных обучения, он хорошо предсказывает, но когда я изменяю ОДНО слово, предсказание оказывается совершенно неверным! Я хочу, чтобы моя модель ПОНИМАЛА полное значение текста даже при добавлении / удалении одного слова. Как я могу решить эту проблему?

Неверные прогнозы LSTM при добавлении / удалении одного слова

На изображении первым тестом каждого раздела является текст из обучающих данных, который хорошо предсказывает. Второй тест такой же, но с добавлением / удалением одного слова.

ОБНОВЛЕНИЕ: Всякий раз, когда я добавляю разделение проверки, val_loss всегда увеличивается, и модель не изучает слишком много! Что происходит?

1 Ответ

0 голосов
/ 09 мая 2018

Это классическая проблема перетренированности. Ваша модель только учится переводить ваши тренировочные данные, запоминая каждый образец вместо понимания концепции, лежащей в основе.

По этой причине всегда разделяйте ваши тренировочные данные на тренировочные данные и данные проверки. Данные проверки не должны быть в наборе обучающих данных! Таким образом, вы можете проверить, действительно ли ваша модель что-то изучает.

Для этого есть два основных решения:

  1. Как m33n сказал больше данных обучения (нет данных, как больше данных)
  2. Реализуйте больше методов регуляризации, таких как Dropout

Также проблема кажется очень неоднозначной. Перевод предложений - задача не из легких, и такие компании, как Google или Deepl, создали очень сложные модели, в которых много и много данных занято годами. Вы уверены, что у вас есть необходимые ресурсы для этого?

...