Глубинное обучение и векторные представления слов: итоги лекции Stanford CS224N 0:05
Лекция Кристофера Мэннинга в рамках курса Stanford CS224N посвящена фундаментальным аспектам работы с векторными представлениями слов (word vectors) и плавному переходу к архитектуре нейронных сетей. Ключевая идея заключается в том, что простые математические операции над векторами, полученными из больших корпусов текстов, позволяют моделям эффективно улавливать семантические связи и даже решать задачи на аналогии.
⚙️ Оптимизация и обучение word2vec 3:02
Для минимизации ошибок модели используется градиентный спуск, однако стандартный алгоритм слишком ресурсозатратен для обработки больших объемов данных. На практике применяется его более эффективный вариант:
- Стохастический градиентный спуск (SGD): Вместо всего датасета модель обучается на небольших подмножествах данных (мини-батчах). По словам Мэннинга, вносимый при этом шум не только ускоряет процесс, но и помогает нейронным сетям лучше оптимизироваться, предотвращая застревание в локальных минимумах.
- Инициализация: Векторы слов изначально заполняются случайными малыми числами. Важно избегать нулевой инициализации, иначе возникнут «ложные симметрии», препятствующие обучению.
- Два набора векторов: В алгоритме word2vec для каждого слова используются два вектора: «центровой» и «контекстный». Использование раздельных векторов упрощает математические вычисления градиентов, исключая появление нежелательных квадратичных членов. В финальных приложениях их обычно усредняют.
🧩 Семантика, аналогии и проблема многозначности 15:54
Одной из самых примечательных особенностей векторных представлений стала их способность к «алгебре смыслов».
- Аналогии: Векторная модель позволяет выполнять операции типа: «вектор короля минус вектор мужчины плюс вектор женщины равен вектору королевы». Это свойство позволяет решать задачи вида «А относится к B так же, как C относится к D».
- Отрицательное сэмплирование: Для повышения скорости вместо полного Softmax применяется метод отрицательного сэмплирования. Модель учится максимизировать вероятность истинного контекстного слова и минимизировать вероятность случайно выбранных (негативных) слов.
- Многозначность (Word Senses): Большинство слов многозначны. Хотя исторически предлагалось обучаться на отдельные «смыслы» слова, современные модели чаще используют один усредненный вектор для слова — «суперпозицию» всех его значений. Тем не менее, методы разреженного кодирования (sparse coding) позволяют реконструировать отдельные смыслы из одного обобщенного вектора.
🧤 Алгоритм GloVe и оценка качества 40:56
Разработанный в Stanford алгоритм GloVe (Global Vectors) объединяет преимущества статистического подсчета совместной встречаемости слов и нейросетевого обучения.
- Логика GloVe: Модель фокусируется на соотношении вероятностей совместной встречаемости слов, что позволяет линейно моделировать семантические компоненты в векторном пространстве.
- Оценка:
- Внутренняя: Оценка на аналогиях или корреляция с человеческими суждениями о схожести слов (быстро, но не всегда предсказывает успех в реальных задачах).
- Внешняя: Оценка в рамках прикладных задач, например, извлечения именованных сущностей (NER). Включение GloVe-векторов дает существенный прирост точности в таких системах.
🧠 Переход к нейронным классификаторам 1:03:13
Нейронная сеть в своем базовом виде — это механизм, преобразующий входы через последовательность матричных умножений и нелинейных функций активации (например, логистическую функцию).
- Классификатор с окном: Для определения, является ли слово, например, локацией, модель берет его вектор вместе с векторами соседних слов (контекстным окном) и пропускает через слои сети.
- Magic of Learning: В отличие от традиционных линейных классификаторов, многослойные нейронные сети способны выучивать сложные нелинейные функции представления данных. Промежуточные слои самостоятельно «находят» полезные признаки, что обеспечивает высокую производительность в задачах классификации.
- Функция потерь: Для обучения в PyTorch Мэннинг рекомендует использовать Cross-Entropy Loss, которая в частном случае для задачи классификации превращается в отрицательное логарифмическое правдоподобие.