📖 Теория: NLP и трансформеры

← К оглавлению урока

⚡ Суть

  • NLP: правила → статистика (n-граммы) → глубокое обучение (RNN/CNN) → трансформеры.
  • RNN последовательны (теряют дальний контекст), CNN локальны, трансформеры видят весь текст сразу.
  • Сердце трансформера — механизм внимания + позиционные эмбеддинги.

Что такое NLP

NLP (Natural Language Processing, обработка естественного языка) — область искусственного интеллекта, которая занимается взаимодействием между компьютерами и людьми на естественном языке: понимание, генерация, перевод, анализ текста.

История и эволюция NLP

Ранние этапы (1950–1980-е): правила

Системы программировались вручную по заранее заданным наборам правил и словарей. Классический пример — программа ELIZA (Джозеф Вейценбаум, 1966): она подбирала ответы по шаблонам, не понимая смысла. К этому же периоду относится тест Тьюринга — мысленный эксперимент о неотличимости машины от человека в диалоге.

Статистические методы (1990-е): n-граммы

Переход от жёстких правил к вероятностным моделям. Модель n-грамм разбивает текст на последовательности из n слов, считает частоты и предсказывает наиболее вероятное следующее слово.

# Идея n-граммной вероятности фразы (упрощённо)
P("I want to eat chinese food")
  = P(want|I) · P(to|want) · P(eat|to) · P(chinese|eat) · P(food|chinese)
  ≈ 0.33 · 0.66 · 0.28 · 0.021 · 0.52  ≈ 0.00066

Применение: ранние системы перевода (IBM Watson), автозамена и подсказки. Ограничения: плохо работают с длинным контекстом, опираются только на локальные зависимости.

Эра глубокого обучения (2010-е — наст. время)

Рост вычислительных мощностей и больших данных позволил обучать нейросети: появились RNN и эмбеддинги слов (word2vec).

RNN — рекуррентные нейронные сети

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

⚠️ Проблемы RNN: затухание градиентов — на длинных последовательностях сеть «забывает» начало текста; медленное обучение из-за последовательной природы.

CNN — свёрточные нейронные сети

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

Архитектура трансформеров

Трансформеры (2017) — прорыв в NLP. Главное отличие от RNN: текст обрабатывается параллельно, а не по одному слову.

Механизм внимания (attention)

Ключевая идея: модель фокусируется на самых важных частях текста и игнорирует менее значимые.

Пример. В предложении «Собака, которая лаяла всю ночь, разбудила соседей» — чтобы понять, кто разбудил соседей, вы концентрируетесь на словах «Собака» и «разбудила», игнорируя «всю ночь». Так же работает attention.

Почему это важно: внимание анализирует весь текст сразу (а не по частям, как RNN) и учитывает контекст на любом расстоянии.

Позиционные эмбеддинги

Так как трансформер обрабатывает слова параллельно, он «не видит» их порядок напрямую. Позиционные эмбеддинги — числовые метки, добавляемые к каждому слову, чтобы указать его позицию.

Предложение: "Кот любит рыбу."
"Кот"  → эмбеддинг + позиция 1
"любит"→ эмбеддинг + позиция 2
"рыбу" → эмбеддинг + позиция 3

Сравнение: RNN / CNN / Трансформеры

ХарактеристикаRNNCNNТрансформеры
КонтекстПоследовательно, теряют дальние связиЛокальные шаблоныВесь контекст сразу, связи на любом расстоянии
СкоростьМедленные (по слову)Быстрее RNNОчень быстрые (полный параллелизм)
Длинные текстыТеряют информациюНеэффективныОтлично справляются
ПрименениеГенерация, анализ последовательностейКлассификация, тональностьПеревод, генерация, извлечение информации

Ключевые модели

  • BERT — для анализа текста (понимание), извлечения ключевых слов.
  • GPT — для генерации текста, написания кода, диалога (ChatGPT в поддержке клиентов).
Итог. Современные LLM выросли из трансформеров. Благодаря вниманию и позиционным эмбеддингам они превзошли RNN и CNN и сделали возможными интеллектуальные системы в медицине, финансах, образовании.