KDD 19': нейронная сеть с гетерогенным графом

🤗 Вызов системы рекомендаций (28/50)

бумажная ссылка

Гитхаб: https://github.com/chuxuzhang/KDD2019_HetGNN

🤔 Какую проблему они решают?

Они хотели бы создать встраивание гетерогенного графа, состоящее из информации о структуре графа и информации о содержимом узла.

😮 Какие задачи?

Немногие из них могут совместно эффективно рассматривать разнородную структурную (графовую) информацию, а также разнородную информацию о содержании каждого узла.

  1. многие узлы не могли подключиться ко всем типам соседей
  2. Узел может нести неструктурированный контент
  3. Различные типы соседей по-разному влияют на встраивание узлов.

😎 Обзор моделей: HetGNN

Они предлагают модель гетерогенной графовой нейронной сети для решения этой проблемы.

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

Затем мы разрабатываем архитектуру нейронной сети с двумя модулями для агрегирования информации о функциях этих выбранных соседних узлов. Первый модуль кодирует «глубокие» взаимодействия функций разнородного контента и генерирует встраивание контента для каждого узла.

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

Наконец, мы используем потерю контекста графа и процедуру мини-пакетного градиентного спуска для сквозного обучения модели.

Выборка гетерогенных соседей (C1)

У большинства других моделей GNN есть некоторые проблемы:

  1. Они не могут собирать информацию об объектах от разных типов соседей.
  2. Кроме того, они ослаблены различными соседними размерами.
  3. Они не подходят для агрегирования разнородных соседей с разными характеристиками контента.

Они предлагают стратегию выборки гетерогенных соседей, основанную на случайном блуждании с перезапуском (RWR).

  1. RWR собирает все типы соседей для каждого узла
  2. выборочный размер соседа каждого узла фиксируется, и выбираются наиболее часто посещаемые соседи;
  3. соседи одного типа (имеющие одинаковые характеристики содержимого) группируются таким образом, чтобы можно было развертывать агрегацию на основе типов.

Кодирование гетерогенного содержимого (C2)

Для заданного узла у него есть соседи разного типа.

Вход: 1 соседний узел

выход: 1 вложение

Для каждого соседнего узла мы хотели бы получить его кодировку, но разные типы узлов имеют разное содержимое. Как мы собираем информацию вместе? Би-LSTM!

Мы можем применить предварительно обученную модель, чтобы внедрить каждую информацию и передать ее в Bi-LSTM (для регистрации глубоких взаимодействий), а затем Mean Pooling для ее агрегирования.

Обратите внимание, что Bi-LSTM работает с неупорядоченным набором содержимого.

Преимущества:

(1) он имеет краткую структуру с относительно низкой сложностью (меньше параметров), что делает реализацию и настройку модели относительно простой.

(2) он способен объединять информацию о разнородном содержании, что приводит к сильным возможностям выражения;

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

Объединение гетерогенных соседей (C3)

Как C1, учитывая 1 узел, у нас есть соседние узлы. Благодаря C2 каждый соседний узел может кодировать до 1 встраивания.

Но как нам объединить эти соседние узлы вместе?

Сгруппируйте по типу и для каждого типа запустите Bi-LSTM!

Агрегация соседей одного типа

После группировки соседних узлов в каждой группе у нас есть несколько узлов одного типа. Таким образом, мы можем запустить объединение однотипных соседей.

Мы используем Bi-LSTM для агрегирования вложений контента всех соседей t-типа и используем среднее значение по всем скрытым состояниям для представления общего агрегированного вложения.

Мы используем разные Bi-LSTM, чтобы различать разные типы узлов для агрегации соседей. Обратите внимание, что Bi-LSTM работает с неупорядоченным набором соседей, вдохновленным GraphSAGE.

Комбинация типов

Опять же, учитывая узел, у нас есть соседние узлы, и мы группируем их в несколько групп по типам. Итак, для каждого типа у нас есть 1 вложение.

Как агрегировать эти вложения? Слой внимания

Чтобы объединить эти встраивания соседей на основе типов с встраиванием содержимого v, мы используем механизм внимания.

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

Целевое и модельное обучение

Потеря контекста графа и градиентный спуск в мини-пакетах.

Они применяли отрицательную выборку (1 на 1) и, подобно DeepWalk, применяли случайное блуждание для получения отрицательных выборок.

Наконец, у нас есть вся эта картина.

🥴 Что еще в этой статье?

В этой статье они также обсуждают несколько экспериментов.

(RQ1) Как HetGNN работает по сравнению с современными базовыми показателями для различных задач интеллектуального анализа графов, таких как прогнозирование ссылок (RQ1–1), персонализированные рекомендации (RQ1–2), а также классификация узлов и кластеризация (RQ1–3). )?

Лучше

(RQ2) Как HetGNN работает по сравнению с современными базовыми показателями для задач индуктивного анализа графов, таких как индуктивная классификация узлов и кластеризация?

Лучше

(RQ3) Как различные компоненты, например, кодировщик гетерогенного содержимого узла или агрегатор гетерогенных соседей, влияют на производительность модели?

  • HetGNN в большинстве случаев имеет лучшую производительность, чем No-Neigh, демонстрируя, что агрегирование информации о соседях эффективно для создания лучших вложений узлов.
  • HetGNN превосходит Content-FC, указывая на то, что кодирование контента на основе Bi-LSTM лучше, чем «поверхностное» кодирование, такое как FC, для захвата «глубоких» взаимодействий с функциями контента.
  • HetGNN достигает лучших результатов, чем Type-FC, показывая, что самовнимание лучше, чем FC, для захвата влияния типа узла.

(RQ4) Как различные гиперпараметры, например, размер встраивания или размер выбранных разнородных соседей, влияют на производительность модели?

🙃 Другие похожие блоги:

KDD 19': Применение глубокого обучения к поиску Airbnb

KDD 17': Визуальный поиск на eBay

KDD 18': Персонализация в реальном времени с использованием встраивания для ранжирования в поиске на Airbnb

KDD 18': система управления громкостью уведомлений и оптимизации в Pinterest

KDD 19': PinText: многозадачная система встраивания текста в Pinterest

CVPR19 'Завершите образ: рекомендации по дополнительным продуктам на основе сцен

COLING’14: Глубокие сверточные нейронные сети для анализа тональности коротких текстов

NAACL'19: Использование BERT для анализа настроений на основе аспектов посредством построения вспомогательного предложения

НИПС’2017: Внимание — это все, что вам нужно (Трансформер)

KDD’19: изучение унифицированного встраивания для визуального поиска в Pinterest

Классификация BMVC19 — это надежная основа для глубокого обучения метрикам

KDD’18: сверточные нейронные сети графов для рекомендательных систем веб-масштаба

WWW’17: Visual Discovery на Pinterest

🤩 Конференция

ICCV: Международная конференция по компьютерному зрению

http://iccv2019.thecvf.com/submission/timeline

CVPR: Конференция по компьютерному зрению и распознаванию образов

http://cvpr2019.thecvf.com/

КДД 2020

https://www.kdd.org/kdd2020/

Лучший конкурс докладов на конференции:

https://medium.com/@arthurlee_73761/top-conference-paper-challenge-2d7ca24115c6

Мой сайт:

https://light0617.github.io/#/