Изучите сетевые архитектуры и методы обучения графовых нейронных сетей.

искусственный интеллект

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

图片

В этой статье мы в основном представим сетевую архитектуру и методы обучения различных типичных графовых нейронных сетей. ** В статье «Всеобъемлющий обзор графовых нейронных сетей» [1] представлен всесторонний обзор графовых нейронных сетей (GNN) и разделены последние графовые нейронные сети на четыре категории, а именно рекуррентные графовые нейронные сети (RecGNN), объемные графовые нейронные сети. Сети (ConvGNN), автокодировщики графов (GAE) и нейронные сети пространственно-временных графов (STGNN). В практическом применении графовых нейронных сетей наиболее широко используются сверточные графовые нейронные сети, поэтому в этой статье основное внимание будет уделено классу сетевых моделей, называемых ConvGNN, как показано в дорожной карте GNN выше.

1. Евклидова пространственная свертка

Прежде чем говорить о нейронной сети со свертывающимся графом (свертка в неевклидовом пространстве), давайте рассмотрим процесс сверточной нейронной сети (свертка в евклидовом пространстве). Существует изображение 6 * 6, как показано на рисунке ниже.Когда мы делаем свертку, мы обычно используем ядро ​​свертки фиксированного размера, например 3 * 3, а затем перемещаем все изображение 6 * 6 в соответствии с установленным размером шага. . изображение, создайте внутренний продукт с соответствующей позицией исходного изображения в каждой скользящей позиции. На следующем рисунке показан результат после двукратного сдвига ядра свертки.

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

图片

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

Вариант первый:

Ссылаясь на идею CNN, на соседях каждого узла каким-то образом выполняется взвешенное суммирование, то есть свертка на основе Spatial.

图片

Вариант 2:

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

图片

В этой статье мы в основном представим метод нейронной сети на основе пространственного сверточного графа и соответствующую типичную сетевую архитектуру.

2. Spatial-based Convolution

Прежде чем говорить о космических методах нейронной сети сверточных графов, мы сначала введем два термина:

lСовокупность:

Обновите функцию состояния узла в следующем слое с помощью функции соседнего состояния узла в текущем слое (левое изображение ниже). Например, на рисунке ниже мы хотим(нижний индекс представляет собой индекс узла, а верхний индекс представляет текущую операцию свертки на слое) преобразуется в свертку графа, мы можем объединить слои iа такжеФункции соседних узлов интегрированы для полученияХарактеристики других узлов такие же, и, наконец, получается скрытое состояние уровня i+1.

lПоказания:

Характеристики состояния всех узлов объединяются для представления характеристик состояния всего графа (справа внизу). То есть определенный метод суммы или среднего используется для абстрагирования признаков всех узлов в скрытое состояние и использования этого для представления признаков всего графа.

图片

2.1 Нейронная сеть для графиков (NN4G) [2]

NN4G — это относительно ранняя (2009 г.) предложенная модель нейронной сети на основе сверточных графов в области нейронных сетей на графах.Он выполняет свертку графов, напрямую добавляя информацию о соседстве узлов.Выражение выглядит следующим образом:图片

вПредставляет индекс узла в графе, а K представляет текущее количество сверточных слоев.представляет узелвсе соседи.функция активации, такая как Relu,и- параметр модели, который необходимо изучить, то есть на следующем рисунке, в скрытом слое 1 на рисунке нижеполучаетсяИ информация его соседей добавляется, и информация входного слоя в узле интегрируется путем взвешивания, преобразованный в матричный вид:

图片

где матрицаЭто матрица смежности графовой сети.

图片

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

图片

图片

Для NN4G его конкретный процесс расчета можно резюмировать на следующем рисунке. NN4G также является репрезентативной структурой нейронных сетей сверточных графов, а последующие нейронные сети сверточных графов более или менее получаются путем внесения некоторых простых модификаций (Aggregate) на основе NN4G. Поэтому понимание рабочего процесса NN4G имеет решающее значение для понимания пространственных нейронных сетей сверточных графов.

图片

2.2 Диффузионная сверточная нейронная сеть (DCNN) [3]

DCNN дает другой метод на стадии Aggregate, DCNN рассматривает свертку графа как процесс диффузии, предполагающий, что информация передается от одного узла к соседним узлам с определенной вероятностью перехода, так что распределение информации достигает равновесия после нескольких раундов. Как показано на рисунке ниже, первый слой图片Результат с图片Сумма и среднее значение признаков узлов с расстоянием 1, то же, что и во втором слое.图片это с图片Суммарное среднее значение признаков узлов с расстоянием 2, так что наша операция свертки для каждого слоя может быть выражена следующей формулой:

