Статьи · arXiv 1301.3781
Efficient Estimation of Word Representations in Vector Space
Кратко в трёх строках
- 🎯 Предыдущие нейросетевые языковые модели были вычислительно слишком тяжелыми для обучения многомерных представлений слов на корпусах из миллиардов токенов.
- 🔧 Представлены две лог-линейные архитектуры без нелинейных скрытых слоев: Continuous Bag-of-Words (предсказание центрального слова по контексту) и Continuous Skip-gram (предсказание контекста по центральному слову), оптимизируемые с помощью hierarchical softmax.
- 📈 Обученная на 6 миллиардах токенов с размерностью 1000 через DistBelief, модель Skip-gram достигла общей точности 65,6% на новом бенчмарке семантико-синтаксических аналогий из 19 544 вопросов, превзойдя сложные нейросети при многократно меньших затратах вычислений.
Аннотация
Мы предлагаем две новые архитектуры моделей для вычисления непрерывных векторных представлений слов на основе очень больших наборов данных. Качество этих представлений оценивается в задаче семантической близости слов, а результаты сравниваются с ранее лидировавшими методами на базе различных типов нейронных сетей. Мы наблюдаем существенное повышение точности при гораздо меньших вычислительных затратах: так, обучение высококачественных векторов слов на датасете из 1,6 млрд слов занимает менее суток. Кроме того, мы показываем, что эти векторы обеспечивают state-of-the-art качество на нашем тестовом наборе для измерения синтаксической и семантической близости слов.
Оригинальная аннотация (англ.)
We propose two novel model architectures for computing continuous vector representations of words from very large data sets. The quality of these representations is measured in a word similarity task, and the results are compared to the previously best performing techniques based on different types of neural networks. We observe large improvements in accuracy at much lower computational cost, i.e. it takes less than a day to learn high quality word vectors from a 1.6 billion words data set. Furthermore, we show that these vectors provide state-of-the-art performance on our test set for measuring syntactic and semantic word similarities.
Разбор статьи
Проблема и мотивация
Традиционные системы NLP представляли слова в виде дискретных атомарных индексов, теряя присущие языку семантические и синтаксические взаимосвязи. Хотя распределенные представления слов, полученные с помощью нейросетевых языковых моделей (NNLM) или рекуррентных нейросетевых языковых моделей (RNNLM), существенно превосходили n-граммы, их вычислительная сложность препятствовала масштабированию. Предыдущие архитектуры редко обучались более чем на нескольких сотнях миллионов слов и обычно ограничивались размерностями векторов от до .
В полносвязных моделях NNLM вычислительным узким местом являлись плотный нелинейный скрытый слой () и ненормализованный выходной слой словаря (). Цель данной работы — устранить узкое место в виде нелинейного скрытого слоя, позволив моделям масштабироваться до миллиардов токенов и словарей из миллионов слов, сохраняя при этом тонкие линейные взаимосвязи (например, ).
Ключевые идеи
- Устранение нелинейностей скрытого слоя: Отказ от нелинейных функций активации кардинально снижает сложность обучения, позволяя масштабировать как размер корпуса, так и размерность эмбеддингов.
- Continuous Bag-of-Words (CBOW): Лог-линейный классификатор, предсказывающий целевое центральное слово по окружающим его словам контекста (как предшествующим, так и последующим). Векторы контекста усредняются в общем проекционном слое.
- Continuous Skip-gram: Лог-линейный классификатор, предсказывающий слова контекста в пределах окна исключительно по текущему центральному слову, при этом более удаленные слова сэмплируются реже.
- Hierarchical Softmax с кодированием Хаффмана: Вычислительная сложность нормализации softmax снижается с до приблизительно (или за счет деревьев Хаффмана, которые присваивают более короткие коды частым словам).
- Бенчмарк для оценки аналогий: Новый тестовый набор из 19 544 вопросов, оценивающий синтаксические (например, сравнительная степень, прошедшее время) и семантические (например, столица — страна, валюта) языковые закономерности с использованием векторной арифметики и косинусного расстояния.
Метод (с ключевыми формулами)
Вычислительная сложность обучения определяется как количество обращений к параметрам за эпох при объеме обучающей выборки в слов и стоимости обработки одного примера :
Базовая модель Feedforward NNLM
Для контекста длины , размерности эмбеддингов , числа скрытых нейронов и размера словаря : При использовании hierarchical softmax затраты на выходном слое снижаются до , оставляя главным узким местом.
Базовая модель Recurrent Neural Net Language Model (RNNLM)
Когда размерность скрытого состояния равна размерности эмбеддинга : С hierarchical softmax член выходного слоя сокращается до , оставляя доминирующей операцию рекуррентного перехода .
Continuous Bag-of-Words (CBOW)
CBOW заменяет скрытый слой операцией усреднения в проекционном слое по словам контекста (обычно 4 предыдущих и 4 последующих слова):
Continuous Skip-gram
Skip-gram принимает центральное слово и предсказывает контекстные слова на максимальном расстоянии (в экспериментах ). Для каждого слова смещение выбирается равномерно, предсказывая слов до и после него:
Поиск аналогий
На вопросы вида « относится к , как к » ответ находится путем поиска вектора в словаре, максимизирующего:
Результаты (с ключевыми метриками)
- Качество на бенчмарке аналогий (640-D, 320 млн слов):
- RNNLM: 9% семантические, 36% синтаксические.
- NNLM: 23% семантические, 53% синтаксические.
- CBOW: 24% семантические, 64% синтаксические.
- Skip-gram: 55% семантические, 59% синтаксические.
- Масштабирование на Google News 6 млрд токенов (распределенное обучение DistBelief):
- NNLM (-D): 34,2% семантические, 64,5% синтаксические, 50,8% суммарно (потребовалось CPU-core дней).
- CBOW (-D): 57,3% семантические, 68,9% синтаксические, 63,7% суммарно (потребовалось CPU-core дней).
- Skip-gram (-D): 66,1% семантические, 65,1% синтаксические, 65,6% суммарно (потребовалось CPU-core дней).
- Microsoft Sentence Completion Challenge: Skip-gram самостоятельно показал точность 48,0%; в ансамбле с RNNLM он установил новый state-of-the-art уровень с результатом 58,9%.
- Соотношение эпох и объема данных: Обучение в течение 1 эпохи на удвоенном объеме данных дало результаты, сравнимые с обучением за 3 эпохи на меньшем объеме данных (или превосходящие их), при меньшем астрономическом времени обучения.
Ограничения и открытые вопросы
- Метрика строгого совпадения (Exact Match): Бенчмарк считает синонимы ошибками (например, вывод эквивалентного города или формы множественного числа), что устанавливает искусственный потолок точности ниже 100%.
- Отсутствие учета субсловной морфологии: Слова воспринимаются как неделимые токены; модель не использует информацию о морфемах или символах, что ограничивает ее синтаксическое обобщение на редких или флективных словах.
- Многословные фразы: Модель обрабатывает только изолированные слова-токены и изначально не поддерживает многословные выражения (например, «New York»).
- Качество в задаче Sentence Completion: Сам по себе Skip-gram набрал 48,0%, что уступает средней близости по LSA (49,0%) в бенчмарке Microsoft Sentence Completion, требуя объединения с моделями RNNLM для достижения сильных результатов.
Ключевые термины
- Continuous Bag-of-Words Model
- Лог-линейная нейросетевая архитектура (CBOW), предсказывающая целевое центральное слово на основе непрерывного усреднения векторов контекстных слов до и после него без скрытого слоя.
- Continuous Skip-gram Model
- Лог-линейная модель, использующая вектор целевого слова для предсказания окружающих слов контекста в пределах динамически сэмплируемого окна.
- Hierarchical Softmax
- Приближение выходного слоя, структурирующее словарь в виде бинарного дерева (например, дерева Хаффмана), сокращающее сложность вычислений с до приблизительно .
- Semantic-Syntactic Word Relationship test set
- Бенчмарк из 19 544 вопросов на аналогии (8 869 семантических и 10 675 синтаксических), созданный для оценки сдвигов векторов с помощью косинусного сходства.
- DistBelief
- Фреймворк для распределенных вычислений от Google, использовавшийся для обучения нейросетевых архитектур на сотнях ядер CPU с помощью асинхронных градиентных обновлений.
- Word offset technique
- Простая векторная арифметика (например, ), применяемая для поиска аналогичных слов через поиск ближайших соседей по косинусной мере.
- Huffman binary tree
- Частотное бинарное дерево для кодирования словаря в hierarchical softmax, назначающее более короткие пути частым словам для минимизации вычислительных затрат.
Вопросы
В чем главное архитектурное отличие NNLM от CBOW?
CBOW полностью исключает нелинейный скрытый слой и просто усредняет непрерывные представления слов контекста в общем проекционном слое, ликвидируя узкое место по вычислениям .
Как Continuous Skip-gram обрабатывает контекстные слова на разных расстояниях?
Skip-gram рассматривает слова контекста до максимального расстояния (обычно 10), но сэмплирует далекие слова реже, случайно выбирая размер окна для каждого обучающего слова.
Какая модель справляется лучше: на семантических или на синтаксических задачах?
CBOW показывает более высокую точность на синтаксических аналогиях (64% против 59% при размерности 640), в то время как Skip-gram значительно превосходит ее на семантических аналогиях (55% против 24% при размерности 640).
Что эффективнее: обучать несколько эпох или использовать больше данных за меньшее число эпох?
Авторы показывают, что обучение в течение одной эпохи на вдвое большем объеме данных обеспечивает аналогичное или даже более высокое качество представлений по сравнению с тремя эпохами на меньшем датасете, выполняясь при этом быстрее.
Обзор на этой странице написан ИИ по тексту статьи и может содержать ошибки. Подробности смотрите в самой статье.