Графы и сети

Message Passing

Передача сообщений

актуальноТекущий рабочий стандарт

Направления: Прикладные направления · Графовый ML, Продвинутый ML · Геометрический ML

Единая схема, к которой сводятся почти все архитектуры : собрать сообщения от соседей, агрегировать, обновить состояние.

Что означает каждый компонент
  • текущее состояние вершины
  • агрегация по соседям: сумма, среднее или максимум — операция, не зависящая от порядка
  • сообщение от соседа: что именно передаётся по ребру

Ключевые тезисы

  • Агрегация должна быть инвариантна к порядку соседей: сумма, среднее, максимум.
  • Число слоёв равно радиусу, с которого собирается информация.
  • Мини-батчи строятся сэмплированием соседей — иначе один разрастается на весь .

Подробный разбор

2 подтемы — объяснения, формулы, примеры и интерактивные графики.

  1. Message: для каждого ребра считаем сообщение из представлений вершин.
  2. Aggregate: собираем сообщения соседей инвариантной к порядку операцией.
  3. Update: обновляем состояние вершины по старому состоянию и агрегату.
Обозначения
  • число объектов в выборке
  • степень вершины — число её связей

  • Neighbor sampling (GraphSAGE): для вершин берём случайную часть соседей на каждом слое.
  • Cluster-GCN: разбиваем на кластеры и обучаемся на подграфах.
  • Full-batch возможен только на в сотни тысяч вершин и при достаточной памяти .
На практике

Сэмплирование соседей вносит шум в агрегацию — это одновременно и ограничение, и форма .

Связанные темы

Машинное обучение на графах

Graph Basics85%

Основы графов · Графы и сети

Вершины, рёбра, веса и направления. Матрица смежности и список рёбер — два способа хранить одно и то же.

Centrality85%

Центральности · Графы и сети

Меры важности вершины: по числу связей, по посредничеству, по близости и по влиянию соседей.

PageRank85%

PageRank · Графы и сети

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

Community Detection85%

Поиск сообществ · Графы и сети

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

Graph Embeddings85%

Графовые эмбеддинги · Графы и сети

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

Graph Neural Networks85%

Графовые нейросети · Графы и сети

Нейросети, работающие прямо на структуре графа: представление вершины обновляется по представлениям соседей.

Link Prediction85%

Предсказание связей · Графы и сети

Задача «появится ли ребро между вершинами»: рекомендации друзей и товаров, достройка графов знаний.

Knowledge Graphs85%

Графы знаний · Графы и сети

Факты в виде троек «субъект — предикат — объект». Структурированная память, которую всё чаще подключают к языковым моделям.

Network Motifs85%

Мотивы и триады · Графы и сети

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

Clustering85%

Кластеризация · Обучение без учителя

Разбиение объектов на группы похожих без заранее известных меток.

Eigenvector85%

Собственный вектор · Математический справочник

Направление, сохраняющееся при линейном преобразовании с точностью до масштаба.

Следующий шагДальше по связи: Graph BasicsВершины, рёбра, веса и направления. Матрица смежности и список рёбер — два способа хранить одно и то же.Перейти →

Глава «Графы и сети» последний раз правилась . Нашли ошибку — напишите.