---
title: "Encoder-Decoder"
source: "https://systems-analysis.info/wiki/Encoder-Decoder"
wiki: "systems-analysis.info/wiki"
article: "Encoder-Decoder"
language: "ru"
categories:
  - "Категория:Russian"
  - "Категория:Большие языковые модели"
  - "Категория:Машинное обучение"
revision_id: 91
wiki_created_at: 2026-09-06T21:54:52Z
wiki_modified_at: 2026-09-06T21:54:52Z
downloaded_at: 2026-09-07T22:17:22Z
---

# Encoder-Decoder

**Модели энкодер-декодер** (англ. Encoder-Decoder Models) — это класс архитектур нейронных сетей, предназначенных для решения задач **преобразования последовательности в последовательность (sequence-to-sequence, seq2seq)**. Эта архитектура состоит из двух основных компонентов:

- **Энкодер (кодировщик):** Обрабатывает входную последовательность и сжимает её в компактное числовое представление (контекстный вектор или последовательность скрытых состояний).
- **Декодер (декодировщик):** Берёт это представление и генерирует на его основе выходную последовательность.

Эта архитектура является основой для многих задач обработки естественного языка (NLP) и компьютерного зрения, таких как машинный перевод, суммаризация текста и подписи к изображениям.

## Концепция

Основная идея архитектуры энкодер-декодер заключается в разделении задач **понимания** и **генерации**. Энкодер отвечает за понимание входной последовательности, извлекая из неё всю необходимую семантическую информацию. Декодер отвечает за генерацию новой последовательности, используя информацию, предоставленную энкодером.

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

## Эволюция архитектуры

### Ранние модели на основе RNN/LSTM

Изначально архитектура энкодер-декодер была реализована с использованием рекуррентных нейронных сетей (RNN) или их усовершенствованного варианта LSTM.

