Решение задач на графах
Для решения прикладных задач на графах необходимо построить эмбеддинги (вещественные вектора фиксированного размера) для каждой вершины графа. Опционально можно дополнить информацию о графе эмбеддингами рёбер и эмбеддингом всего графа целиком.
Построение эмбеддингов вершин
Начальные эмбеддинги
Эмбеддинг вершины графа (node embedding) - это вектор вещественных чисел, характеризующий признаки вершин:
Этим вектором данных могут выступать начальные характеристики вершины. Например, если рассматривается граф социальной сети, в которой вершинами выступают пользователи, то может описывать пол, возраст и интересы, указанные в анкете. Если информации об узлах не предоставлено, можно задать её самостоятельно, передавая
-
one-hot закодированный номер вершины (для небольших графов),
-
геометрические характеристики вершины (такие как число соседей первого, второго порядка, минимальные длины путей до выбранных опорных узлов графа)
Контекстное уточнение эмбеддингов
По геометрии графа (рёбрам между вершинами) стоит задача уточнить эти эмбеддинги так, чтобы учесть контекстную информацию о соседях, т.е. связанных вершинах графах (neighborhood aggregation). аналогично тому, как уточнялись эмбеддинги слов в архитектуре трансформера по контексту соседних слов. Для этого применяется итеративный алгоритм свё рточных графовых сетей (graph convolutional networks), описанный в следующей главе. На выходе алгоритма мы получаем уже эмбеддинги каждой вершины с учётом контекста её соседей 1-го порядка (соединённых ребром напрямую), эмбеддинги с учётом ко нтекста соседей 2-го порядка (соседей от соседей) и т.д. После итераций алгоритма получаем окончательные контекстные эмбеддинги (graph-based contextual embeddings), которые совместно будут храниться в матрице .
Все контекстные эмбеддинги будут храниться в матрице .
Задачи на графе целиком
Рассмотрим задачи, в которых известно некоторое свойство для графов и требуется предсказывать свойство для нового графа , содержащего вершин. Поскольку обучающие и тестовые данные разделены, то это классическая задача обучения с учителем (supervised learning) или индуктивного обучения (inductive learning).
Корректно специфицированная модель должна быть инвариантной к перенумерации вершин (invariance to permutation), то есть результат не должен зависеть от того, как именно мы пронумеруем вершины графа. Формально это записывается как
для любой матрицы перестановки вершин .
Регрессия
Для решения задачи регрессии на графе (например, определение температуры плавления химического соединения) можно усреднить все контекстные эмбеддинги, а затем линейно преобразовать, чтобы предсказать целевую величину:
где
-
- вектор из единиц,
-
- настраиваемые параметры.
Домножение на вектор из единиц и деление на число узлов означает усреднение эмбеддингов всех вершин.
В конце можно использовать перемасштабированную активацию гиперболического тангенса, чтобы поместить предсказываемую величину в разумный диапазон значений.
Бинарная классификация
Бинарную классификацию графа (например, классификацию того, является ли вещество, описанное графом, токсичным для человека) можно производить по формуле:
где - сигмоидная функция активации (сигмоида).
Поскольку сигмоида принимает значения в интервале , то выход интерпретируется как вероятность положительного класса (например, является ли аккаунт в графе социальной сети ботом).
Многоклассовая классификация
Многоклассовую классификацию графа (например, тип молекулы: углевод, белок, липид и т.д.) можно производить, вычислив дискриминантных функций для каждого класса, а затем пропустив эти функции через SoftMax преобразование:
где настраиваемые параметры - это
-
- вектор смещений,
-
- матрица весов.
Альтернатива усреднению эмбеддингов
Альтернативой усреднения эмбеддингов вершин графа в задачах классификации и регрессии могут выступать
-
Суммирование эмбеддингов. В этом случае количество узлов графа будет влиять на результат, увеличивая разброс значений суммы.
-
Поэлементный максимум эмбеддингов. В этом случае прогноз будет исходить не из средней или суммарной представленности каждого признака, а из наличия сильно выраженного признака хотя бы на одном из узлов; здесь можно провести аналогию с усредняющим и максимизирующим пулингом на изображениях.
:::
Докажите, что модели в каждом случае обладают инвариантностью к перенумерации вершин. Для этого воспользуйтесь свойством (которое тоже докажите).
Обработка отдельных вершин графа
Часто дан всего один граф, для каждой вершины которого нужно предсказать определённое свойство. Для части вершин это свойство известно, что используется для настройки параметров модели. Примером может выступать граф социальной сети, в котором узлы - это пользователи, а рёбра - отношения дружбы между ними.
Поскольку заранее известны вершины, для которых нужно что-то предсказать, которые к тому же связаны с обучающими вершинами, в которых целевое свойство известно, то это задача частичного обучения (semi-supervised learning).
Корректно специфицированная модель должна обладать свойством эквивариантности к перенумерации вершин графа (equivariance to permutation), то есть при перенумерации вершин соответствующим образом должны перенумеровываться и выходы модели, чтобы сохранить связь с соответствующими вершинами.
Регрессия
Рассмотрим задачу регрессии на каждой вершине графа. Например, для графа социальной сети нужно предсказать ожидаемое время, которое каждый пользователь проведёт в сети. Для вершины с контекстным эмбеддингом она решается по формуле
Для всех узлов прогноз строится как
В конце можно использовать перемасштабированную активацию гиперболического тангенса, чтобы поместить предсказываемую величину в разумный диапазон значений.
Бинарная классификация
Рассмотрим задачу бинарной классификации каждой вершины графа. Например, для графа социальной сети нужно предсказать, является ли аккаунт реальным человеком или ботом. Для вершины с контекстным эмбеддингом она решается по формуле
Для всех узлов прогноз строится как
где сигмоида применяется поэлементно.
Многоклассовая классификация
Рассмотрим задачу бинарной классификации каждой вершины графа на классов. Например, для графа социальной сети нужно предсказать, является ли человек безработным, работающим по найму, самозанятым или предпринимателем. Для этого вычисляется рейтингов каждого класса, которые преобразуются в набор вероятностей классов через SoftMax преобразование:
где настраиваемые параметры - это
-
- вектор смещений,
-
- матрица весов.
Сразу для всех вершин вероятности считаются как
где SoftMax применяется независимо к каждому столбцу.
Докажите, что все приведённые модели обладают эквивариантностью к перенумерации вершин графа.
Восстановление рёбер графа
Рассмотрим один граф, часть рёбер которого известна, и надо восстановить недостающие рёбра графа (edge reconstruction, graph completion). Например, в графе цитирования дополнить научную статью недостающими ссылками на похожие исследования. Для этого можно посчитать вероятность связи между каждой парой узлов и по формуле
где - сигмоидная функция. По смыслу скалярное произведение вычисляет сочетаемость характеристик вершин друг с другом по схожести их признаков, а соединяются вершины, обладающие схожими характеристиками. После расчёта вероятности связи для каждой пары вершин можно провести рёбра там, где эта вероятность больше некоторого порога :
Гиперпараметр управляет противоречием между точностью и полнотой (precision and recall) восстановления связей и подбирается по валидационной выборке (качеству восстановления вершин на подмножестве вершин, на котором все связи известны, но были предварительно затёрты, чтобы на них не переобучиться).
Если эмбеддинги настраиваются для решения других задач, то можно усложнить расчёт вероятности связи, введя дополнительную параметризацию:
где новые параметры - это
-
- смещение,
-
- симметричная матрица весов, т.е. .
Поскольку каждая симметричная матрица представима в виде разложения Холецкого
то перебирать всевозможные симметричные матрицы можно, настраивая матрицу , обеспечивая неотрицательность диагональных элементов активацией ReLU.
Представленная параметризация позволит сделать модель более гибкой, переводя эмбеддинги узлов в новое пространство, возможно, более приспособленное для решения задачи восстановления рёбер.
Регрессия и классификация рёбер
Можно решать задачи классификации и регрессии не узлов, а рёбер графа (edge classification, edge regression). Например в графе социальной сети предсказывать, какой будет характер взаимодействия между людьми и сколько сообщений они друг другу напишут.
Для этого нужно перевести исходный граф в граф рёбер (edge graph), превратив рёбра исходного графа в узлы. А далее применить те же техники классификации и регрессии, но для узлов, соответствующих рёбрам исходного графа.
В следующей главе вы узнаете алгоритм, уточняющий эмбеддинги вершин графа, используя информацию о его геометрии, т.е. о том, как вершины связаны друг с другом на графе (neighborhood aggregation, graph-based contextual embeddings).