KDD 19': нейронная сеть с гетерогенным графом
🤗 Вызов системы рекомендаций (28/50)
Гитхаб: https://github.com/chuxuzhang/KDD2019_HetGNN
🤔 Какую проблему они решают?
Они хотели бы создать встраивание гетерогенного графа, состоящее из информации о структуре графа и информации о содержимом узла.
😮 Какие задачи?
Немногие из них могут совместно эффективно рассматривать разнородную структурную (графовую) информацию, а также разнородную информацию о содержании каждого узла.
- многие узлы не могли подключиться ко всем типам соседей
- Узел может нести неструктурированный контент
- Различные типы соседей по-разному влияют на встраивание узлов.
😎 Обзор моделей: HetGNN
Они предлагают модель гетерогенной графовой нейронной сети для решения этой проблемы.
В частности, они сначала вводят случайное блуждание со стратегией перезапуска, чтобы выбирать фиксированный размер сильно коррелированных разнородных соседей для каждого узла и группировать их на основе типов узлов.
Затем мы разрабатываем архитектуру нейронной сети с двумя модулями для агрегирования информации о функциях этих выбранных соседних узлов. Первый модуль кодирует «глубокие» взаимодействия функций разнородного контента и генерирует встраивание контента для каждого узла.
Второй модуль объединяет вложения содержимого (атрибутов) различных соседних групп (типов) и далее объединяет их, рассматривая влияние различных групп для получения конечного вложения узла.
Наконец, мы используем потерю контекста графа и процедуру мини-пакетного градиентного спуска для сквозного обучения модели.
Выборка гетерогенных соседей (C1)
У большинства других моделей GNN есть некоторые проблемы:
- Они не могут собирать информацию об объектах от разных типов соседей.
- Кроме того, они ослаблены различными соседними размерами.
- Они не подходят для агрегирования разнородных соседей с разными характеристиками контента.
Они предлагают стратегию выборки гетерогенных соседей, основанную на случайном блуждании с перезапуском (RWR).
- RWR собирает все типы соседей для каждого узла
- выборочный размер соседа каждого узла фиксируется, и выбираются наиболее часто посещаемые соседи;
- соседи одного типа (имеющие одинаковые характеристики содержимого) группируются таким образом, чтобы можно было развертывать агрегацию на основе типов.
Кодирование гетерогенного содержимого (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': система управления громкостью уведомлений и оптимизации в Pinterest
KDD 19': PinText: многозадачная система встраивания текста в Pinterest
CVPR19 'Завершите образ: рекомендации по дополнительным продуктам на основе сцен
COLING’14: Глубокие сверточные нейронные сети для анализа тональности коротких текстов
НИПС’2017: Внимание — это все, что вам нужно (Трансформер)
KDD’19: изучение унифицированного встраивания для визуального поиска в Pinterest
Классификация BMVC19 — это надежная основа для глубокого обучения метрикам
KDD’18: сверточные нейронные сети графов для рекомендательных систем веб-масштаба
WWW’17: Visual Discovery на Pinterest
🤩 Конференция
ICCV: Международная конференция по компьютерному зрению
http://iccv2019.thecvf.com/submission/timeline
CVPR: Конференция по компьютерному зрению и распознаванию образов
КДД 2020
Лучший конкурс докладов на конференции:
https://medium.com/@arthurlee_73761/top-conference-paper-challenge-2d7ca24115c6
Мой сайт: