Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Графовая нейронная сеть (GNN)

Изучите графовые нейронные сети (GNN) для обработки неевклидовых данных. Узнайте, как GNN улучшают реляционное мышление в сочетании с Ultralytics для продвинутого искусственного интеллекта в области зрения.

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

Как работают графовые нейронные сети

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

Благодаря многоуровневой обработке узел может в конечном итоге включать информацию из более отдаленных частей графа, эффективно расширяя свое «рецептивное поле». Это позволяет модели понимать контекст узла в рамках более крупной структуры. Современные фреймворки, такие как PyTorch и Deep Graph Library (DGL), облегчают реализацию этих сложных схем передачи сообщений, позволяя разработчикам создавать сложные приложения на основе графов, не начиная с нуля.

GNN против других нейронных архитектур

Чтобы понять особую роль GNN, полезно отличить их от других распространенных типов нейронных сетей (NN), встречающихся в сфере искусственного интеллекта :

  • Сверточные нейронные сети (CNN): это золотой стандарт для визуальных задач, таких как классификация изображений или обнаружение объектов. Модели, такие как Ultralytics , используют CNN для обработки данных пикселей с фиксированной сеткой . Однако CNN испытывают трудности с нерегулярными структурами, где количество соседей варьируется для каждого узла.
  • Рекуррентные нейронные сети (RNN): RNN обрабатывают входные данные в определенной последовательности, что делает их идеальными для языковых задач или обработки естественного языка (NLP). В отличие от них, GNN обрабатывают данные, в которых отношения являются пространственными или реляционными, а не строго временными или последовательными.
  • Граф знаний: Граф знаний — это структурированная база данных фактов (сущностей и отношений), тогда как GNN — это вычислительная модель, используемая для обучения на основе таких структур. GNN часто развертываются поверх графов знаний для выполнения таких задач, как прогнозирование связей, что часто улучшает конвейеры генерации с расширенным поиском (RAG) .

Применение в реальном мире

Способность моделировать произвольные взаимосвязи делает GNN незаменимыми в различных высокотехнологичных отраслях:

  1. Открытие лекарственных препаратов и здравоохранение: в фармацевтической промышленности химические молекулы естественным образом представляются в виде графов, где атомы являются узлами, а связи — ребрами. GNN трансформируют ИИ в здравоохранении, предсказывая молекулярные свойства и моделируя взаимодействия белков. Такие инновации, как AlphaFold от Google , подчеркивают мощь геометрического глубокого обучения в понимании биологических структур.
  2. Анализ социальных сетей и рекомендации: Платформы используют GNN для анализа обширных сетей взаимодействий пользователей. Моделируя пользователей в виде узлов, а дружбу или лайки в виде ребер, эти сети питают системы рекомендаций, которые предлагают контент, продукты или связи. Этот подход, схожий с методами, используемыми в GraphSage от Pinterest, эффективно масштабируется до миллиардов взаимодействий.
  3. Логистика и прогнозирование дорожного движения: в искусственном интеллекте в логистике дорожные сети рассматриваются как графы, в которых перекрестки являются узлами, а дороги — ребрами. GNN могут прогнозировать транспортный поток и оптимизировать маршруты доставки путем анализа пространственных зависимостей между различными участками дорог, что значительно превосходит простые статистические базовые показатели.

Интеграция концепций графов с искусственным интеллектом в области зрения

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

Следующий Python демонстрирует, как соединить Vision AI с графовыми структурами. В нем используется Ultralytics YOLO26 модель для detect , которые служат в качестве узлов, и подготавливает базовую структуру графа, используя torch.

import torch
from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Run inference on an image to find entities (nodes)
results = model("https://ultralytics.com/images/bus.jpg")

# Extract box centers to serve as node features
# Format: [center_x, center_y] derived from xywh
boxes = results[0].boxes.xywh[:, :2].cpu()
x = torch.tensor(boxes.numpy(), dtype=torch.float)

# Create a hypothetical edge index connecting the first two objects
# In a real GNN, edges might be defined by distance or interaction
edge_index = torch.tensor([[0, 1], [1, 0]], dtype=torch.long)

print(f"Graph constructed: {x.size(0)} nodes (objects) and {edge_index.size(1)} edges.")

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

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас