Вложения: пространство для встраивания и статические вложения.

Встраивание — это векторное представление данных в пространстве встраивания . Вообще говоря, модель находит потенциальные вложения путем проецирования многомерного пространства векторов исходных данных в пространство более низкой размерности. Обсуждение многомерных и низкоразмерных данных см. в модуле «Категорические данные» .

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

Тем не менее, ради человеческого понимания, чтобы дать представление о том, как векторы внедрения представляют информацию, рассмотрим следующее одномерное представление блюд: хот-дог , пицца , салат , шаурма и борщ по шкале от «наименее похоже на сэндвич » до «наиболее похоже на сэндвич». Единственное измерение — это воображаемая мера «сэндвичевости».

Рисунок 3. По оси многослойности, от меньшего к большему:     борщ, салат, пицца, хот-дог, шаурма.
Рисунок 3. Продукты питания в воображаемом измерении «сэндвич».

Где на этой линии упадет яблочный штрудель ? Пожалуй, его можно было бы поставить между hot dog и shawarma . Но яблочный штрудель, кажется, также имеет дополнительную сладость или десертность , что сильно отличает его от других вариантов. На следующем рисунке это показано путем добавления измерения «десертность»:

Рисунок 4. То же изображение, что и раньше, но с вертикальной осью.     десертность. Яблочный штрудель находится между хот-догом и шаурмой, но занимает первое место.     по горизонтальной оси, но выше по оси десертности.
Рисунок 4. Продукты питания, обозначенные как «сэндвич» и «десерт».

Вложение представляет каждый элемент в n- мерном пространстве с помощью n чисел с плавающей запятой (обычно в диапазоне от –1 до 1 или от 0 до 1). Вложение на рисунке 3 представляет каждый продукт питания в одномерном пространстве с одной координатой, а на рисунке 4 каждый продукт представлен в двумерном пространстве с двумя координатами. На рисунке 4 «яблочный штрудель» находится в правом верхнем квадранте графика и ему может быть присвоена точка (0,5, 0,3), тогда как «хот-дог» находится в правом нижнем квадранте графика и ему может быть присвоена точка (0,2, –0,5).

При вложении расстояние между любыми двумя элементами можно рассчитать математически и интерпретировать как меру относительного сходства между этими двумя элементами. Два предмета, которые близки друг к другу, например shawarma и hot dog на рисунке 4, более тесно связаны в представлении данных модели, чем два предмета, более отдаленные друг от друга, например apple strudel и borscht .

Обратите внимание также, что в 2D-пространстве на рисунке 4 apple strudel находится гораздо дальше от shawarma и hot dog , чем в 1D-пространстве, что соответствует интуиции: apple strudel не так похож на хот-дог или шаурму, как хот-доги и шаурма друг на друга.

Теперь рассмотрим борщ, который гораздо более жидкий, чем другие продукты. Это предполагает третье измерение — ликвидность или то, насколько жидкой может быть пища. Добавив это измерение, предметы можно будет визуализировать в 3D следующим образом:

Рисунок 5. То же изображение, что и раньше, но с третьей осью текучести.     ортогональна двум другим, и борщ далеко сдвинулся вдоль этой оси.
Рисунок 5. Продукты питания, представленные по категориям «сэндвич», «десертность» и «ликвидность».

Куда в этом трехмерном пространстве пойдет Танюань ? Это густой суп, как борщ, и сладкий десерт, как яблочный штрудель, и уж точно не бутерброд. Вот одно из возможных мест размещения:

Рисунок 6. То же изображение, что и раньше, но с танъюань, расположенным высоко.     десертность и текучесть и мало сэндвичей.
Рисунок 6. Добавление танъюаня к предыдущему изображению, с высоким содержанием «десертности» и «ликвидности» и низким уровнем «сэндвича».

Обратите внимание, сколько информации выражается в этих трех измерениях. Вы можете представить себе добавление дополнительных измерений, например, насколько мясистой или запеченной может быть еда, хотя 4D, 5D и пространства более высоких измерений трудно визуализировать.

Реальные пространства для встраивания

В реальном мире пространства вложения являются d -мерными, где d намного больше 3, хотя и ниже размерности данных, а отношения между точками данных не обязательно такие интуитивные, как на надуманной иллюстрации выше. (Для встраивания слов d часто равно 256, 512 или 1024. 1 )

На практике специалист по МО обычно задает конкретную задачу и количество измерений внедрения. Затем модель пытается расположить обучающие примеры так, чтобы они располагались близко друг к другу в пространстве внедрения с указанным количеством измерений, или настраивает количество измерений, если d не фиксировано. Отдельные аспекты редко бывают столь же понятными, как «десертность» или «ликвидность». Иногда можно догадаться, что они «означают», но это не всегда так.

Вложения обычно зависят от задачи и отличаются друг от друга, когда задача отличается. Например, внедрения, созданные моделью классификации вегетарианцев и невегетарианцев, будут отличаться от внедрений, созданных моделью, которая предлагает блюда в зависимости от времени дня или сезона. «Хлопья» и «сосиска для завтрака», вероятно, будут находиться близко друг к другу в пространстве внедрения модели времени суток, но далеко друг от друга в пространстве внедрения вегетарианской и невегетарианской модели, например.

Статические вложения

Хотя встраивания различаются от задачи к задаче, одна задача имеет общую применимость: предсказание контекста слова. Модели, обученные предсказывать контекст слова, предполагают, что слова, встречающиеся в схожих контекстах, семантически связаны. Например, данные обучения, включающие предложения «Они спустились на осле в Гранд-Каньон» и «Они спустились на лошади в каньон», позволяют предположить, что слово «лошадь» появляется в контексте, аналогичном слову «ослик». Оказывается, вложения, основанные на семантическом сходстве, хорошо работают для многих общих языковых задач.

Хотя это более старый пример и в значительной степени замененный другими моделями, модель word2vec остается полезной для иллюстрации. word2vec обучается на корпусе документов, чтобы получить одно глобальное встраивание для каждого слова. Когда каждое слово или точка данных имеет один вектор внедрения, это называется статическим внедрением . В следующем видео представлена ​​упрощенная иллюстрация обучения word2vec .

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


  1. Франсуа Шолле, Глубокое обучение с помощью Python (Шелтер-Айленд, Нью-Йорк: Мэннинг, 2017), 6.1.2.