Глубокое обучение

RNN

Рекуррентные сети

классикаПочти полностью вытеснены трансформерами.

Обрабатывают последовательность шаг за шагом, перенося скрытое состояние между позициями.

Ключевые тезисы

  • Веса общие для всех шагов, длина входа не фиксирована.
  • Обучаются через развёртку по времени (BPTT).
  • Затухание градиента ограничивает память несколькими десятками шагов.

Подробный разбор

2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.

1

Рекуррентность и скрытое состояние

Память сети — это один вектор, который переносится между шагами.

Обозначения
  • истинное значение целевой переменной
  • объект: вектор признаков

Веса общие для всех моментов времени, поэтому сеть работает с последовательностью любой длины. Обучение идёт «развёрткой по времени» (BPTT): сеть разворачивается в глубокую цепочку, и по ней запускается обычный backprop.

2

Ограничения

Почему RNN уступили трансформерам.

  • Нет параллелизма: шаг нельзя посчитать раньше шага .
  • Короткая память: градиент затухает через десятки шагов.
  • Узкое место: весь контекст сжимается в один вектор фиксированного размера.
На практике

Первые два пункта решались LSTM и GRU, третий — механизмом внимания. Когда внимание научились использовать без рекуррентности вовсе, появились трансформеры.

Связанные темы

Последовательные модели