Векторные эмбеддинги и математика сходства для начинающих
Понятное руководство о том, как ИИ представляет смысл в виде пространственных координат, как работает косинусное сходство и трюк Normalize-then-Dot.

Традиционные поисковые системы полностью полагались на точное совпадение букв. Если вы искали "автомобиль", система пропускала документы, содержащие только слово "машина".
Современные системы искусственного интеллекта решают эту проблему с помощью векторных эмбеддингов (Vector Embeddings). Вместо сравнения строк модели преобразуют текст в пространственные координаты, отражающие смысловое значение.
В этом руководстве мы разберем, как эмбеддинги представляют смысл в геометрическом пространстве, сравним математические метрики сходства и изучим оптимизацию, используемую векторными базами данных.
1. Что такое векторный эмбеддинг?
Модель эмбеддингов — это нейросеть, работающая как семантический переводчик. Она принимает входной текст и возвращает массив чисел с плавающей запятой фиксированной длины — вектор.
Input Text: "automobile" ---> Embedding Model ---> [0.024, -0.412, 0.891, ..., 0.105]
Input Text: "car" ---> Embedding Model ---> [0.021, -0.408, 0.887, ..., 0.112]Эти числа — координаты на многомерной карте. Поскольку "car" и "automobile" имеют одинаковый смысл, модель расположит их координаты рядом друг с другом.
2. Геометрия языка: Понимание размерности
Количество чисел в векторе определяет его размерность (например, 768 измерений в стандартных моделях или 1536 в более крупных).
Хотя человеку сложно представить 768-мерное пространство, математика работает аналогично 2D-векторам на бумаге:
- Каждый вектор начинается в начале координат
[0, 0, ... 0]. - Значения вектора указывают смещение вдоль каждой оси.
- Конец стрелки указывает на точку в семантическом пространстве.
2D Vector Space Visualization:
Y Axis (Concept: Technology)
^
| * "laptop" [2.1, 4.8]
| * "computer" [2.3, 4.5]
|
| * "banana" [4.9, 0.4]
+------------------------------------------------> X Axis (Concept: Food)Главное правило: Не пытайтесь изолировать одно измерение. Смысл распределен по всему шаблону всех измерений вместе.
3. Математические метрики: Измерение близости
Чтобы определить, совпадают ли смыслы двух текстов, компьютеры измеряют расстояние между векторными стрелками:
1. Длина вектора (Норма L2)
Измеряет длину стрелки от начала координат до её конца:
2. Скалярное произведение (Dot Product)
Перемножает соответствующие координаты двух векторов и суммирует их:
3. Евклидово расстояние (L2 Distance)
Измеряет расстояние по прямой между концами двух векторов:
4. Косинусное сходство (Cosine Similarity)
Измеряет угол между двумя векторами, полностью игнорируя их длину:
- Золотой стандарт для поиска текстов: Если короткий запрос из 3 слов и статья из 500 слов имеют одинаковый смысл, их векторы будут указывать в одном направлении ().
4. Инженерия в продакшене: Трюк "Normalize-Then-Dot"
Вычисление косинусного сходства требует деления, что загружает процессор при миллионах запросов в секунду.
Векторные базы данных (Pinecone, Milvus, pgvector) используют математический короткий путь:
Шаг 1: Нормализация при сохранении
При сохранении вектора система нормализует его длину до ():
Шаг 2: Упрощенный поиск
Если оба вектора имеют длину ( и ), знаменатель формулы становится равным :
Предварительная нормализация превращает косинусное сходство в обычное скалярное произведение. База данных избегает деления и выполняет поиск с максимальной скоростью при полной точности.