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.










