Что такое Teacher Forcing при обучении декодера? В чем проблема Exposure Bias?
Краткий тезис
Teacher Forcing — техника обучения Seq2Seq-моделей, при которой на каждом шаге декодирования в качестве входного токена подаётся истинный (ground truth) токен из обучающей последовательности, а не собственное предсказание модели. Это ускоряет сходимость, но порождает Exposure Bias: на инференсе модель сталкивается с собственными ошибками, которых не видела во время тренировки.
2. Быстрая сходимость
Teacher Forcing обеспечивает несколько ключевых преимуществ:
| Преимущество | Объяснение |
|---|---|
| Стабильность градиентов | Истинные токены не содержат шума от ошибок модели, градиенты гладкие |
| Параллелизация | Все шаги декодирования можно вычислять одновременно (Parallel Decoding), так как входные токены известны заранее |
| Быстрая сходимость | Модель учится на "идеальных" контекстах, что снижает количество итераций обучения |
| Предотвращение дрейфа | Ошибки на ранних шагах не накапливаются, так как модель всегда "исправляется" истинными токенами |
На практике Teacher Forcing позволяет обучить базовую Seq2Seq-модель за 1-2 эпохи на небольших датасетах (например, IWSLT для перевода).
3. Exposure Bias: на тесте модель получает свои ошибки
Проблема: во время инференса модель генерирует последовательность авторегрессивно, используя собственные предсказания как вход для следующего шага. Если на шаге t модель ошиблась (выдала неверный токен), то на шаге t+1 она получит "мусорный" контекст, что может привести к каскадному уходу от правильной последовательности.
Формальное определение:
- Тренировка: ( p(y_t \mid y_{<t}^{[text](/wiki/text){true}}, x) ) — модель учится на истинных префиксах.
- Инференс: ( p(y_t \mid \hat{y}_{<t}, x) ) — модель использует свои предсказания ( \hat{y} ).
Разрыв между распределениями ( p_{[text](/wiki/text){train}} ) и ( p_{[text](/wiki/text){infer}} ) называется Exposure Bias. Чем длиннее последовательность, тем сильнее эффект: ошибки накапливаются экспоненциально.
Пример:
- При переводе "I am a student" → "Я студент".
- На шаге 1 модель ошибочно предсказывает "Я есть" вместо "Я".
- На шаге 2 модель получает "есть" как контекст и генерирует "студент есть" — полный бред.
4. Решения: Scheduled Sampling, RL
4.1 Scheduled Sampling
Scheduled Sampling — гибридный подход, где во время обучения с вероятностью ( [epsilon](/wiki/Epsilon) ) на вход подаётся собственное предсказание модели, а с вероятностью ( 1-[epsilon](/wiki/Epsilon) ) — истинный токен. Вероятность ( [epsilon](/wiki/Epsilon) ) растёт по эпохам (например, линейно от 0 до 0.5).
# Scheduled Sampling
epsilon = min(1.0, epoch / total_epochs * 0.5)
for t in range(1, max_len):
if random.random() < epsilon:
decoder_input = model_prediction[t-1] # своё предсказание
else:
decoder_input = true_tokens[t-1]
logits = decoder(decoder_input, hidden_state)
loss += cross_entropy(logits, true_tokens[t])
Плюсы: плавно адаптирует модель к собственным ошибкам. Минусы: требует настройки расписания ( [epsilon](/wiki/Epsilon) ), может ухудшить сходимость на ранних этапах.
4.2 Обучение с подкреплением (RL)
RL-подходы (например, REINFORCE, Policy Gradient) рассматривают генерацию как последовательность действий. Награда — метрика качества (BLEU, ROUGE). Модель учится максимизировать ожидаемую награду, что автоматически учитывает Exposure Bias.
Проблемы RL:
- Высокая дисперсия градиентов.
- Необходимость в baseline (например, Self-Critical Sequence Training).
- Вычислительная стоимость.
4.3 Beam Search и его модификации
Хотя Beam Search не решает Exposure Bias напрямую, он снижает его влияние, сохраняя несколько гипотез. Однако при длинных последовательностях beam search может порождать "безопасные" короткие переводы (Length Bias).
5. Пет-проект для закрепления
Задача: Реализовать простой Seq2Seq-трансформер для перевода с английского на русский (датасет Tatoeba) и сравнить Teacher Forcing vs Scheduled Sampling.
Инструменты:
Шаги:
- Загрузите 10k пар предложений, токенизируйте через BPE (YouTokenToMe).
- Реализуйте Transformer Decoder с 2 слоями, d_model=128.
- Обучите с Teacher Forcing (5 эпох, lr=1e-3).
- Обучите с Scheduled Sampling (epsilon от 0 до 0.4 за 5 эпох).
- На тестовой выборке (1k пар) сравните BLEU и визуально проверьте 10 случайных примеров.
Ожидаемый результат:
- Teacher Forcing: BLEU ~15-20, но на длинных предложениях (>10 токенов) качество падает.
- Scheduled Sampling: BLEU ~18-25, более стабильные результаты на длинных последовательностях.
- Вы увидите, что модель с Teacher Forcing генерирует "обрывочные" переводы на тесте, а с Scheduled Sampling — более связные.
Связь с другими вопросами
| Вопрос | Тема |
|---|---|
| 931 | Архитектура Seq2Seq и механизм внимания |
| 932 | Проблема vanishing gradient в RNN-декодерах |
| 934 | Beam Search и его модификации |
Навигация
- Предыдущий: 932
- Следующий: 934
- Индекс: 00. Индекс разборов