Stanford CS224N: Анализ CNN и TreeRNN в обработке естественного языка

Stanford Online 7,3 тыс. 1 ч 11 мин 5 мин 04.03.2025
Главное

В рамках курса Stanford CS224N «NLP с использованием глубокого обучения» (весна 2024) профессор Кристофер Мэннинг провёл лекцию, посвящённую архитектурам, которые сегодня считаются менее мейнстримными, чем трансформеры, но сохраняют научную и практическую ценность. Речь пошла о сверточных нейронных сетях (ConvNets) и древовидных рекурсивных сетях (TreeRNNs), их истории развития и уникальных способностях в анализе структуры языка.

🎓 Организация курса и проблема GPU-вычислений 0:05

В начале занятия Кристофер Мэннинг поблагодарил студентов за обратную связь в опросах середины квартала. Несмотря на общую удовлетворенность контентом, возникли вопросы по организации часов консультаций (office hours) и доступу к вычислительным мощностям. Мэннинг признал, что очереди на консультации перед дедлайнами могут растягиваться на шесть часов, и идеального решения этой проблемы пока нет.

Что касается обучения моделей, профессор дал практические рекомендации по работе с GPU:


🖼️ Сверточные нейронные сети (CNN) в анализе текста 4:03

Сверточные сети изначально были разработаны для компьютерного зрения, где они обеспечивают инвариантность к сдвигу — способность распознать объект (например, кенгуру) вне зависимости от его положения в кадре. В NLP идея CNN заключается в том, чтобы использовать фильтры как детекторы признаков для n-грамм (словосочетаний из 2, 3 или более слов).

Процесс работы CNN в тексте выглядит так:

  1. Текст представляется как одномерная (1D) последовательность векторов слов.
  2. Фильтр (маска) скользит по этой последовательности, вычисляя скалярное произведение с весами.
  3. Для сохранения размерности часто используется дополнение нулями (padding).
  4. Применяется нелинейная функция активации (например, сигмоида или ReLU).

Особое внимание Мэннинг уделил операции max pooling (пулинг по максимуму). По его словам, это работает как детектор признаков: неважно, в каком месте предложения встретилось «я-сообщение» или глагол речи, пулинг зафиксирует сам факт наличия этого признака в тексте. В то же время average pooling (усредняющий пулинг) может быть полезен, если нужно измерить общее свойство текста, например, степень его формальности.


🧪 Модель Юн Кима и проблема «уплывающих» векторов 18:27

Одной из самых известных работ в этой области стала статья Юн Кима (Yoon Kim) 2014 года. Он создал простой, но эффективный классификатор настроений на базе CNN. Ким применил фильтры разного размера (биграммы, триграммы, 4-граммы) параллельно, объединяя их результаты в один вектор.

Важным вкладом Кима стала стратегия работы с предобученными векторами слов (GloVe или word2vec). При обучении на малых наборах данных возникает проблема: векторы слов, которые есть в обучающей выборке, начинают «двигаться» (fine-tuning), подстраиваясь под задачу, а редкие слова остаются на месте.

Чтобы решить эту проблему, Юн Ким предложил использовать двухканальную архитектуру: один канал использует статичные векторы, а второй — те, что обновляются в процессе обучения. По утверждению Мэннинга, эта простая модель в свое время показала результаты на уровне лучших специализированных систем.


📉 Глубокие свертки и VD-CNN 33:13

В 2017 году группа исследователей (Conneau et al.) предложила архитектуру VD-CNN (Very Deep CNN), вдохновленную успехами VGGNet и ResNet в зрении. До этого в NLP стандартом были 2–3 слойные рекуррентные сети, тогда как в зрении слои исчислялись десятками.

Особенности VD-CNN:

Мэннинг отметил, что эта модель смогла достичь уровня state-of-the-art на больших датасетах (например, Yelp или Amazon reviews), работая с «сырым» сигналом символов без предварительных знаний о словах.


🌳 Древовидные рекурсивные сети (TreeRNNs) 42:33

Вторая часть лекции была посвящена TreeRNNs — направлению, которое активно развивалось в Стэнфордском университете под руководством самого Мэннинга с 2010 года. Лингвистической основой здесь служит идея Ноама Хомского о рекурсивной структуре языка.

Человеческий язык иерархичен: фразы вложены друг в друга (например, именная группа внутри предложной группы). Идея TreeRNN заключается в том, чтобы вычислять векторное представление предложения, следуя его синтаксическому дереву, а не просто читая слова слева направо.

Принцип композициональности

По словам профессора, смысл фразы должен определяться смыслами её частей и правилами их объединения. В простейшем случае два дочерних вектора ($c_1$ и $c_2$) объединяются через матрицу весов $W$ и функцию активации, формируя родительский узел. Этот процесс продолжается до корня дерева, давая финальное представление всего предложения.


🎭 RNTN и магия отрицания 54:32

Пиком развития этой ветки стала модель Recursive Neural Tensor Network (RNTN). Проблема обычных TreeRNN была в том, что одна матрица $W$ не могла адекватно описать разные типы взаимодействий: например, «красный мяч» (прилагательное + существительное) и «пнуть мяч» (глагол + дополнение) требуют разной логики объединения смыслов.

RNTN ввела тензорный слой, который позволил векторам слов буквально «взаимодействовать» друг с другом через умножение, что дало огромный прирост в анализе сложных конструкций.

Для обучения был создан Stanford Sentiment Treebank (SST) — база из 12 000 предложений, где каждое слово и каждая фраза в дереве были размечены людьми по 5-балльной шкале настроения. Это позволило модели научиться понимать нюансы, которые недоступны обычным «мешкам слов»:

Мэннинг подчеркнул, что даже современные трансформеры иногда справляются с логикой отрицания хуже, чем эти специализированные древовидные модели.


🏁 Почему TreeRNN проиграли трансформерам? 1:10:13

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

Тем не менее, Мэннинг выразил надежду на появление гибридных архитектур, которые объединят мощь трансформеров с глубоким пониманием структуры языка, заложенным в древовидных сетях.

💬 Цитаты

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

Кристофер Мэннинг 1:11:21

«Если вы хотите быть более позитивным человеком, реже используйте отрицание. Слово «не» само по себе статистически негативно.»

Кристофер Мэннинг 1:08:03
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Max Pooling
Операция выбора максимального значения из набора признаков, работающая как детектор наличия паттерна.
Fine-tuning
Процесс дообучения предобученной модели на специфических данных для конкретной задачи.
N-грамма
Последовательность из n элементов (слов или символов) в тексте.
Принцип композициональности
Теория о том, что значение сложного выражения определяется значениями его составных частей и способом их синтаксического соединения.
📊 Цифры
🗓 Хронология
  1. 2010 Начало работы Кристофера Мэннинга и его студентов над древовидными рекурсивными сетями.
  2. 2014 Публикация статьи Юн Кима о сверточных сетях для классификации предложений.
  3. 2017 Публикация работы Conneau et al. о глубоких сверточных сетях (VD-CNN) и выход первой статьи о трансформерах.
⚖️ Другая сторона
Искусственный интеллект ConvNets TreeRNNs Christopher Manning Stanford CS224N Sentiment Analysis