Embedding

Материал из Systems analysis wiki
Перейти к навигации Перейти к поиску

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

Определение и концепция

Формально, эмбеддинг — это функция отображения f:Xd, где X — исходное пространство объектов (например, словарь слов), а d — многомерное векторное пространство (пространство эмбеддингов) с размерностью d. Размерность d значительно меньше, чем размерность исходного пространства, что делает эти представления плотными (dense).

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

Основные принципы эмбеддингов

  • Фиксированная размерность: Все объекты отображаются в векторы одинаковой длины, независимо от размера исходных данных (например, длины предложения).
  • Семантическая близость: Расстояние между векторами (часто измеряемое через косинусное сходство) отражает семантическую близость исходных объектов.
  • Поддержка математических операций: Векторы сохраняют семантические отношения, что позволяет производить над ними алгебраические операции. Классический пример: вектор(«король»)вектор(«мужчина»)+вектор(«женщина»)вектор(«королева»).

История и развитие

Ранние подходы (1980–2000-е)

Первые идеи векторных представлений появились в 1980-х годах в рамках исследований нейронных сетей. Ранние методы основывались на статистическом анализе совместной встречаемости слов.

Эпоха Word2Vec (2013)

Революционным моментом стала разработка Word2Vec командой Google под руководством Томаша Миколова в 2013 году. Word2Vec предложил две эффективные и вычислительно недорогие архитектуры для обучения эмбеддингов слов:

  • CBOW (Continuous Bag of Words): Предсказывает центральное слово на основе окружающего его контекста.
  • Skip-gram: Предсказывает контекстные слова по центральному слову.

Word2Vec стал первой популярной реализацией векторных представлений, во многом благодаря открытому исходному коду и высокой скорости работы.

Развитие альтернативных подходов

После Word2Vec появились и другие значимые модели статических эмбеддингов:

  • GloVe (2014): Модель, разработанная в Стэнфордском университете, которая использует глобальную статистику совместной встречаемости слов для обучения векторов.
  • FastText (2015): Модель от Facebook, которая учитывает морфологию слов, представляя каждое слово как сумму векторов его n-грамм символов. Это позволяет создавать эмбеддинги даже для слов, которых не было в обучающем словаре (Out-of-Vocabulary слова).

Эра трансформеров и контекстуальных эмбеддингов (2018–н.в.)

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

Типы эмбеддингов

По уровню представления

  • Эмбеддинги слов: Базовый тип, где каждое слово представляется отдельным вектором (Word2Vec, GloVe).
  • Эмбеддинги предложений и документов: Представляют целые фразы, предложения или документы единым вектором (PV-DM, PV-DBOW).
  • Эмбеддинги пользователей и объектов: Используются в рекомендательных системах для представления интересов пользователей и характеристик товаров.

По контекстуальности

  • Статические эмбеддинги: Каждому слову присваивается один фиксированный вектор, независимо от контекста (Word2Vec, GloVe, FastText).
  • Контекстуальные эмбеддинги: Генерируют разные представления для одного и того же слова в зависимости от его окружения. Основные представители:
    • BERT: Двунаправленная модель на основе трансформеров.
    • ELMo: Двунаправленная LSTM-модель.
    • RoBERTa, DistilBERT, ALBERT: Улучшенные варианты BERT.

По модальности

  • Текстовые эмбеддинги: Наиболее распространенный тип, включающий представления слов, предложений и документов.
  • Визуальные эмбеддинги: Представления изображений для задач компьютерного зрения.
  • Мультимодальные эмбеддинги: Объединяют различные типы данных (текст, изображения, аудио) в единое векторное пространство. Примером служит ImageBind, способная связывать данные из шести модальностей.

Архитектуры и методы обучения

Классические методы

  • One-hot кодирование: Простейший метод, где каждое слово кодируется вектором размера словаря с единицей в соответствующей позиции. Недостатки: высокая разреженность и отсутствие семантической информации.
  • Матричная факторизация: Методы снижения размерности (например, LSA), применяемые к матрицам совместного появления слов.

Нейросетевые архитектуры

  • Мелкие нейронные сети: Архитектуры CBOW и Skip-gram в Word2Vec используют двухслойные нейронные сети для эффективного обучения.
  • Трансформеры: Архитектура, которая революционизировала область благодаря механизму внимания (attention).

Современные подходы

  • Самообучение с масками: BERT использует задачу предсказания замаскированных слов для обучения контекстуальных представлений.
  • Контрастивное обучение: Методы, которые максимизируют сходство семантически близких (положительных) пар и минимизируют сходство далеких (отрицательных) пар.

Применения эмбеддингов

Эмбеддинги находят широкое применение в различных областях:

Обработка естественного языка

  • Поиск и информационный поиск: Улучшение качества семантического поиска, позволяя находить документы по смыслу, а не по ключевым словам.
  • Классификация текстов: Векторные представления служат входными данными для классификаторов, повышая их точность.
  • Анализ тональности: Определение эмоциональной окраски текстов с учетом контекста.
  • Машинный перевод: Улучшение понимания семантики исходного и целевого языков.

Рекомендательные системы

Эмбеддинги пользователей и товаров лежат в основе систем персонализированных рекомендаций, включая:

  • Коллаборативная фильтрация: на основе эмбеддингов пользовательского поведения.
  • Контентная фильтрация: с использованием эмбеддингов характеристик товаров.

Компьютерное зрение

  • Классификация и поиск изображений: Сверточные нейронные сети и Vision Transformers создают эмбеддинги изображений для их классификации и поиска визуально похожих.

Биоинформатика и медицина

  • Анализ медицинских данных: Анализ клинических записей и диагностики заболеваний.
  • Молекулярные представления: Создание эмбеддингов для предсказания свойств химических соединений.

Технические аспекты и оптимизация

  • Методы оптимизации размерности: Matryoshka Representation Learning (MRL) — инновационный подход, позволяющий получать эмбеддинги разной размерности из одной модели, концентрируя важную информацию в начале вектора.
  • Квантизация эмбеддингов: Снижение точности представления чисел (например, до 8 или 4 бит) для ускорения вычислений и экономии памяти.
  • Интеграция с базами данных: Современные векторные базы данных (например, Milvus, Pinecone) и расширения для традиционных СУБД (например, pgvector для PostgreSQL) позволяют эффективно хранить и искать эмбеддинги.

Ссылки

Литература

  • Mikolov, T. et al. (2013). Efficient Estimation of Word Representations in Vector Space. arXiv:1301.3781.
  • Mikolov, T. et al. (2013). Distributed Representations of Words and Phrases and their Compositionality. arXiv:1310.4546.
  • Pennington, J.; Socher, R.; Manning, C. (2014). GloVe: Global Vectors for Word Representation. PDF.
  • Bojanowski, P. et al. (2017). Enriching Word Vectors with Subword Information. arXiv:1607.04606.
  • Joulin, A. et al. (2017). Bag of Tricks for Efficient Text Classification. arXiv:1607.01759.
  • Peters, M. E. et al. (2018). Deep Contextualized Word Representations. ACL Anthology.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  • Reimers, N.; Gurevych, I. (2019). Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. arXiv:1908.10084.
  • Kusupati, A. et al. (2022). Matryoshka Representation Learning. arXiv:2205.13147.
  • Radford, A. et al. (2021). Learning Transferable Visual Models From Natural Language Supervision. PMLR 139.
  • Girdhar, R. et al. (2023). ImageBind: One Embedding Space To Bind Them All. CVPR 2023.