4 графических нейронных сети, которые вам нужно знать (WLG, GCN, GAT, GIN)

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

В этом рассказе мы сосредоточимся на четырех моделях нейронных сетей графов, а именно: ядро ​​графа Вайсфейлера-Лемана (Шервашидзе и др., 2011), сверточная сеть графа (Кипф и Веллинг, 2017), сети внимания графа (Величкович и др., 2017) и Сеть изоморфизма графов (Xu et al., 2019)

Ядро графа Вайсфейлера-Лемана (WL)

Шервашидзе и др. (2011) представили способ измерения сходства графов (тест WL) в нейронных сетях графов. Пройденный тест WL означает, что любой из графов является изоморфизмом или не может доказать, что графы не являются изоморфизмом.

В тесте WL вы можете определить высоту графика. Высота означает итерацию числа. Следующая процедура представляет собой тест WL с h = 1:

  1. Именованный узел для каждого узла
  2. Добавьте номер подключенного узла. Взяв граф G в качестве примера, узел 4 обновлен до узла 4, 1135, поскольку узел 4 подключается к узлу 1 (2 раза), узлу 3 и узлу 5.
  3. Просто имя узла. Например, преобразуйте узел 4, 1135 в 11. (просто переименуйте его по порядку)
  4. Изменить название нового узла
  5. Проверьте счетчики как исходных меток узлов, так и вновь созданных меток. Если количество узлов (вектор признаков) одинаково, эти два графа являются изоморфизмом.

Сверточная сеть графов (GCN)

Кипф и Веллинг представили сверточную сеть графов (GCN) в 2017 году. Основная идея GCN заключается в агрегировании как собственных, так и соседних функций.

На рисунке ниже показана общая архитектура GCN. Взяв в качестве примера узел X2, он поглощает функции X2 (собственные), X1, X3 и X4 (соседние) и вводит в нейронную работу для обучения модели.

Что касается функции узла, это может быть случайная инициализация или числовые функции. Если взять в качестве примера цитирование статьи, документ - это узел, а край - цитирует. Функция узла (например, документ) может включать количество закодированных слов, год публикации, авторов. Другой пример - социальная сеть. Человек - это узел, а край - отношения (например, дружба). Возможности включают рождение города, количество друзей.

Графические сети внимания (GAT)

Вдохновленные механизмом внимания, Величкович и др. Предлагаю применить его на графической нейронной сети. Так же, как GCN (Kipf and Welling, 2017), Graph Attention Networks (GAT) (Veličković et al., 2017) использует функции самоузлов и соседей для обучения модели. Так же, как BERT в области обработки естественного языка (NLP), авторы используют многоголовое внимание, чтобы научиться большему разному вниманию.

Что касается использования внимания, у него есть несколько преимуществ:

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

Сеть изоморфизма графов (GIN)

Топологически идентичность может быть одним из способов измерить подобие графа. Традиционно мы можем проверить это с помощью Weisfeiler-Lehman (WL). Xu et al. доказал, что GIN так же силен, как тест WL:

  1. Графическая нейронная сеть (GNN) может быть такой же мощной, как тест WL, за счет использования простой архитектуры (многослойного перцептрона).
  2. GCN (Kipf and Welling, 2017) и GraphSAGE (Hamilton et al., 2017) не могут различить некоторую структуру графа.
  3. Суммарное агрегирование лучше, чем агрегирование среднего и максимального значений, с точки зрения различения структуры графа.

Забрать

  • Если вам нужно обрабатывать невидимые узлы, GCN может не быть вашим выбором, в то время как GAT может обрабатывать невидимые узлы.
  • GIN показывает способ лучше представить агрегацию соседей.
  • Вы можете просто использовать PyTorch Geometric для применения GCN, GAT и GIN.

Чтение расширений

Ссылка