Вложения

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

Вложения

  • Исходные данные: 1 000 000 фильмов, которые выбрали для просмотра 500 000 пользователей.
  • Задача: Рекомендовать фильмы пользователям

Чтобы решить эту проблему, необходим какой-то метод, чтобы определить, какие фильмы похожи друг на друга.

Список фильмов, упорядоченный в одну строку слева направо. Начиная с левого: «Шрек», «Суперсемейка», «Тройняшки из Бельвиля», «Гарри Поттер», «Звездные войны», «Синий», «Возрождение Темного рыцаря» и «Помни».

Тот же список фильмов на предыдущем слайде, но в двух измерениях, например, «Шрек» находится слева и выше от «Суперсемейки».

Аналогичен предыдущей диаграмме, но с осью и метками для каждого квадранта. Расположение фильмов следующее: в первом, верхнем правом квадранте находятся блокбастеры для взрослых, содержащие «Звездные войны» и «Темный рыцарь. Квадрант блокбастеров для взрослых. Второй нижний правый квадрант — это артхаус для взрослых, содержащий фильмы «Bleu» и «Memento», а «Waking Life» добавлен в квадрант «артхаус для взрослых». Третий, нижний левый квадрант - Детский артхаус, в нем есть фильм «Тройняшки из Бельвиля», а «Уоллес и Громит» добавлены в квадрант Детского артхауса. Четвертый и последний квадрант в левом верхнем углу — это «Детские блокбастеры», содержащие «Шрека», «Суперсемейку» и «Гарри Поттера», а фильм «Школа рока» добавлен в квадрант «Детские блокбастеры».

Та же аранжировка, что и на последнем слайде. «Шрек» и «Блю» выделены как примеры их координат в плоскости вложения 2d.

  • Предполагается, что интерес пользователей к фильмам можно грубо объяснить d аспектами.
  • Каждый фильм становится d-мерной точкой, где значение в измерении d показывает, насколько фильм соответствует этому аспекту.
  • Вложения можно узнать из данных
  • Нет необходимости в отдельном процессе обучения — слой внедрения — это просто скрытый слой с одной единицей измерения в каждом измерении.
  • Контролируемая информация (например, пользователи смотрели одни и те же два фильма) адаптирует изученные вложения для желаемой задачи.
  • Интуитивно скрытые единицы обнаруживают, как организовать элементы в d-мерном пространстве таким образом, чтобы наилучшим образом оптимизировать конечную цель.
  • Каждый пример (строка в этой матрице) представляет собой разреженный вектор функций (фильмов), которые смотрел пользователь.
  • Плотное представление этого примера как: (0, 1, 0, 1, 0, 0, 0, 1)

Неэффективен с точки зрения пространства и времени.

Таблица, в которой каждый заголовок столбца представляет собой фильм, а каждая строка представляет пользователя и фильмы, которые он смотрел.
  • Создайте словарь, сопоставляющий каждую функцию с целым числом от 0, ..., # фильмов - 1
  • Эффективно представляйте разреженный вектор только как просмотренные пользователем фильмы. Это может быть представлено как: Основываясь на положении столбца фильмов в разреженном векторе, показанном справа, фильмы «Тройняшки из Бельвиля», «Уоллес и Громит» и «Помни» могут быть эффективно представлены как (0,1, 999999)
Разреженный вектор, представленный в виде таблицы, в которой каждый столбец представляет фильм, а каждая строка представляет пользователя. Таблица содержит фильмы из предыдущих диаграмм и пронумерована от 1 до 999999. Каждая ячейка таблицы проверяется, смотрел ли пользователь фильм.

Задача регрессии для прогнозирования цен продажи жилья:

Схема глубокой нейронной сети, используемой для прогнозирования цен при продаже дома.

Задача регрессии для прогнозирования цен продажи жилья:

Схема глубокой нейронной сети, используемой для прогнозирования цен при продаже дома (выделено разреженное векторное кодирование)

Задача регрессии для прогнозирования цен продажи жилья:

Диаграмма глубокой нейронной сети, используемой для прогнозирования цен при продаже дома (выделен скрытый трехмерный слой встраивания)

Задача регрессии для прогнозирования цен продажи жилья:

