исследования 1 мин

Как word2vec учится понимать слова: теория наконец разгадана

Исследователи из Berkeley AI Research впервые создали полную математическую теорию обучения word2vec — алгоритма, предшествовавшего современным языковым моделям. Оказалось, что word2vec учит концепты последовательно, одну за другой, а финальные представления слов можно получить простым методом главных компонент (PCA). Эта теория объясняет, почему embeddings слов обладают линейной структурой и позволяют решать аналогии типа «король — королева».

Это первая полная математическая теория обучения word2vec — предшественника всех современных языковых моделей. Она объясняет, почему embeddings обладают линейной структурой (что используется для интерпретации и управления LLM), и даёт инструмент для предсказания выученных концептов.

Простой алгоритм, сложный вопрос

word2vec — это алгоритм, который превращает слова в числовые векторы так, чтобы семантически близкие слова оказывались рядом в многомерном пространстве. Он был создан задолго до ChatGPT и других современных языковых моделей, но до сих пор оставался загадкой: как именно он учится?

Исследователи из Berkeley AI Research наконец дали полный математический ответ. Их работа показывает, что при определённых условиях обучение word2vec сводится к простой задаче матричной факторизации методом наименьших квадратов.

Обучение по шагам

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

Каждый новый концепт — это ортогональное линейное подпространство. Это объясняет знаменитое свойство word2vec: возможность решать аналогии через сложение векторов («король — мужчина + женщина = королева»).

Формула и результат

Авторы вывели формулу целевой матрицы M*, которая зависит только от статистики корпуса текста. word2vec по сути выполняет PCA (метод главных компонент) этой матрицы. Главные компоненты — это и есть выученные концепты.

Теория точно предсказывает динамику обучения: ступенчатое снижение функции потерь, последовательное увеличение ранга матрицы embeddings, интерпретируемые направления в латентном пространстве.

Почему это важно

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

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

  • word2vec учится последовательно: сначала один концепт, потом другой, каждый — как ортогональное подпространство
  • Финальные embeddings можно получить через PCA целевой матрицы, которая вычисляется из статистики корпуса
  • Линейная структура представлений (позволяющая решать аналогии) — не случайность, а прямое следствие алгоритма обучения
  • Каждый «шаг обучения» увеличивает ранг матрицы embeddings на 1 и соответствует одной интерпретируемой теме
  • Теория word2vec — фундамент для понимания feature learning в современных языковых моделях
word2vecembeddingsfeature learningrepresentation learningтеория машинного обучения

Автор: Сергей Ефимов · Источник: bair.berkeley.edu

Мнение редакции

Вот это действительно фундаментальная работа. word2vec появился больше десяти лет назад, все его используют (или использовали), но *как* он работает математически — никто толком не понимал. Теперь понимаем: это по сути PCA с изюминкой. И вот что круто: те же самые линейные представления, которые позволяют word2vec решать аналогии, есть и в GPT-4. Только там всё гораздо сложнее, а понять их мы пытаемся теми же методами — ищем линейные направления в латентном пространстве, которые кодируют концепты.

Второй момент: это редкий случай, когда теория не просто что-то «объясняет постфактум», а даёт точные предсказания и формулы. Можно взять Wikipedia, посчитать статистику слов, построить эту матрицу M* и *заранее* знать, какие концепты выучит модель. Для понимания feature learning в нейросетях — это золото.

Комментарии