Изучите графовые нейронные сети (GNN) для обработки неевклидовых данных. Узнайте, как GNN улучшают реляционное мышление в сочетании с Ultralytics для продвинутого искусственного интеллекта в области зрения.
Графовая нейронная сеть (GNN) — это специализированный класс архитектур глубокого обучения, предназначенный для обработки данных, представленных в виде графов. В то время как традиционные модели, такие как сверточные нейронные сети (CNN) , оптимизированы для сеточных структур, таких как изображения, а рекуррентные нейронные сети (RNN) превосходны при работе с последовательными данными, такими как текст или анализ временных рядов, GNN обладают уникальной способностью обрабатывать неевклидовые данные. Это означает, что они работают с наборами данных, определяемыми узлами (сущностями) и ребрами (отношениями), что позволяет им учиться на основе сложных взаимозависимостей, характерных для реальных сетей. Улавливая как атрибуты отдельных точек данных, так и структурные связи между ними, GNN открывают мощные инсайты в областях, где отношения так же важны, как и сами сущности.
Фундаментальным механизмом, лежащим в основе GNN, является процесс, часто называемый «передачей сообщений» или агрегацией соседства . В этой структуре каждый узел в графе обновляет свое собственное представление, собирая информацию от своих ближайших соседей. Во время обучения модели сеть учится создавать эффективные вложения— плотные векторные представления, которые кодируют характеристики узла вместе с топологией его локального соседства.
Благодаря многоуровневой обработке узел может в конечном итоге включать информацию из более отдаленных частей графа, эффективно расширяя свое «рецептивное поле». Это позволяет модели понимать контекст узла в рамках более крупной структуры. Современные фреймворки, такие как PyTorch и Deep Graph Library (DGL), облегчают реализацию этих сложных схем передачи сообщений, позволяя разработчикам создавать сложные приложения на основе графов, не начиная с нуля.
Чтобы понять особую роль GNN, полезно отличить их от других распространенных типов нейронных сетей (NN), встречающихся в сфере искусственного интеллекта :
Способность моделировать произвольные взаимосвязи делает 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, инженеры могут создавать контекстно-зависимые автономные системы, которые лучше понимают окружающий мир.