Вложения: перевод в пространство более низкой размерности

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

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

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

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

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

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

Вложение представляет каждый элемент в n -мерном пространстве с помощью n чисел с плавающей запятой (обычно в диапазоне от –1 до 1 или от 0 до 1). Например, вложение на рисунке 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. Добавление танъюаня к предыдущему изображению, с высоким содержанием «десертности» и «ликвидности» и низким уровнем «сэндвича».

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

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

Как вы видели на приведенных выше примерах продуктов питания, даже небольшое многомерное пространство дает свободу группировать семантически схожие предметы вместе и держать разнородные предметы далеко друг от друга. Положение (расстояние и направление) в векторном пространстве может кодировать семантику при хорошем встраивании. Например, следующие визуализации реальных вложений иллюстрируют геометрические отношения между словами, обозначающими страну и ее столицу. Вы можете видеть, что расстояние от «Канады» до «Оттавы» примерно такое же, как расстояние от «Турции» до «Анкары».

Рисунок 7. Три примера встраивания слов, которые представляют отношения слов геометрически: род (мужчина/женщина и король/королева примерно одинаковой длины), время глагола (шел/шел и плавал/плавал примерно одинаковой длины) и столицы (Турция/Анкара и Вьетнам/Ханой примерно одинаковой длины).
Рисунок 7 . Вложения могут привести к замечательным аналогиям.

Значимое пространство для внедрения помогает модели машинного обучения обнаруживать закономерности во время обучения.

Упражнение

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

Задача 1

Выполните следующие задания, а затем ответьте на вопрос ниже.

  1. Откройте инструмент «Внедрение проектора» .

  2. На правой панели введите слово атом в поле поиска . Затем щелкните слово атом в результатах ниже (менее 4 совпадений ). Ваш экран должен выглядеть так, как показано на рисунке 8.

    Рис. 8. Снимок экрана инструмента «Встраивание проектора»: в поле поиска введено слово «атом» (обведено красным). Визуализация в центре инструмента теперь помечает одну из точек словом «атом», а также добавляет словесные аннотации для соседних точек. В списке «Ближайшие точки» слова «атомы», «молекула» и «электроны» указаны как ближайшие слова в векторном пространстве к слову «атом».
    Рисунок 8 . Инструмент внедрения проектора со словом «атом», добавленным в поле поиска (обведено красным).
  3. Опять же, на правой панели нажмите кнопку «Изолировать 101 точку» (над полем «Поиск »), чтобы отобразить ближайшие 100 слов к атому . Ваш экран должен выглядеть так, как показано на рисунке 9.

    Рис. 9. Снимок экрана инструмента «Внедрение проектора» с нажатой кнопкой «Изолировать 101 точку» (кнопка обведена красным). Визуализация на рисунке 8 теперь обновлена ​​и отображает только слово «атом» и 100 ближайших слов в векторном пространстве, включая слова «атомы», «ядро» и «частица».
    Рисунок 9 . Инструмент внедрения проектора, теперь с нажатой кнопкой «Изолировать 101 точку» (обведено красным).

Теперь просмотрите слова, перечисленные в разделе «Ближайшие точки в исходном пространстве» . Как бы вы охарактеризовали эти слова?

Нажмите здесь, чтобы получить наш ответ

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

Задача 2

Выполните следующие задачи, а затем ответьте на вопрос ниже:

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

  2. На правой панели введите слово уран в поле поиска . Ваш экран должен выглядеть так, как показано на рисунке 10.

    Рис. 10. Снимок экрана инструмента «Встраивание проектора»: в поле поиска введено слово «уран». Визуализация в центре инструмента помечает одну из точек словом «уран», а также добавляет словесные аннотации для соседних точек. В списке «Ближайшие точки» слова «уголь», «изотоп», «никель», «оксид», «руда», «цинк» и «марганец» указаны как ближайшие слова в векторном пространстве к слову «уран». '.
    Рисунок 10 . Инструмент внедрения проектора, в поле поиска добавлено слово «уран».

Просмотрите слова, перечисленные в разделе «Ближайшие точки» в исходном пространстве . Чем эти слова отличаются от ближайших слов, обозначающих атом ?

Нажмите здесь, чтобы получить наш ответ

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

Задача 3

Выполните следующие задачи, а затем ответьте на вопрос ниже:

  1. Нажмите кнопку «Показать все данные» на правой панели, чтобы сбросить визуализацию данных из задачи 2.

  2. На правой панели введите слово «оранжевый» в поле «Поиск» . Ваш экран должен выглядеть так, как показано на рисунке 11.

    Рис. 11. Снимок экрана инструмента «Встраивание проектора»: в поле поиска введено слово «оранжевый». Визуализация в центре инструмента помечает одну из точек словом «оранжевый», а также добавляет словесные аннотации для соседних точек. В списке «Ближайшие точки» слова «желтый», «зеленый», «синий», «фиолетовый» и «цвета» указаны как ближайшие слова в векторном пространстве к «оранжевому».
    Рисунок 11 . Инструмент «Встраивание проектора» со словом «оранжевый», добавленным в поле поиска.

Просмотрите слова, перечисленные в разделе «Ближайшие точки» в исходном пространстве . Что вы заметили в типах слов, показанных здесь, и в типах слов, которые здесь не показаны?

Нажмите здесь, чтобы получить наш ответ

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

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