Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Geometric Deep Learning (GDL)

Геометрическое глубинное обучение (GDL) встраивает симметрии сеток, графов, сеток полигонов и облаков точек в нейронные сети, объединяя CNN, GNN и трансформеры.

Геометрическое глубокое обучение (GDL) — это направление глубокого обучения, в котором нейронные сети проектируют с учётом структуры и симметрий данных, будь то пиксельная сетка, граф, множество точек, сфера или искривлённая поверхность. Основная идея состоит в том, что модель должна предсказуемо реагировать на изменения входных данных, не меняющие их смысл, например на сдвиг изображения, изменение порядка атомов молекулы или поворот 3D-сканирования. Майкл Бронштейн, Джоан Бруна, Ян ЛеКун, Артур Шлам и Пьер Вандергейнст популяризировали этот термин в обзорной статье 2017 года Geometric Deep Learning: Going Beyond Euclidean Data, а протоучебник Бронштейна, Бруны, Тако Коэна и Петра Величковича 2021 года систематизировал область вокруг пяти доменов: сеток, групп, графов, геодезических и калибровок.

Инвариантность, эквивариантность и основы GDL#

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

Свёртка использует одно ядро во всех позициях изображения, поэтому свёрточная нейронная сеть (CNN) — это случай эквивариантности относительно сдвига на сетке. Графовая нейронная сеть (GNN) применяет одну и ту же функцию вдоль каждого ребра, поэтому изменение порядка узлов лишь меняет порядок выходов. Трансформер рассматривает свои токены как полностью связный граф, и, поскольку механизм самовнимания эквивариантен относительно перестановок, ему нужны позиционные кодировки, чтобы учитывать порядок токенов. GNN — самые известные модели GDL, а GDL — более широкая концепция, которая объясняет все три типа моделей. Группово-эквивариантные CNN, представленные Тако Коэном и Максом Веллингом в 2016 году, расширяют разделение весов на повороты и отражения; сети для сеток и многообразий определяют свёртку в локальных системах координат на искривлённых поверхностях.

Ultralytics YOLO26 относится к случаю сетки: её свёртки используют общие веса для разных позиций изображения, а симметрии, не заложенные в архитектуру, изучаются с помощью аугментации данных. По умолчанию во время обучения каждое изображение отражается по горизонтали с вероятностью fliplr=0.5, а вертикальные отражения (flipud) и случайные повороты (degrees) отключены.

Передача сообщений в графах#

Графовые модели в GDL строятся на передаче сообщений. Каждый узел получает сообщения от соседей, объединяет их с помощью функции, не зависящей от порядка, например суммы, среднего или максимума, и обновляет свой эмбеддинг. В 2017 году Джастин Гилмер и коллеги из Google показали, что многие архитектуры графовых сетей соответствуют этой схеме передачи сообщений, и использовали её для предсказания квантово-химических свойств молекул. Изменение порядка узлов небольшого графа позволяет напрямую проверить оба свойства симметрии:

import torch

torch.manual_seed(0)
nodes = torch.randn(5, 3)  # # 5 атомов или пользователей, по 3 признака
adjacency = torch.zeros(5, 5)
edges = torch.tensor([[0, 1], [1, 2], [0, 2], [2, 3], [3, 4]])
adjacency[edges[:, 0], edges[:, 1]] = adjacency[edges[:, 1], edges[:, 0]] = 1
w_self, w_neighbors, w_dense = torch.randn(3, 4), torch.randn(3, 4), torch.randn(15, 4)

# # Изменим порядок узлов случайным образом: тот же граф, но перечисленный иначе
order = torch.randperm(5)
nodes_p, adjacency_p = nodes[order], adjacency[order][:, order]

# # Передача сообщений: каждый узел объединяет свои признаки с суммой признаков соседей
out = torch.relu(nodes @ w_self + adjacency @ nodes @ w_neighbors)
out_p = torch.relu(nodes_p @ w_self + adjacency_p @ nodes_p @ w_neighbors)
print(torch.allclose(out_p, out[order]))  # # Эквивариантность: выходы меняют порядок вместе с узлами
print(torch.allclose(out_p.sum(dim=0), out.sum(dim=0)))  # # Инвариантность: считывание на уровне графа не изменилось

# # Полносвязный слой на развёрнутом списке узлов воспринимает граф с изменённым порядком как новые данные
print(torch.allclose(nodes_p.flatten() @ w_dense, nodes.flatten() @ w_dense))

Вывод содержит True, True и False. Выход слоя передачи сообщений меняет порядок точно так же, как узлы, суммарное считывание на уровне графа не меняется, а обычный полносвязный слой выдаёт другой ответ для того же графа, перечисленного в другом порядке. PyTorch Geometric объединяет десятки таких слоёв с пакетной обработкой графов разного размера.

Применение#

Молекулы — это графы атомов и связей, поэтому сети с передачей сообщений предсказывают такие свойства, как растворимость и связывание, для поиска лекарств. Белки добавляют трёхмерную геометрию: AlphaFold 2 уточняет предсказанные структуры с помощью инвариантного точечного внимания, которое выдаёт тот же результат при любом повороте или переносе всего белка в пространстве.

Лидарные сканеры и датчики глубины создают облака точек — неупорядоченные наборы трёхмерных точек. PointNet, разработанная Чарльзом Ци и коллегами из Стэнфорда в 2017 году, применяет одну общую сеть к каждой точке и объединяет результаты с помощью максимального пулинга, поэтому порядок точек не влияет на выход; эта архитектура лежит в основе многих систем трёхмерной детекции объектов для автономных автомобилей и робототехники. Социальные и коммерческие графы пользователей и товаров лежат в основе рекомендательных систем на базе GNN, например систем рекомендаций PinSage от Pinterest, а графы знаний используют ту же передачу сообщений для сущностей и их связей.

Модели погоды работают на сфере. GraphCast, опубликованная Google DeepMind в журнале Science в 2023 году, передаёт сообщения по многоуровневой сетке, построенной путём последовательного уточнения икосаэдра вокруг Земли, и менее чем за минуту прогнозирует сотни переменных на 10 дней вперёд с разрешением 0.25°. По 90% из 1,380 контрольных показателей она превосходит ведущий оперативный детерминированный прогноз ECMWF HRES.

Explore solutions

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

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

Компьютерное зрение в аэрокосмической отрасли

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

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения