Вложения: получение вложений

Есть несколько способов получить встраивание, включая современный алгоритм, созданный в Google.

Стандартные методы уменьшения размерности

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

Например, анализ основных компонентов (PCA) использовался для создания вложений слов. Учитывая набор экземпляров, таких как набор векторов слов, PCA пытается найти сильно коррелированные измерения, которые можно свернуть в одно измерение.

Word2vec

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

Гипотеза распределения утверждает, что слова, которые часто имеют одни и те же соседние слова, имеют тенденцию быть семантически похожими. И «собака», и «кошка» часто стоят рядом со словом «ветеринар», и этот факт отражает их семантическое сходство. Как выразился лингвист Джон Ферт в 1957 году: «Вы узнаете слово по компании, которую оно составляет».

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

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

Другая версия алгоритма создает отрицательные примеры, соединяя истинное целевое слово со случайно выбранными словами контекста. Таким образом, он может взять положительные примеры (the, plane), (flies, plane) и отрицательные примеры (complied, plane), (who, plane) и научиться определять, какие пары на самом деле встречаются в тексте вместе.

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

Для получения дополнительной информации о word2vec см. руководство на сайте tensorflow.org.

Обучение встраиванию как части большой модели

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

В общем, когда у вас есть разреженные данные (или плотные данные, которые вы хотели бы внедрить), вы можете создать единицу внедрения, которая представляет собой особый тип скрытой единицы размера d . Этот слой внедрения можно комбинировать с любыми другими объектами и скрытыми слоями. Как и в любой DNN, последним слоем будут оптимизируемые потери. Например, предположим, что мы выполняем совместную фильтрацию, цель которой состоит в том, чтобы предсказать интересы пользователя на основе интересов других пользователей. Мы можем смоделировать это как задачу контролируемого обучения, случайным образом отложив (или отложив) небольшое количество фильмов, просмотренных пользователем, в качестве положительных меток, а затем оптимизировав потери softmax.

Рисунок 5. Пример архитектуры DNN для обучения встраиванию фильмов на основе данных совместной фильтрации.

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

При обучении d -мерному вложению каждому элементу ставится в соответствие точка в d -мерном пространстве так, что в этом пространстве рядом находятся подобные элементы. Рисунок 6 помогает проиллюстрировать взаимосвязь между весами, полученными на уровне внедрения, и геометрическим представлением. Веса ребер между входным узлом и узлами в d -мерном слое встраивания соответствуют значениям координат для каждой из осей d .

Рисунок, иллюстрирующий взаимосвязь между весами слоев встраивания и геометрическим видом вложения.

Рис. 6. Геометрический вид весов встраиваемых слоев.