- **Энкодер:** RNN-энкодер обрабатывал входную последовательность [токен](https://systems-analysis.info/wiki/%D0%A2%D0%BE%D0%BA%D0%B5%D0%BD "Токен") за токеном и на выходе выдавал один **контекстный вектор** — скрытое состояние после обработки последнего токена, которое должно было содержать информацию обо всей последовательности.
- **Декодер:** RNN-декодер инициализировался этим контекстным вектором и авторегрессионно генерировал выходную последовательность.

Основным недостатком такого подхода была проблема «бутылочного горлышка»: вся информация из входной последовательности должна была быть сжата в один вектор фиксированной длины, что приводило к потере информации, особенно на длинных последовательностях.

### Внедрение механизма внимания

Прорыв произошёл с внедрением **механизма внимания (attention mechanism)** (Bahdanau et al., 2014).

- **Принцип работы:** Вместо того чтобы полагаться на один контекстный вектор, декодер на каждом шаге генерации «обращает внимание» на **все** скрытые состояния энкодера. Он вычисляет веса внимания, которые показывают, какие части входной последовательности наиболее релевантны для генерации текущего выходного токена.
- **Преимущества:** Это решило проблему «бутылочного горлышка» и позволило модели эффективно работать с длинными последовательностями, значительно улучшив качество, особенно в машинном переводе.

### Архитектура Трансформер

В 2017 году в статье «Attention Is All You Need» была представлена архитектура **Трансформер**, которая полностью отказалась от рекуррентности в пользу механизма внимания.

- **Энкодер Трансформера:** Состоит из стека слоёв, каждый из которых использует **самовнимание (self-attention)** для создания контекстуализированных представлений для каждого входного токена.
- **Декодер Трансформера:** Состоит из стека слоёв, каждый из которых имеет два типа механизмов внимания:
  - **Маскированное самовнимание:** Для обработки уже сгенерированной части выходной последовательности.
  - **Перекрёстное внимание (Cross-Attention):** Для «обращения внимания» на выходные представления энкодера.

Эта архитектура стала стандартом для задач seq2seq благодаря своей высокой производительности и возможности параллелизации вычислений.

## Применение

Архитектура энкодер-декодер является стандартом для широкого круга задач:

- **Машинный перевод:** Преобразование предложения с одного языка на другой.
- **Автоматическое реферирование текста:** Создание краткого содержания длинного документа.
- **Диалоговые системы:** Генерация ответа на реплику пользователя.
- **Подписи к изображениям (Image Captioning):** Энкодер (часто на основе свёрточной нейронной сети) обрабатывает изображение, а декодер (часто RNN или Трансформер) генерирует его текстовое описание.
- **Распознавание речи:** Преобразование аудиосигнала в текстовую транскрипцию.

## Основные модели

- **Оригинальный Трансформер** (Vaswani et al., 2017): Модель, которая представила эту архитектуру.
- **BART** (Bidirectional and Auto-Regressive Transformers): Модель от Facebook, которая предварительно обучается на задаче восстановления «испорченного» текста. Энкодер является двунаправленным (как в [BERT](https://systems-analysis.info/wiki/BERT "BERT")), а декодер — авторегрессионным (как в [GPT](https://systems-analysis.info/wiki/GPT "GPT")).
- **[T5](https://systems-analysis.info/wiki/T5 "T5")** (Text-to-Text Transfer Transformer): Модель от Google, которая унифицирует все задачи NLP, представляя их как проблему преобразования текста в текст. T5 показала выдающиеся результаты на множестве бенчмарков.

## Сравнение с другими архитектурами

| Архитектура         | Основная задача                                        | Компоненты        | Типичные модели                    |
|---------------------|--------------------------------------------------------|-------------------|------------------------------------|
| **Энкодер-декодер** | Преобразование последовательности в последовательность | Энкодер + Декодер | T5, BART, оригинальный Transformer |
| **Только-энкодер**  | Понимание текста                                       | Только энкодер    | BERT, RoBERTa                      |
| **Только-декодер**  | Генерация текста                                       | Только декодер    |                                    |

Сравнение ключевых архитектур на основе Трансформера

- 

## См. также

- [Архитектуры LLM](https://systems-analysis.info/wiki/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D1%8B_LLM "Архитектуры LLM")
- [T5](https://systems-analysis.info/wiki/T5 "T5")
- [BERT](https://systems-analysis.info/wiki/BERT "BERT")
- [GPT](https://systems-analysis.info/wiki/GPT "GPT")
- [Decoder-only](https://systems-analysis.info/wiki/Decoder-only "Decoder-only")

## Литература

- Bahdanau, D. et al. (2014). *Neural Machine Translation by Jointly Learning to Align and Translate*. <a href="https://arxiv.org/abs/1409.0473" class="external text" rel="nofollow">arXiv:1409.0473</a>.
- Sutskever, I. et al. (2014). *Sequence to Sequence Learning with Neural Networks*. <a href="https://arxiv.org/abs/1409.3215" class="external text" rel="nofollow">arXiv:1409.3215</a>.
- Luong, M.-T. et al. (2015). *Effective Approaches to Attention-based Neural Machine Translation*. <a href="https://arxiv.org/abs/1508.04025" class="external text" rel="nofollow">arXiv:1508.04025</a>.
- Wu, Y. et al. (2016). *Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation*. <a href="https://arxiv.org/abs/1609.08144" class="external text" rel="nofollow">arXiv:1609.08144</a>.
- Vaswani, A. et al. (2017). *Attention Is All You Need*. <a href="https://arxiv.org/abs/1706.03762" class="external text" rel="nofollow">arXiv:1706.03762</a>.
- Britz, D. et al. (2017). *Massive Exploration of Neural Machine Translation Architectures*. <a href="https://arxiv.org/abs/1703.03906" class="external text" rel="nofollow">arXiv:1703.03906</a>.
- Lewis, M. et al. (2020). *BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation*. <a href="https://arxiv.org/abs/1910.13461" class="external text" rel="nofollow">arXiv:1910.13461</a>.
- Raffel, C. et al. (2020). *Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer*. <a href="https://arxiv.org/abs/1910.10683" class="external text" rel="nofollow">arXiv:1910.10683</a>.
- Dong, L. et al. (2019). *Unified Language Model Pre-training for Natural Language Understanding and Generation*. <a href="https://arxiv.org/abs/1905.03197" class="external text" rel="nofollow">arXiv:1905.03197</a>.
- Zhang, J. et al. (2020). *PEGASUS: Pre-training with Extracted Gap-Sentences for Abstractive Summarization*. <a href="https://arxiv.org/abs/1912.08777" class="external text" rel="nofollow">arXiv:1912.08777</a>.