Диаграмма глубокой нейронной сети, используемой для прогнозирования цен при продаже дома (выделены дополнительные функции ввода широты и долготы)

Задача регрессии для прогнозирования цен продажи жилья:

Диаграмма глубокой нейронной сети, используемой для прогнозирования цен при продаже дома (выделены входные функции, поступающие в несколько скрытых слоев)

Задача регрессии для прогнозирования цен продажи жилья:

Диаграмма глубокой нейронной сети, используемой для прогнозирования цен при продаже дома (выделены выходные данные глубокой нейронной сети)

Мультиклассовая классификация для предсказания рукописной цифры:

Схема глубокой нейронной сети, используемой для предсказания рукописных цифр

Мультиклассовая классификация для предсказания рукописной цифры:

Схема глубокой нейронной сети, используемой для предсказания рукописных цифр (выделено входное разреженное векторное кодирование)

Мультиклассовая классификация для предсказания рукописной цифры:

Схема глубокой нейронной сети, используемой для предсказания рукописных цифр (выделены другие функции)

Мультиклассовая классификация для предсказания рукописной цифры:

Схема глубокой нейронной сети, используемой для предсказания рукописных цифр (выделено трехмерное встраивание)

Мультиклассовая классификация для предсказания рукописной цифры:

Схема глубокой нейронной сети, используемой для предсказания рукописных цифр (выделены скрытые слои)

Мультиклассовая классификация для предсказания рукописной цифры:

Схема глубокой нейронной сети, используемой для предсказания рукописных цифр (выделен логит-слой)

Мультиклассовая классификация для предсказания рукописной цифры:

Схема глубокой нейронной сети, используемой для предсказания рукописных цифр (выделен слой целевого класса)

Совместная фильтрация для прогнозирования рекомендуемых фильмов:

Схема глубокой нейронной сети, используемой для прогнозирования того, какие фильмы рекомендовать

Совместная фильтрация для прогнозирования рекомендуемых фильмов:

Схема глубокой нейронной сети, используемой для прогнозирования рекомендуемых фильмов (выделен слой целевого класса)

Совместная фильтрация для прогнозирования рекомендуемых фильмов:

Схема глубокой нейронной сети, используемой для прогнозирования рекомендуемых фильмов (выделено разреженное векторное кодирование)

Совместная фильтрация для прогнозирования рекомендуемых фильмов:

Схема глубокой нейронной сети, используемой для прогнозирования рекомендуемых фильмов (выделено трехмерное встраивание)

Совместная фильтрация для прогнозирования рекомендуемых фильмов:

Схема глубокой нейронной сети, используемой для прогнозирования рекомендуемых фильмов (выделены другие функции)

Совместная фильтрация для прогнозирования рекомендуемых фильмов:

Схема глубокой нейронной сети, используемой для прогнозирования рекомендуемых фильмов (выделены скрытые слои)

Совместная фильтрация для прогнозирования рекомендуемых фильмов:

Схема глубокой нейронной сети, используемой для прогнозирования рекомендуемых фильмов (выделен логит-слой)

Глубокая сеть

  • Каждая из скрытых единиц соответствует измерению (скрытая функция)
  • Веса краев между фильмом и скрытым слоем являются значениями координат.
  • Древовидная диаграмма глубокой нейронной сети с узлами на самом нижнем уровне, соединенными с тремя точками на следующем более высоком уровне.

Геометрический вид встраивания одного фильма

Точка в трехмерном пространстве, соответствующая узлу нижнего слоя на диаграмме глубокой нейронной сети.
  • Вложения более высокой размерности могут более точно представлять отношения между входными значениями.
  • Но большее количество измерений увеличивает вероятность переобучения и приводит к более медленному обучению.
  • Эмпирическое практическое правило (хорошая отправная точка, но его следует настроить с использованием данных проверки):
  • $$ dimensions \approx \sqrt[4]{possible\;values} $$
  • Вложения отображают элементы (например, фильмы, текст и т. д.) в низкоразмерные реальные векторы таким образом, что похожие элементы находятся близко друг к другу.
  • Вложения также можно применять к плотным данным (например, аудио) для создания значимой метрики сходства.
  • Совместное встраивание различных типов данных (например, текст, изображения, аудио и т. д.) определяет сходство между ними.