От RNN к LSTM: как ИИ научился не забывать прошлое

Stanford Online 21,3 тыс. 1 ч 17 мин 4 мин 04.03.2025
Главное

В рамках курса Стэнфордского университета CS224N «Обработка естественного языка с глубоким обучением» (весна 2024 года) прошла шестая лекция, посвященная эволюции рекуррентных нейронных сетей (RNN). В центре внимания оказались архитектуры Long Short-Term Memory (LSTM) и их революционное применение в задачах машинного перевода (Neural Machine Translation, NMT).

📊 Оценка языковых моделей: от интуиции к перплексии 2:18

Помимо субъективной оценки качества генерируемых текстов, в NLP существует строгий математический стандарт — перплексия (perplexity) . Этот показатель определяет, насколько эффективно модель предсказывает слова в реальных человеческих текстах, на которых она не обучалась.

Основные факты о перплексии:

По словам лектора, термин «перплексия» закрепился благодаря Фреду Джелинеку из IBM, который в 70-х годах искал простой способ объяснить информационную теорию специалистам по символьному ИИ, не владевшим глубокой математикой .

📉 Проблема исчезающего градиента: почему простые RNN «забывчивы» 9:22

Главный недостаток базовых рекуррентных сетей заключается в затухании (vanishing) или взрывном росте (exploding) градиентов при обратном распространении ошибки через длинные последовательности .

Проблема затухания градиента:

  1. При вычислении градиента веса цепочки слов перемножаются по правилу цепной производной .
  2. Математически это сводится к возведению матрицы весов в степень, соответствующую длине последовательности .
  3. Если собственные значения матрицы меньше 1, сигнал быстро исчезает. В результате модель обновляет веса только на основе ближайших слов и «не видит» долгосрочных зависимостей .

Лектор приводит пример с текстом о билетах (tickets) на принтер : чтобы предсказать слово «ticket» в конце абзаца, модели нужно помнить о нем на протяжении 20+ слов. Обычные RNN эффективно учитывают контекст лишь на глубину около 7 токенов .

🛠️ Решение проблемы взрывного градиента: Gradient Clipping 18:59

Если затухающий градиент — это фундаментальная архитектурная проблема, то взрывной градиент (когда значения становятся слишком большими) решается с помощью «грубого хака» — клиппинга (отсечения) .

🧠 Анатомия LSTM: память с избирательным доступом 22:50

Архитектура Long Short-Term Memory (LSTM) была предложена Зеппом Хохрайтером и Юргеном Шмидхубером в 1997 году для расширения «краткосрочной памяти» нейросетей . Ключевое отличие LSTM от простой RNN — наличие специального «состояния ячейки» (cell state) и механизмов управления потоком информации через гейты (ворота) .

Основные компоненты LSTM:

  1. Forget Gate (Гейт забывания): Определяет, какую часть старой информации из памяти нужно стереть. Лектор замечает, что логичнее было бы назвать его «гейтом сохранения» .
  2. Input Gate (Входной гейт): Выбирает, какие части нового входа достойны записи в память .
  3. Output Gate (Выходной гейт): Контролирует, какая часть накопленной памяти будет использована для текущего скрытого состояния и предсказания слова .

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

🏗️ Варианты и расширения: Bidirectional и Stacked RNN 48:27

Для более сложных задач анализа текста используются модификации рекуррентных сетей:

🌍 Прорыв в машинном переводе: Sequence-to-Sequence 1:05:15

До 2014 года доминировал статистический машинный перевод (SMT), основанный на огромных таблицах соответствий фраз. По мнению лектора, эти системы были перегружены сложным кодом и «костылями» для конкретных языковых пар .

Революция Neural Machine Translation (NMT) произошла с внедрением архитектуры Encoder-Decoder :

  1. Encoder (Кодировщик): RNN (обычно многослойная LSTM) считывает предложение на исходном языке и упаковывает весь смысл в финальный вектор скрытого состояния .
  2. Decoder (Декодировщик): Другая RNN принимает этот вектор и начинает генерировать предложение на целевом языке слово за словом .

Этот подход сделал перевод «сквозным» (end-to-end), позволяя всей системе оптимизироваться под одну цель . В 2016 году Google полностью перевела свой сервис Google Translate на нейросетевую архитектуру, что привело к мгновенному и заметному скачку качества, который отметили даже обычные пользователи и издания уровня New York Times .

💬 Цитаты

«По сути, все, что мы делаем в NLP сегодня, делается с помощью языковых моделей.»

Кристофер Мэннинг 01:37

«Взрывные градиенты — это проблема. Вы думаете, что идете в Сьерру, а оказываетесь в Айове.»

Кристофер Мэннинг 18:40

«Секрет LSTM в этом знаке «плюс».»

Кристофер Мэннинг 41:48
👥 Спикер
📚 Упомянутые книги
🔗 Упомянутые сайты и проекты
📖 Термины
Perplexity
Мера неопределенности модели при предсказании следующего слова; чем она ниже, тем лучше модель.
Gradient Clipping
Метод предотвращения численной нестабильности путем ограничения максимального значения градиента.
Hadamard product
Поэлементное умножение двух векторов или матриц одинакового размера.
Encoder-Decoder
Архитектура нейросети, где одна часть сжимает входные данные в вектор, а вторая восстанавливает из него новую информацию (например, перевод).
📊 Цифры
🗓 Хронология
  1. 1950-е Начало работ над машинным переводом, который рассматривался как задача взлома кода.
  2. 1997 Изобретение архитектуры LSTM.
  3. 2014 Появление первых коммерчески успешных моделей нейросетевого перевода (NMT).
  4. 2016 Масштабное внедрение NMT в крупнейших ИТ-компаниях мира (Google, Microsoft, Baidu).
⚖️ Другая сторона
Искусственный интеллект Stanford Online LSTM Neural Machine Translation Perplexity Gradient Clipping