По словам профессора Педро Домингоса, система машинного обучения состоит из трех компонентов:

Машинное обучение = представление + оценка (цель) + оптимизация

Чтобы быть понятными из первых рук с помощью алгоритма ML, объекты в реальном мире нуждаются в правильном представлении. Но что имеется в виду под надлежащим представлением?

Начнем с визуальных сигналов. Изображения считаются естественным образом хорошо представленными в мире вычислений: числовое значение пикселей выражается в каналах RGB. Учитывая такие представления, модели распознавания образов (классификаторы) могут быть легко реализованы, как те, которые использовались в раннем соревновании «Кошка против собаки». В этой задаче наша цель — связать одни группы значений пикселей с меткой «Кошка», а другие — с меткой «Собака». В процессе мы оцениваем набор пикселей и выводим предсказанную метку. Если прогноз соответствует метке истинности основания, мы переходим к следующему набору. Если нет, мы оптимизируем модель прогнозирования, настраивая параметры модели в сторону более точного прогноза. В целом все классификаторы работают одинаково.

Задачи обработки естественного языка (NLP) немного сложнее, поскольку сам язык представляет более абстрактные концепции. Эмоции, ветер и т. д. невидимы для глаз, но в каждом языке есть слова, обозначающие их. Что еще хуже, иногда слова для одного и того же понятия выглядят совершенно по-разному.

Чтобы понять это, как в примере «Кошка VS Собака», существуют две кошки, у которых нет ничего общего, но они одна кошка (что).

Чтобы решить проблему репрезентации в НЛП, исследователи придумали идею Word2Vec, в которой слова представляются в виде векторов в векторном пространстве. Эти векторы также называются вложениями, которые изучаются с помощью конкретной задачи. В Word2Vec встраивание слов изучается путем обучения модели Skip-gram. Целевая функция показана ниже:

И выученные вложения слов будут выглядеть так:

Число размерности k является настраиваемым гиперпараметром, определенным нами. Если мы объединим векторы в матрицу k * 4, матрица будет выглядеть точно так же, как одноканальное изображение со значением пикселя! Хотя предложение более абстрактно, оно по-прежнему правильно представлено числовыми значениями, как изображения. При правильном встраивании мы можем выполнять такие задачи, как оценка тональности или обнаружение сарказма, как в примере «Кошка-собака».

Но у нас есть еще более абстрактные концепции для моделирования. Например, инцидент «Джесси купил стол у Amazon» можно представить в виде графика. На графике есть три узла, представляющие человека «Джесси», продукт «стол» и веб-сайт «Амазон». Ребра — это отношения или действия, существовавшие между узлами. Кроме того, под каждым узлом могут быть функции для описания их атрибутов.

Подобно Word2Vec, исследователи из Стэнфорда разработали метод Node2Vec. Основная идея снова состоит в том, чтобы встроить узлы в виде векторов. В Node2Vec мы группируем узлы, реализуя алгоритм случайного блуждания. Начиная с определенного узла S в графе, мы следуем стратегии обхода шагов представления K на графе. Если это чисто случайная стратегия, следующим узлом, на который мы наступим, может быть любой узел, соединяющийся с текущим узлом с равными шансами. А размер шага K — это настраиваемый гиперпараметр.

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

Видите сходство между рисунками 3 и 6? Точно! Методы создания осмысленных вложений для слов и узлов почти одинаковы. Учитывая реальный корпус или графики, когда мы пытаемся получить желаемые вложения, мы подбираем параметры для моделирования совместного распределения вероятностей.

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