图片

где K представляет количество слоев,图片представляет матрицу перехода,图片— матрица степени узла, A — матрица смежности,图片Он представляет собой диапазон соседей узла, которые можно наблюдать с помощью свертки,图片представляет собой свертку соседних узлов с расстоянием 1,图片Когда представляет свертку соседних узлов с расстоянием 2. Когда мы вычисляем характеристики узлов каждого слоя, нам нужно объединить характеристики узлов каждого слоя в матрицу图片, а затем выполнить преобразование признаков для признаков каждого узла на разных уровнях с помощью некоторых линейных преобразований, как показано на следующем рисунке, и, наконец, получить полное изображение или матрицу признаков каждого узла.图片.

图片

图片

2.3 Сети смешанной модели (MoNET) [4]

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

MoNET также определяет новый метод агрегирования.На фазе агрегирования это не просто среднее суммирование характеристик соседних узлов, а взвешенный метод, который рассчитывается путем измерения расстояния между узлами, а именно:

图片

Конечно, здесь предлагается только один метод расчета веса, и в реальной реализации могут быть выбраны разные методы реализации веса. в图片Указывает степень узла x, а w на рисунке представляет собой преобразование признаков (например, NN).После NN кодируется признак узла, и, наконец, взвешиваются и суммируются признаки соседнего узла узла.

图片

2.4 Образец графика и совокупность (Выборка графика и совокупность, GraphSAGE) [5]

GraphSAGE в основном обновляет информацию об узле путем выборки соседних узлов, то есть на шаге 1 на рисунке, а затем каким-то образом агрегирует выбранную информацию об узле.В основном существует три метода агрегирования: Mean\Pooling\LSTM , то есть шаг 2. и Шаг 3 на рисунке - использовать агрегированную информацию для прогнозирования метки текущего узла или соседнего узла.Существует два способа прогнозирования, один из которых - метод обучения без учителя. Функция потерь на основе неконтролируемого обучения на основе графа предполагает, что соседние вершины будут иметь схожие векторные представления (первая половина формулы), в то время как представления отдельных вершин будут как можно более разными (вторая половина формулы). следует:

图片

в图片да图片соседние узлы ,图片- это распределение выборок с отрицательной выборкой, т.е. для удаленных узлов图片выборка узлов,图片количество отрицательных проб,图片является характеристикой узла, которую необходимо изучить. Второй метод обучения с учителем.Форма обучения с учителем может напрямую устанавливать целевую функцию в соответствии с различными задачами.Например, наиболее часто используемая задача классификации узлов использует функцию перекрестной энтропийной потери.

图片

图片

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

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

图片

в图片- выражение веса после обновления модели,图片— значение внимания узла v по отношению к узлу u, а w — параметр, изученный моделью.

图片

На следующем рисунке показан процесс обновления слоя свертки графа модели GAT, где e (энергия) — вес внимания.

图片

3. Резюме

Этот пост в блоге в основном знакомит с Spatial-based Convolution (нейронной сетью на основе сверточных графов на пространственной основе), основанной на NN4G, он знакомит с DCNN, MONET, GrapgSAGE, GAT и другими структурами нейронных сетей сверточных графов и методами их реализации. Для студентов, которые хотят попрактиковаться в графовых нейронных сетях, они могут сначала изучить некоторые фреймворки графовых нейронных сетей с открытым исходным кодом. В настоящее время каркасы графовых нейронных сетей с лучшей степенью завершенности в основном представляют собой DGL (библиотека глубоких графов) и PyG (PyTorch Geometric), основанные на PyTorch и MXNet.

использованная литература

[1] ] Wu Z , Pan S , Chen F , et al. A Comprehensive Survey on Graph Neural Networks[J]. IEEE Transactions on Neural Networks and Learning Systems, 2019.

[2] A. Micheli, "Neural Network for Graphs: A Contextual Constructive Approach," in IEEE Transactions on Neural Networks, vol. 20, no. 3, pp. 498-511, March 2009, doi: 10.1109/TNN.2008.2010350.

[3] АР Вест V.org/ABS/1511.02…

[4] АР Вест V.org/PDF/1611.08…

[5] АР Вест V.org/PDF/1706.02…

[6] АР Вест V.org/PDF/1710.10…

[7]Tickets.WeChat.QQ.com/Yes?\_\_author=M…

[8]. речь, о, о, почва, квота.

Эта статья опубликована в сообществе HUAWEI CLOUD «Углубленные сценарии приложений графической нейронной сети», первоначальный автор: Это довольно неожиданно.

Нажмите «Подписаться», чтобы впервые узнать о новых технологиях HUAWEI CLOUD~