Что такое графическая нейронная сеть? Введение в GNN и его приложения

Нейронная сеть графов (GNN) — это новая модель, которую можно использовать для анализа графиков. Графы — это надежные структуры данных, содержащие отношения между объектами, а GNN позволяют исследовать эти отношения по-новому. Например, вы можете использовать GNN, чтобы определить, какие люди с наибольшей вероятностью порекомендуют продукт в социальных сетях.

Что такое граф?

Граф — это абстрактное представление сети.

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

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Граф можно определить как G = (V, E), где V — множество узлов (вершин), а E — ребра между ними.

Ребра могут быть направленными или ненаправленными, в зависимости от того, существуют ли между вершинами зависимости по направлению. Вершины часто называют узлами.

Изучите широкий спектр сетевых курсов в Simplilearn и станьте сертифицированным экспертом по сетевым технологиям. Измените свою карьеру сегодня!

Что такое графовые нейронные сети (GNN)?

Графовые нейронные сети (GNN) — это решение проблемы, которая мучила информатику в течение многих лет: как мы можем заставить компьютерное зрение работать с графами?

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

CNN отлично справляются с распознаванием и классификацией изображений, но им необходимо работать с графиками. У них нет для этого возможностей.

Появляются GNN. Они предоставляют простой способ выполнения задач прогнозирования на уровне узла, ребра и графа.

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

Что такое сверточные сети графов?

Сверточные сети графов (GCN) — это тип нейронной сети, которую можно использовать для решения проблем с данными, структурированными на графах.

Существует три основных компонента GCN: свертка графа, линейный слой и нелинейная функция активации.

Обычно операции выполняются в таком порядке. Вместе они составляют один сетевой уровень. Мы можем объединить один или несколько слоев, чтобы сформировать полную GCN.

Вы можете реализовать GCN с помощью PyTorch следующим образом:

импортный фонарь

из импорта фонарика nn

класс GCN(nn.Module):

def __init__(self, *sizes):

супер().__init__()

self.layers = nn.ModuleList((

nn.Linear(x, y) для x, y в zip(размеры(:-1), размеры(1:))

))

def вперед(я, вершины, края):

# —– Построение матрицы смежности —–

# Начните с самоподключения

прил = факел.глаз(лен(вершины))

# ребра содержат соединенные вершины: (vertex_0, vertex_1)

прил(края(:, 0), края(:, 1)) = 1

прил(ребра(:, 1), ребра(:, 0)) = 1

# —– Пересылка данных —–

для слоя в self.layers:

вершины = torch.sigmoid(слой(прил @ вершины))

возвращать вершины

ДипУок

DeepWalk — это новая графовая нейронная сеть, которая работает непосредственно с целевой структурой графа. Он использует метод рандомизированного обхода путей, чтобы получить представление о локализованных структурах внутри сетей. Это достигается за счет использования этих случайных путей в качестве последовательностей, которые затем используются для обучения языковой модели Skip-Gram.

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

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

ГрафSage

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

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

Приложения GNN

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

Применение GNN:

  • Классификация узлов включает определение маркировки образцов путем просмотра их меток и меток соседей. Эти задачи обычно решаются под частичным контролем, при этом помечается только часть графа.
  • Кластеризация графов относится к кластеризации данных в виде графиков. Кластеризация вершин направлена ​​на группировку узлов в группы плотно связанных регионов на основе весов ребер или ребер. Вторая форма кластеризации графов рассматривает графы как объекты, подлежащие кластеризации, и эти кластеры основаны на сходстве.
  • Классификация графов — важнейшая технология для классификации изображений, систем рекомендаций, НЛП и анализа социальных сетей.
  • Визуализация графов — это область математики и информатики, находящаяся на стыке геометрической теории графов и визуализации информации. Он связан с визуальным представлением графиков, которое выявляет структуры и аномалии, которые могут присутствовать в данных, и помогает пользователю понять диаграммы.
  • Прогнозирование ссылок — важная задача в социальных сетях, где важно сделать вывод о социальных взаимодействиях между объектами или порекомендовать пользователям возможных друзей. Он также использовался для решения проблем рекомендательных систем и прогнозирования преступных сообществ.

GNN в компьютерном зрении

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

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

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

GNN в обработке естественного языка

Графовые нейронные сети (GNN) — мощный инструмент для решения многих задач НЛП.

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

GNN в других доменах

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

Трафик

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

Химия

Узлы и ребра графа представляют структуру молекулы. Узлы — это атомы, а ребра — химические связи.

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

Часто задаваемые вопросы

1. Для чего используется нейронная сеть Graph?

Графовые нейронные сети — это тип нейронной сети, которую можно использовать для непосредственной обработки графиков. Раньше эти сети могли обрабатывать только графы целиком.

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

2. Как построить график нейронной сети?

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

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

3. Что такое нейронная сеть графа в машинном обучении?

Графовые нейронные сети — это нейронные сети, которые напрямую работают со структурой графа. В этой статье описывается, как использовать нейронные сети Graph для решения проблем машинного обучения и компьютерного зрения.

4. Какие бывают типы нейронных графовых сетей?

Три основных типа нейронных графовых сетей:

  • Нейронная сеть с рекуррентным графом,
  • Пространственная сверточная сеть
  • Спектральная сверточная сеть.

5. Что такое CNN и GNN?

Сверточные нейронные сети (CNN) и графовые нейронные сети (GNN) — это два типа методов глубокого обучения, которые можно использовать для выполнения выводов на основе данных, описанных графами. CNN — это искусственные нейронные сети, используемые для распознавания и обработки изображений. В то же время GNN представляют собой класс методов глубокого обучения, предназначенных для выполнения выводов на основе данных, описанных графами.

6. В чем разница между GNN и GCN?

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

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

Хотите ускорить свою карьеру в AL и ML? Присоединяйтесь к нашей сертификации AI ML и получите доступ к более чем 25 отраслевым проектам, карьерному наставничеству и многому другому.

Заключение

Хотите изучить искусственный интеллект и машинное обучение?

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *