# Стэнфорд CS224N: Эволюция языковых моделей от N-грамм до RNN

Источник: https://www.youtube.com/watch?v=fyc0Jzr74y4
Канал: Stanford Online
Опубликовано: 04.03.2025

---

## Погружение в нейросетевые языковые модели: от N-грамм до RNN
[[JUMP:24:55]]

Современные языковые модели — это основа технологий NLP, способная предсказывать вероятностное распределение следующего слова в последовательности. В Стэнфордском университете в рамках курса Stanford CS224N «NLP with Deep Learning» подробно разбирают эволюцию этих систем: от классических статистических n-граммных моделей до рекуррентных нейронных сетей (RNN).

### 📉 Статистическая эпоха: N-граммные модели
[[JUMP:28:44]]

С 1975 по 2012 год стандартом индустрии были n-граммные языковые модели. Их суть заключается в предсказании следующего слова на основе короткой последовательности предшествующих слов (контекста) фиксированной длины.

*   **Марковское предположение:** При предсказании слова $x_{t+1}$ используется только $n-1$ предыдущих слов.
*   **Принцип работы:** Модели полагаются на подсчет частоты появления n-грамм в больших корпусах текста.
*   **Проблемы:**
    *   **Разреженность данных:** Если n-грамма не встречалась в обучающей выборке, её вероятность равна 0, что делает вычисления невозможными. Эту проблему решали «хаками» с добавлением малых величин (например, 0,25) к счетчикам.
    *   **Масштабируемость:** Память для хранения счетчиков растет экспоненциально вместе с размером контекста, поэтому стандартом долгое время оставались 5-граммы.

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

### 🧠 Рекуррентные нейронные сети (RNN)
[[JUMP:50:48]]

Для решения проблемы ограниченного контекста и неэффективного использования параметров была предложена архитектура рекуррентных нейронных сетей. В отличие от n-грамм, RNN способны обрабатывать последовательности произвольной длины, используя скрытое состояние (hidden state) для хранения «памяти» о прочитанном тексте.

*   **Принцип работы:** На каждом шаге модель обновляет скрытое состояние, используя текущее слово и предыдущее состояние. Применяются одни и те же веса матриц (например, $W_e$ и $W_h$), что обеспечивает эффективность процесса.
*   **Teacher Forcing:** При обучении модель всегда возвращается к правильному ответу из текста, вместо использования собственных вероятностных предсказаний на следующем шаге.
*   **Оптимизация:** Часто применяется усеченное обратное распространение ошибки (truncated backpropagation through time), чтобы ускорить обучение без потери качества.

### 💡 Современный взгляд на обучение нейросетей
[[JUMP:6:47]]

Лектор отмечает, что успех современных deep learning систем обусловлен не одной «магической» формулой, а совокупностью инженерных правок, которые оживили сферу после застоя 90-х годов.

1.  **Регуляризация (Dropout):** Метод случайного «выбрасывания» (обнуления) части нейронов во время обучения. Это заставляет сеть быть устойчивой и не полагаться на отдельные признаки, эффективно создавая ансамбль моделей.
2.  **Векторизация:** Отказ от циклов (`for`) в пользу операций с матрицами и тензорами — критический фактор скорости современных систем.
3.  **Инициализация:** Использование малых случайных чисел для весов матриц, чтобы избежать симметрии и «застревания» градиента в нуле.
4.  **Оптимизаторы:** Переход от простого стохастического градиентного спуска (SGD) к методам вроде **Adam**, которые автоматически подстраивают скорость обучения для каждого параметра.

### 🔮 Прогнозы и практика
[[JUMP:11:15]]

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

RNN позволили создавать интересные генеративные проекты — от написания сценариев в стиле Гарри Поттера до генерации названий для красок (например, «Stoner blue» или «Turdly»), что доказывает эффективность нейросетевого подхода, несмотря на определенные ограничения в глубине «памяти» модели.