Обобщённый автокодировщик на графах GraphEDM
Материал из MachineLearning.
| Строка 3: | Строка 3: | ||
}} | }} | ||
{{TOCright}} | {{TOCright}} | ||
| - | '''Обобщённый автокодировщик на графах''' (англ. ''Graph Encoder-Decoder Model'', '''GraphEDM''') — унифицированная теоретическая схема, описывающая широкий класс методов [[Глубокое обучение|глубокого обучения]] на [[Граф (математика)|графах]] через парадигму «кодировщик — декодировщик» ([[ | + | '''Обобщённый автокодировщик на графах''' (англ. ''Graph Encoder-Decoder Model'', '''GraphEDM''') — унифицированная теоретическая схема, описывающая широкий класс методов [[Глубокое обучение|глубокого обучения]] на [[Граф (математика)|графах]] через парадигму «кодировщик — декодировщик» ([[автоэнкодер]]). Схема была предложена в 2020 году в обзорной работе Инеса Чами, Сами Абу-Эль-Хайджи, Брайана Перроцци, Кристофера Ре и Кевина Мёрфи<ref name="chami2022">{{статья |автор=Chami I., Abu-El-Haija S., Perozzi B., Ré C., Murphy K. |заглавие=Machine Learning on Graphs: A Model and Comprehensive Taxonomy |издание=Journal of Machine Learning Research |год=2022 |том=23 |номер=89 |страницы=1–64 |ссылка=https://jmlr.org/papers/v23/20-852.html}}</ref> и обобщает более 30 ранее опубликованных моделей: от классических методов [[Обучение представлений|обучения представлений]] узлов ([[DeepWalk]], [[node2vec]]) до современных [[Графовая нейронная сеть|графовых нейронных сетей]] и их вариаций — графовых свёрточных сетей (GCN, англ. ''Graph Convolutional Network''), [[GraphSAGE]], сетей внимания на графах ([[Graph Attention Network|GAT]], англ. ''Graph Attention Network'') и графовых автокодировщиков (GAE и VGAE, англ. ''(Variational) Graph AutoEncoder''). |
Идея GraphEDM проста: почти любой метод машинного обучения на графах можно разложить на три «кубика». Первый — '''кодировщик''' (ENC), превращающий граф (например, социальную сеть или молекулу) в набор компактных числовых векторов — '''эмбеддингов''' — по одному на каждую вершину. Второй — '''декодировщик''' (DEC), который из этих векторов восстанавливает то, что нас интересует: связи между вершинами, метки классов, свойства всего графа. Третий — '''функция потерь''', указывающая, насколько хорошо модель справилась, и позволяющая обучать её методом [[градиентный спуск|градиентного спуска]]. Такая «общая сборка» помогает сравнивать разные модели на равных, видеть их общие свойства и проектировать новые архитектуры по аналогии. | Идея GraphEDM проста: почти любой метод машинного обучения на графах можно разложить на три «кубика». Первый — '''кодировщик''' (ENC), превращающий граф (например, социальную сеть или молекулу) в набор компактных числовых векторов — '''эмбеддингов''' — по одному на каждую вершину. Второй — '''декодировщик''' (DEC), который из этих векторов восстанавливает то, что нас интересует: связи между вершинами, метки классов, свойства всего графа. Третий — '''функция потерь''', указывающая, насколько хорошо модель справилась, и позволяющая обучать её методом [[градиентный спуск|градиентного спуска]]. Такая «общая сборка» помогает сравнивать разные модели на равных, видеть их общие свойства и проектировать новые архитектуры по аналогии. | ||
| Строка 82: | Строка 82: | ||
* '''Методы матричной факторизации''': [[Laplacian Eigenmaps]]<ref name="belkin">{{статья |автор=Belkin M., Niyogi P. |заглавие=Laplacian Eigenmaps for Dimensionality Reduction and Data Representation |издание=Neural Computation |год=2003 |том=15 |номер=6 |страницы=1373–1396}}</ref>, Graph Factorization, GraRep, HOPE. Кодировщик линейный, декодировщик восстанавливает функцию от <tex>W</tex> (например, саму матрицу смежности или матрицу совстречаемостей). | * '''Методы матричной факторизации''': [[Laplacian Eigenmaps]]<ref name="belkin">{{статья |автор=Belkin M., Niyogi P. |заглавие=Laplacian Eigenmaps for Dimensionality Reduction and Data Representation |издание=Neural Computation |год=2003 |том=15 |номер=6 |страницы=1373–1396}}</ref>, Graph Factorization, GraRep, HOPE. Кодировщик линейный, декодировщик восстанавливает функцию от <tex>W</tex> (например, саму матрицу смежности или матрицу совстречаемостей). | ||
* '''Методы случайных блужданий''': [[DeepWalk]]<ref name="deepwalk">{{статья |автор=Perozzi B., Al-Rfou R., Skiena S. |заглавие=DeepWalk: Online Learning of Social Representations |издание=Proceedings of the 20th ACM SIGKDD |год=2014 |страницы=701–710 |ссылка=https://arxiv.org/abs/1403.6652}}</ref>, [[node2vec]]<ref name="node2vec">{{статья |автор=Grover A., Leskovec J. |заглавие=node2vec: Scalable Feature Learning for Networks |издание=Proceedings of the 22nd ACM SIGKDD |год=2016 |страницы=855–864 |ссылка=https://arxiv.org/abs/1607.00653}}</ref>, LINE. Идея: запустить из каждой вершины «прогулку» по графу, а затем выучить эмбеддинги так, чтобы часто встречающиеся вместе вершины имели похожие векторы — почти как [[Word2vec]] для слов, только вместо предложений используются траектории случайных блужданий. | * '''Методы случайных блужданий''': [[DeepWalk]]<ref name="deepwalk">{{статья |автор=Perozzi B., Al-Rfou R., Skiena S. |заглавие=DeepWalk: Online Learning of Social Representations |издание=Proceedings of the 20th ACM SIGKDD |год=2014 |страницы=701–710 |ссылка=https://arxiv.org/abs/1403.6652}}</ref>, [[node2vec]]<ref name="node2vec">{{статья |автор=Grover A., Leskovec J. |заглавие=node2vec: Scalable Feature Learning for Networks |издание=Proceedings of the 22nd ACM SIGKDD |год=2016 |страницы=855–864 |ссылка=https://arxiv.org/abs/1607.00653}}</ref>, LINE. Идея: запустить из каждой вершины «прогулку» по графу, а затем выучить эмбеддинги так, чтобы часто встречающиеся вместе вершины имели похожие векторы — почти как [[Word2vec]] для слов, только вместо предложений используются траектории случайных блужданий. | ||
| - | * '''Графовые автокодировщики''' (GAE и VGAE)<ref name="kipf-vgae">{{статья |автор=Kipf T. N., Welling M. |заглавие=Variational Graph Auto-Encoders |издание=NeurIPS Workshop on Bayesian Deep Learning |год=2016 |ссылка=https://arxiv.org/abs/1611.07308}}</ref>. Кодировщик — графовая нейронная сеть, декодировщик восстанавливает <tex>W</tex> через скалярное произведение эмбеддингов. VGAE — вероятностная (вариационная) версия, ближайший «графовый родственник» [[Вариационный | + | * '''Графовые автокодировщики''' (GAE и VGAE)<ref name="kipf-vgae">{{статья |автор=Kipf T. N., Welling M. |заглавие=Variational Graph Auto-Encoders |издание=NeurIPS Workshop on Bayesian Deep Learning |год=2016 |ссылка=https://arxiv.org/abs/1611.07308}}</ref>. Кодировщик — графовая нейронная сеть, декодировщик восстанавливает <tex>W</tex> через скалярное произведение эмбеддингов. VGAE — вероятностная (вариационная) версия, ближайший «графовый родственник» [[Вариационный автоэнкодер|вариационных автоэнкодеров]]. |
=== Методы с учителем === | === Методы с учителем === | ||
| Строка 108: | Строка 108: | ||
* '''[[Обучение представлений]]''' — эмбеддинги, получаемые ENC, и есть результат такого обучения; GraphEDM описывает, как извлекать представления из нерегулярных структур. | * '''[[Обучение представлений]]''' — эмбеддинги, получаемые ENC, и есть результат такого обучения; GraphEDM описывает, как извлекать представления из нерегулярных структур. | ||
| - | * '''[[ | + | * '''[[Автоэнкодер]]''' — GraphEDM можно рассматривать как обобщение [[Вариационный автоэнкодер|вариационных автоэнкодеров]] на графы<ref name="kipf-vgae" />. |
* '''[[Геометрическое глубокое обучение]]''' (англ. ''geometric deep learning'')<ref name="bronstein">{{статья |автор=Bronstein M. M., Bruna J., Cohen T., Veličković P. |заглавие=Geometric Deep Learning: Grids, Groups, Graphs, Geodesics, and Gauges |год=2021 |ссылка=https://arxiv.org/abs/2104.13478}}</ref> — общая программа обучения на нерегулярных областях (графы, [[Многообразие|многообразия]], группы), в которую GraphEDM встраивается как частный случай для графов. | * '''[[Геометрическое глубокое обучение]]''' (англ. ''geometric deep learning'')<ref name="bronstein">{{статья |автор=Bronstein M. M., Bruna J., Cohen T., Veličković P. |заглавие=Geometric Deep Learning: Grids, Groups, Graphs, Geodesics, and Gauges |год=2021 |ссылка=https://arxiv.org/abs/2104.13478}}</ref> — общая программа обучения на нерегулярных областях (графы, [[Многообразие|многообразия]], группы), в которую GraphEDM встраивается как частный случай для графов. | ||
* '''[[Спектральная теория графов]]''' — многие кодировщики опираются на собственные функции [[Матрица Лапласа|лапласиана]]. | * '''[[Спектральная теория графов]]''' — многие кодировщики опираются на собственные функции [[Матрица Лапласа|лапласиана]]. | ||
| Строка 134: | Строка 134: | ||
* [[Графовая нейронная сеть]] | * [[Графовая нейронная сеть]] | ||
| - | * [[ | + | * [[Автоэнкодер]] |
| - | * [[Вариационный | + | * [[Вариационный автоэнкодер]] |
* [[Обучение представлений]] | * [[Обучение представлений]] | ||
* [[Глубокое обучение]] | * [[Глубокое обучение]] | ||
Текущая версия
| | Статья написана с использованием LLM Claude Opus 4.7 и проверена участником Участник:Dan-Кhaiaa Lakpazhap 20:16, 30 июня 2026 (MSD).
Промпт приводится полностью в Обсуждение:Обобщённый автокодировщик на графах GraphEDM. |
|
Обобщённый автокодировщик на графах (англ. Graph Encoder-Decoder Model, GraphEDM) — унифицированная теоретическая схема, описывающая широкий класс методов глубокого обучения на графах через парадигму «кодировщик — декодировщик» (автоэнкодер). Схема была предложена в 2020 году в обзорной работе Инеса Чами, Сами Абу-Эль-Хайджи, Брайана Перроцци, Кристофера Ре и Кевина Мёрфи[1] и обобщает более 30 ранее опубликованных моделей: от классических методов обучения представлений узлов (DeepWalk, node2vec) до современных графовых нейронных сетей и их вариаций — графовых свёрточных сетей (GCN, англ. Graph Convolutional Network), GraphSAGE, сетей внимания на графах (GAT, англ. Graph Attention Network) и графовых автокодировщиков (GAE и VGAE, англ. (Variational) Graph AutoEncoder).
Идея GraphEDM проста: почти любой метод машинного обучения на графах можно разложить на три «кубика». Первый — кодировщик (ENC), превращающий граф (например, социальную сеть или молекулу) в набор компактных числовых векторов — эмбеддингов — по одному на каждую вершину. Второй — декодировщик (DEC), который из этих векторов восстанавливает то, что нас интересует: связи между вершинами, метки классов, свойства всего графа. Третий — функция потерь, указывающая, насколько хорошо модель справилась, и позволяющая обучать её методом градиентного спуска. Такая «общая сборка» помогает сравнивать разные модели на равных, видеть их общие свойства и проектировать новые архитектуры по аналогии.
Мотивация
К 2020 году в литературе накопилось несколько десятков методов обучения на графах, развивавшихся параллельно и пользовавшихся разной терминологией. Спектральные подходы выросли из спектральной теории графов, методы случайных блужданий (DeepWalk, node2vec) — из идей, близких к Word2vec, графовые нейронные сети — из аналогии со свёрточными сетями для изображений. Внешне эти подходы выглядели несовместимо, хотя решали одну задачу: получить полезные числовые представления вершин графа.
GraphEDM показывает, что все они — частные случаи одной схемы и различаются лишь:
- выбором кодировщика (от простой матричной факторизации до глубокой нейронной сети);
- тем, что именно восстанавливает декодировщик (структуру графа, метки или и то, и другое);
- балансом между обучением с учителем и без учителя в функции потерь.
Постановка задачи
Пусть задан граф , где
— множество из
вершин (узлов), а
— множество рёбер (связей). Например, в социальной сети вершины — это пользователи, а рёбра — их дружбы; в молекуле — атомы и химические связи между ними; в графе цитирований — статьи и ссылки между ними.
Граф представляют двумя матрицами:
- матрица смежности
(англ. adjacency matrix) — «карта связей»: элемент
равен весу ребра между вершинами
и
(или нулю, если связи нет);
- матрица признаков узлов
(англ. node features) — таблица атрибутов: каждой вершине сопоставлен вектор из
чисел (например, для пользователя соцсети — возраст, город, интересы).
Цель — построить матрицу эмбеддингов , где
. Каждая строка
— это короткий вектор, «сжатое описание»
-й вершины, в котором сохранено самое важное: и её положение в структуре графа, и её признаки. На таких векторах удобно решать прикладные задачи: классифицировать вершины (например, определять тематику научной статьи в графе цитирований), предсказывать новые связи (англ. link prediction — например, рекомендовать дружбу), классифицировать графы целиком (определять токсичность молекулы) или искать сообщества[1].
Различают два режима обучения: трансдуктивный (англ. transductive), когда модель видит весь граф сразу и предсказывает метки только для его части (полу-обучение с учителем), и индуктивный (англ. inductive), когда обученная модель должна обобщаться на новые, ранее не виденные вершины или целые графы.
Общая архитектура
В рамках GraphEDM любая модель машинного обучения на графах представляется как композиция трёх отображений[1].
Графовый кодировщик
Кодировщик (англ. graph encoder) «читает» граф и выдаёт эмбеддинги:
где — обучаемые параметры (веса). Можно представлять его как функцию, которая для каждой вершины смотрит на её собственные признаки и на признаки соседей и сжимает всю эту информацию в один короткий вектор.
По устройству кодировщики делят на:
- поверхностные (англ. shallow) — фактически просто таблица «вершина → вектор», в которой векторы обучаются как обычные параметры (по одному набору на каждую конкретную вершину). Так устроены DeepWalk и node2vec. Минус: модель привязана к конкретному графу и не умеет обобщаться на новые вершины;
- линейные — например, спектральное разложение лапласиана графа;
- глубокие — многослойная графовая нейронная сеть, каждый слой которой агрегирует информацию от соседей. Такие кодировщики работают как функция от признаков, поэтому могут обобщаться на новые вершины и графы.
Графовый декодировщик
Декодировщик (англ. graph decoder) решает обратную задачу: из векторов пытается восстановить либо структуру графа, либо нужные метки. В общем виде он распадается на два под-декодировщика:
- Структурный декодировщик
восстанавливает матрицу смежности или её часть. Типичный пример — оценка вероятности существования ребра между вершинами
и
:
где — сигмоида, а
— скалярное произведение эмбеддингов. Идея интуитивна: если две вершины «похожи» (их векторы сонаправлены), они с большей вероятностью связаны.
- Декодировщик меток
— обычная нейронная сеть-классификатор или регрессор поверх эмбеддингов, выдающая прогноз для задачи с учителем.
Функция потерь
Полная функция потерь GraphEDM — взвешенная сумма трёх компонент:
где:
-
— контролируемая потеря (англ. supervised loss), штраф за неверный прогноз меток (например, перекрёстная энтропия в классификации);
-
— потеря реконструкции графа (англ. graph reconstruction loss), штраф за то, что декодировщик плохо восстановил структуру связей;
-
— регуляризатор (например,
-норма параметров), не дающий модели «переобучиться»;
-
— гиперпараметры, балансирующие три цели.
Ключевое свойство схемы состоит в том, что выбор коэффициентов и конкретного вида ENC и DEC однозначно определяет, к какому семейству относится модель. Например, при
мы получаем «чистое» обучение без учителя, при
— обычную графовую классификацию.
Таксономия моделей
GraphEDM систематизирует методы по двум осям: (а) есть ли в данных метки (с учителем / без учителя) и (б) каков тип кодировщика (поверхностный или глубокий)[1].
Методы без учителя
При модель учится самостоятельно — её задача восстанавливать структуру графа из эмбеддингов.
- Методы матричной факторизации: Laplacian Eigenmaps[1], Graph Factorization, GraRep, HOPE. Кодировщик линейный, декодировщик восстанавливает функцию от
(например, саму матрицу смежности или матрицу совстречаемостей).
- Методы случайных блужданий: DeepWalk[1], node2vec[1], LINE. Идея: запустить из каждой вершины «прогулку» по графу, а затем выучить эмбеддинги так, чтобы часто встречающиеся вместе вершины имели похожие векторы — почти как Word2vec для слов, только вместо предложений используются траектории случайных блужданий.
- Графовые автокодировщики (GAE и VGAE)[1]. Кодировщик — графовая нейронная сеть, декодировщик восстанавливает
через скалярное произведение эмбеддингов. VGAE — вероятностная (вариационная) версия, ближайший «графовый родственник» вариационных автоэнкодеров.
Методы с учителем
При модель явно оптимизирует контролируемую цель (например, классификацию вершин), при необходимости дополнительно регуляризуясь графом.
- Графовые свёрточные сети (GCN)[1]. Кодировщик послойно обновляет представления:
где — матрица смежности с добавленными «петлями» (чтобы вершина учитывала и саму себя),
— соответствующая диагональная матрица степеней,
, а
— нелинейность (обычно ReLU). Грубо говоря, на каждом слое каждая вершина «усредняет» признаки своих соседей и пропускает результат через нелинейность; нормировка
нужна для того, чтобы вершины с большим числом соседей не «доминировали» в обновлениях.
- GraphSAGE[1] — индуктивное расширение GCN: агрегирует не всех соседей, а случайную выборку, что позволяет работать с очень большими графами и обобщать на новые, не виденные при обучении вершины.
- Graph Attention Networks (GAT)[1] — соседи агрегируются с разными весами, которые модель учит сама через механизм внимания: «более важным» соседям достаётся больше веса.
- Сети передачи сообщений (англ. Message Passing Neural Networks, MPNN)[1] — обобщающий взгляд: вершины обмениваются «сообщениями» по рёбрам и обновляют состояния. Большинство современных архитектур, включая GCN, GraphSAGE и GAT, укладываются в эту схему.
Современные расширения
После публикации GraphEDM появились новые семейства моделей, также описываемые этой схемой, но с более сложными кодировщиками:
- Графовые трансформеры (англ. Graph Transformer, Graphormer[1]) — переносят архитектуру трансформера на графы, позволяя каждой вершине напрямую «видеть» все остальные, а структура графа кодируется через позиционные кодировки (например, спектральные или основанные на случайных блужданиях).
- Графовые диффузионные модели для генерации новых графов (молекул, сценариев).
Связь с другими подходами
- Обучение представлений — эмбеддинги, получаемые ENC, и есть результат такого обучения; GraphEDM описывает, как извлекать представления из нерегулярных структур.
- Автоэнкодер — GraphEDM можно рассматривать как обобщение вариационных автоэнкодеров на графы[1].
- Геометрическое глубокое обучение (англ. geometric deep learning)[1] — общая программа обучения на нерегулярных областях (графы, многообразия, группы), в которую GraphEDM встраивается как частный случай для графов.
- Спектральная теория графов — многие кодировщики опираются на собственные функции лапласиана.
Применения
- Биоинформатика и хемоинформатика: предсказание свойств молекул, поиск лекарств[1], моделирование белок-белковых взаимодействий и сворачивания белков (в частности, в AlphaFold идеи передачи сообщений используются для уточнения структуры).
- Рекомендательные системы: граф «пользователь — товар»; модель PinSage, разработанная в Pinterest на основе GraphSAGE[1], работает на графе из миллиардов рёбер.
- Обработка естественного языка: графы знаний, синтаксические деревья.
- Социальные сети: детектирование сообществ, предсказание связей, моделирование распространения влияния.
- Компьютерное зрение: сцены как графы объектов, точечные облака в трёхмерной графике.
- Физика и моделирование: симуляция систем N тел, предсказание динамики частиц и жидкостей[1].
Для практической работы со схемой GraphEDM существуют специализированные библиотеки на основе PyTorch и TensorFlow — PyTorch Geometric (PyG), Deep Graph Library (DGL) и Spektral, реализующие большинство упомянутых архитектур в виде готовых модулей.
Ограничения и открытые проблемы
- Переглаживание (англ. over-smoothing) — если сделать сеть слишком глубокой, эмбеддинги всех вершин «расплываются» и становятся почти одинаковыми, теряя способность их различать[1].
- Бутылочное горлышко (англ. over-squashing) — экспоненциальное «сжатие» информации, идущей от дальних вершин: длинные зависимости передать тяжело, поскольку информация от
-удалённой вершины «протискивается» через сужающиеся участки графа[1].
- Ограниченная выразительная сила — большинство MPNN-моделей по способности различать графы не превосходят теста Вейсфейлера — Лемана первого порядка (1-WL), то есть существуют структурно разные графы, которые такая сеть в принципе не отличит[1].
- Масштабируемость к графам с миллиардами рёбер требует специальных приёмов (выборка соседей, кластеризация подграфов, разреженные представления).
- Динамические и гетерогенные графы — графы, меняющиеся во времени или содержащие вершины и рёбра разных типов, остаются областью активных исследований.
См. также
- Графовая нейронная сеть
- Автоэнкодер
- Вариационный автоэнкодер
- Обучение представлений
- Глубокое обучение
- Геометрическое глубокое обучение
- Свёрточная нейронная сеть
- Механизм внимания
- Трансформер
- Спектральная теория графов
- node2vec
- DeepWalk
- Матрица Лапласа
- Тест Вейсфейлера — Лемана
Примечания
Литература
- Chami I., Abu-El-Haija S., Perozzi B., Ré C., Murphy K. Machine Learning on Graphs: A Model and Comprehensive Taxonomy // Journal of Machine Learning Research. — 2022. — Т. 23. — № 89. — С. 1–64.
- Hamilton W. L. Graph Representation Learning // Synthesis Lectures on Artificial Intelligence and Machine Learning. — 2020. — Т. 14. — № 3. — С. 1–159.
- Ma Y., Tang J. Deep Learning on Graphs. — Cambridge University Press, 2021. — ISBN 978-1108831741
- Wu Z., Pan S., Chen F., Long G., Zhang C., Yu P. S. A Comprehensive Survey on Graph Neural Networks // IEEE Transactions on Neural Networks and Learning Systems. — 2021. — Т. 32. — № 1. — С. 4–24.
- Bronstein M. M., Bruna J., Cohen T., Veličković P. Geometric Deep Learning: Grids, Groups, Graphs, Geodesics, and Gauges. — 2021.
- Kipf T. N., Welling M. Semi-Supervised Classification with Graph Convolutional Networks // ICLR. — 2017.
- Veličković P., Cucurull G., Casanova A., Romero A., Liò P., Bengio Y. Graph Attention Networks // ICLR. — 2018.
- Hamilton W. L., Ying R., Leskovec J. Inductive Representation Learning on Large Graphs // NeurIPS. — 2017.
- Ying C., Cai T., Luo S., Zheng S., Ke G., He D., Shen Y., Liu T.-Y. Do Transformers Really Perform Bad for Graph Representation? // NeurIPS. — 2021.
- Topping J., Di Giovanni F., Chamberlain B. P., Dong X., Bronstein M. M. Understanding over-squashing and bottlenecks on graphs via curvature // ICLR. — 2022.
- Sanchez-Lengeling B., Reif E., Pearce A., Wiltschko A. B. A Gentle Introduction to Graph Neural Networks2021.
- Fey M., Lenssen J. E. PyTorch Geometric Documentation2024.

