Эмбеддинг: как слово становится точкой в пространстве
Эмбеддинг это представление слова вектором, то есть набором из нескольких сотен чисел, при котором близкие по употреблению слова получают близкие векторы. Слово перестаёт быть значком и становится точкой в пространстве, и модель, видевшая «налил горячий чай», получает опору для «налил горячий кофе», даже если такой пары в текстах не было.
Эмбеддинг: представление слова вектором из нескольких сотен чисел, при котором близкие по употреблению слова получают близкие векторы.
Зачем это понадобилось
Модель, которая считает пары и тройки слов, знает только то, что встречала буквально. Для неё «горячий кофе» после «горячего чая» пустое место. Решение выглядит неожиданно, зато работает: каждому слову сопоставляют вектор. Сколько именно чисел брать, решают заранее, и это число одно на весь словарь.
Числа в векторе не назначают вручную. Их подбирают при обучении так, чтобы слова, встречающиеся в похожих окружениях, оказывались рядом. Именно это и даёт обобщение: выученное про одно слово переносится на его соседей по пространству.
Король, королева и что этот пример показывает
С эмбеддингами связан самый растиражированный факт области. Если из вектора слова «король» вычесть вектор «мужчина» и прибавить вектор «женщина», ближайшим окажется вектор слова «королева». Пример разошёлся по статьям и презентациям как доказательство того, что векторы поймали значение.
Показывает он меньше. Направление «мужчина минус женщина» в пространстве устойчиво, потому что эти слова устойчиво различаются по окружениям, и арифметика улавливает эту регулярность употребления. О понимании смысла отсюда ничего не следует: те же операции дают и бессмысленные результаты, о которых в презентациях не рассказывают.
Где ошибаются
Первая ошибка: думать, что эмбеддинг это словарная статья, записанная числами. Никаких признаков вроде «живое» или «съедобное» в векторе нет по построению, есть только близость по употреблению. Что именно кодирует каждое из трёхсот чисел, не знает никто.
Вторая ошибка: считать эмбеддинг слова окончательным. Смысл слова в предложении зависит от соседей, «ключ» у двери и «ключ» в лесу это одно слово с одним вектором. Обобщения на уровне слова мало, и следующий шаг, механизм внимания, как раз учитывает окружение при каждом употреблении.
Вопросы
- Чем эмбеддинг отличается от токена?
- Токен это единица текста, кусок слова или слово целиком, которому присвоен номер. Эмбеддинг это вектор чисел, сопоставленный этому номеру. Токен говорит «какой», эмбеддинг говорит «на что похож».
- Сколько чисел в эмбеддинге?
- От нескольких десятков до нескольких тысяч, в классических моделях слов около трёхсот. Размер выбирают заранее, он один для всех слов.
- Бывают ли эмбеддинги не для слов?
- Да, для предложений, документов, картинок, товаров в магазине. Принцип тот же: похожие объекты получают близкие векторы, и на этом строится поиск похожего и рекомендации.
Где это разобрано подробно
Понятие из урока 10 курса «Искусственный интеллект»: Предсказать следующее слово. О самом курсе, его программе и источниках рассказано на странице курса.