Цель проекта
Разработать систему нейронного машинного перевода (NMT) на фреймворке TensorFlow, следуя принципу от простого к сложному.
Поэтапная реализация
Этап 1: Базовая модель LSTM без внимания
Создать кодировочно-декодировочную архитектуру (sequence-to-sequence) с использованием LSTM-слоев. В модели не применяется механизм внимания; перевод строится на основе фиксированного контекстного вектора, сформированного из последнего состояния кодировщика.
Этап 2: Модель с механизмом внимания (Attention)
Добавить attention-слой, который позволит декодеру динамически обращаться к разным частям входного предложения при генерации каждой выходной метки. Архитектура должна соответствовать подходу, описанному в исследовательских работах:
- Нейронный машинный перевод путем совместного обучения выравниванию и переводу (архивная ссылка 1409.3215)
- Sequence to sequence learning with neural networks (архивная ссылка 1409.0473)
- Attention is all you need (архивная ссылка 1706.03762) - использовать идеи самовнимания, имитирующего логику механизма.
Технические требования
- Использовать Python и TensorFlow (рекомендуется версия 2.x или выше)
- Продемонстрировать обучение модели на корпусе пар предложений (для двуязычных данных подойдет любой публичный датасет, но точное название источника не указывается)
- Реализация должна быть модульной, с возможностью затем настроить на больший объем данных