Графовая нейронная сеть

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: {{well|Статья написана с использованием LLM '''Claude Opus 4.7''' и проверена участником Участник:Dan-Кhaiaa Lakpazhap 20:16...)
 
(4 промежуточные версии не показаны)
Строка 1: Строка 1:
-
{{well|Статья написана с использованием LLM '''Claude Opus 4.7''' и проверена участником [[Участник:Dan-Кhaiaa Lakpazhap]] 20:16, 30 июня 2026 (MSD).
+
{{well|Статья написана с использованием LLM '''Claude Sonnet 3.5''' и '''DeepSeek V4-Flash''' и проверена участником [[Участник:Dan-Кhaiaa Lakpazhap|Dan-Кhaiaa Lakpazhap]] 20:16, 30 июня 2026 (MSD). Промпт приводится полностью в [[Обсуждение:Графовая нейронная сеть]].}}
-
Промпт приводится полностью в [[Обсуждение:Обобщённый автокодировщик на графах GraphEDM]].
+
-
}}
+
{{TOCright}}
{{TOCright}}
-
'''Гра́фовая нейро́нная сеть''' (англ. ''Graph Neural Network'', '''GNN''') — класс [[Искусственная нейронная сеть|искусственных нейронных сетей]], предназначенных для работы с данными, представленными в виде [[Граф |графа]]: с [[Вершина графа|вершинами]] (узлами) и [[Ребро графа|рёбрами]], которые задают произвольные, не обязательно регулярные связи между объектами. В отличие от [[Свёрточная нейронная сеть|свёрточных нейронных сетей]] (работающих с сеткой пикселей) и [[Рекуррентная нейронная сеть|рекуррентных сетей]] (работающих с последовательностями), графовые нейронные сети обобщают идею локальной свёртки на данные без фиксированной структуры соседства, что делает их естественным инструментом [[Машинное обучение|машинного обучения]] на [[Социальная сеть (математика)|социальных сетях]], молекулах, дорожных сетях, [[Рекомендательная система|рекомендательных системах]], базах знаний и других графовых структурах<ref name="scarselli2009" /><ref name="zhou2020" />.
+
'''Гра́фовая нейро́нная сеть''' (англ. ''Graph Neural Network'', '''GNN''') — класс [[Искусственная нейронная сеть|искусственных нейронных сетей]], предназначенных для работы с данными, представленными в виде [[Граф|графа]]: с [[Вершина графа|вершинами]] (узлами) и [[Ребро графа|рёбрами]], которые задают произвольные, не обязательно регулярные связи между объектами. В отличие от [[Свёрточная нейронная сеть|свёрточных нейронных сетей]] (работающих с сеткой пикселей) и [[Рекуррентная нейронная сеть|рекуррентных сетей]] (работающих с последовательностями), графовые нейронные сети обобщают идею локальной свёртки на данные без фиксированной структуры соседства, что делает их естественным инструментом [[Машинное обучение|машинного обучения]] на [[Социальная сеть (математика)|социальных сетях]], молекулах, дорожных сетях, [[Рекомендательная система|рекомендательных системах]], базах знаний и других графовых структурах<ref name="scarselli2009">{{статья |автор=Scarselli F., Gori M., Tsoi A. C., Hagenbuchner M., Monfardini G. |заглавие=The Graph Neural Network Model |ссылка=https://ieeexplore.ieee.org/document/4700287 |язык=en |издание=IEEE Transactions on Neural Networks |год=2009 |том=20 |номер=1 |страницы=61—80 |doi=10.1109/TNN.2008.2005605}}</ref><ref name="zhou2020">{{статья |автор=Zhou J., Cui G., Hu S., Zhang Z., Yang C., Liu Z., Wang L., Li C., Sun M. |заглавие=Graph neural networks: A review of methods and applications |ссылка=https://arxiv.org/abs/1812.08434 |язык=en |издание=AI Open |год=2020 |том=1 |страницы=57—81 |doi=10.1016/j.aiopen.2021.01.001}}</ref>.
-
Ключевая идея GNN — '''передача сообщений''' (англ. ''message passing''): каждая вершина итеративно обновляет своё векторное представление ([[Эмбеддинг|эмбеддинг]]), агрегируя информацию от своих соседей. После нескольких раундов такого обновления представление вершины отражает не только её собственные признаки, но и структуру её локального (а при достаточной глубине — и более широкого) окружения в графе<ref name="gilmer2017" />.
+
Ключевая идея GNN — '''передача сообщений''' (англ. ''message passing''): каждая вершина итеративно обновляет своё векторное представление ([[Эмбеддинг|эмбеддинг]]), агрегируя информацию от своих соседей. После нескольких раундов такого обновления представление вершины отражает не только её собственные признаки, но и структуру её локального (а при достаточной глубине — и более широкого) окружения в графе<ref name="gilmer2017">{{статья |автор=Gilmer J., Schoenholz S. S., Riley P. F., Vinyals O., Dahl G. E. |заглавие=Neural Message Passing for Quantum Chemistry |ссылка=https://arxiv.org/abs/1704.01212 |язык=en |издание=Proceedings of the 34th International Conference on Machine Learning (ICML), PMLR 70 |год=2017 |страницы=1263—1272}}</ref>.
== История ==
== История ==
-
Идея применения нейронных сетей к графовым данным восходит к работам конца 1990-х — начала 2000-х годов о рекурсивных нейронных сетях для обработки направленных ациклических графов<ref name="scarselli2009" />. Термин «графовая нейронная сеть» и первая общая формализация модели, способной обрабатывать произвольные (в том числе циклические) графы через итеративный процесс распространения состояния до достижения неподвижной точки, были предложены Марко Гори, Габриэле Монфардини и Франко Скарселли в 2005 году<ref name="gori2005" />, а в развёрнутом виде — в статье Скарселли и соавторов 2009 года ''The Graph Neural Network Model''<ref name="scarselli2009" />.
+
Идея применения нейронных сетей к графовым данным восходит к работам конца 1990-х — начала 2000-х годов о рекурсивных нейронных сетях для обработки направленных ациклических графов<ref name="scarselli2009" />. Термин «графовая нейронная сеть» и первая общая формализация модели, способной обрабатывать произвольные (в том числе циклические) графы через итеративный процесс распространения состояния до достижения неподвижной точки, были предложены Марко Гори, Габриэле Монфардини и Франко Скарселли в 2005 году<ref name="gori2005">{{статья |автор=Gori M., Monfardini G., Scarselli F. |заглавие=A new model for learning in graph domains |язык=en |издание=Proceedings of the 2005 IEEE International Joint Conference on Neural Networks (IJCNN) |год=2005 |том=2 |страницы=729—734 |doi=10.1109/IJCNN.2005.1555942}}</ref>, а в развёрнутом виде — в статье Скарселли и соавторов 2009 года ''The Graph Neural Network Model''<ref name="scarselli2009" />.
-
Современный этап развития начался с переноса идей свёртки на графы. В 2013—2014 годах появились '''спектральные''' графовые свёртки, определяемые через [[Разложение по собственным значениям|спектр]] графового [[Лапласиан графа|лапласиана]]<ref name="bruna2014" />; в 2016 году Деффар, Брессон и Вандергейнст предложили эффективное приближение спектральных фильтров через полиномы Чебышёва (ChebNet)<ref name="defferrard2016" />. Переломным моментом стала статья Томаса Кипфа и Макса Веллинга 2017 года, упростившая спектральный подход до простого и эффективного слоя — '''графовой свёрточной сети''' (GCN)<ref name="kipf2017" />, после чего число публикаций по GNN стало расти экспоненциально. В последующие годы были предложены индуктивная модель '''GraphSAGE'''<ref name="hamilton2017" />, механизм внимания на графах '''GAT'''<ref name="velickovic2018" />, единый фреймворк '''сетей передачи сообщений''' (MPNN)<ref name="gilmer2017" /> и теоретически наиболее выразительная в своём классе '''графовая изоморфная сеть''' (GIN)<ref name="xu2019" />.
+
Современный этап развития начался с переноса идей свёртки на графы. В 2013—2014 годах появились '''спектральные''' графовые свёртки, определяемые через [[Разложение по собственным значениям|спектр]] графового [[Лапласиан графа|лапласиана]]<ref name="bruna2014">{{статья |автор=Bruna J., Zaremba W., Szlam A., LeCun Y. |заглавие=Spectral Networks and Locally Connected Networks on Graphs |ссылка=https://arxiv.org/abs/1312.6203 |язык=en |издание=International Conference on Learning Representations (ICLR) |год=2014}}</ref>; в 2016 году Деффар, Брессон и Вандергейнст предложили эффективное приближение спектральных фильтров через полиномы Чебышёва (ChebNet)<ref name="defferrard2016">{{статья |автор=Defferrard M., Bresson X., Vandergheynst P. |заглавие=Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering |ссылка=https://arxiv.org/abs/1606.09375 |язык=en |издание=Advances in Neural Information Processing Systems (NeurIPS) |год=2016 |том=29}}</ref>. Переломным моментом стала статья Томаса Кипфа и Макса Веллинга 2017 года, упростившая спектральный подход до простого и эффективного слоя — '''графовой свёрточной сети''' (GCN)<ref name="kipf2017">{{статья |автор=Kipf T. N., Welling M. |заглавие=Semi-Supervised Classification with Graph Convolutional Networks |ссылка=https://arxiv.org/abs/1609.02907 |язык=en |издание=International Conference on Learning Representations (ICLR) |год=2017}}</ref>, после чего число публикаций по GNN стало расти экспоненциально. В последующие годы были предложены индуктивная модель '''GraphSAGE'''<ref name="hamilton2017">{{статья |автор=Hamilton W. L., Ying R., Leskovec J. |заглавие=Inductive Representation Learning on Large Graphs |ссылка=https://arxiv.org/abs/1706.02216 |язык=en |издание=Advances in Neural Information Processing Systems (NeurIPS) |год=2017 |том=30}}</ref>, механизм внимания на графах '''GAT'''<ref name="velickovic2018">{{статья |автор=Veličković P., Cucurull G., Casanova A., Romero A., Liò P., Bengio Y. |заглавие=Graph Attention Networks |ссылка=https://arxiv.org/abs/1710.10903 |язык=en |издание=International Conference on Learning Representations (ICLR) |год=2018}}</ref>, единый фреймворк '''сетей передачи сообщений''' (MPNN)<ref name="gilmer2017" /> и теоретически наиболее выразительная в своём классе '''графовая изоморфная сеть''' (GIN)<ref name="xu2019">{{статья |автор=Xu K., Hu W., Leskovec J., Jegelka S. |заглавие=How Powerful are Graph Neural Networks? |ссылка=https://arxiv.org/abs/1810.00826 |язык=en |издание=International Conference on Learning Representations (ICLR) |год=2019}}</ref>.
== Формальные основания ==
== Формальные основания ==
=== Представление графа ===
=== Представление графа ===
-
Граф задаётся парой <tex>G = (V, E)</tex>, где <tex>V</tex> — множество вершин, а <tex>E \subseteq V \times V</tex> — множество рёбер. Структуру связей часто удобно описывать [[Матрица смежности|матрицей смежности]] <tex>A</tex> размера <tex>|V| \times |V|</tex>, а признаки вершин — матрицей <tex>X \in \mathbb{R}^{|V| \times d}</tex>, где строка <tex>x_v</tex> — вектор признаков вершины <tex>v</tex>. Рёбра также могут иметь собственные признаки (например, тип связи или вес), а граф в целом может быть направленным, взвешенным, гетерогенным (с несколькими типами вершин и рёбер) или динамическим (меняющимся во времени)<ref name="battaglia2018" />.
+
Граф задаётся парой <tex>G = (V, E)</tex>, где <tex>V</tex> — множество вершин, а <tex>E \subseteq V \times V</tex> — множество рёбер. Структуру связей часто удобно описывать [[Матрица смежности|матрицей смежности]] <tex>A</tex> размера <tex>|V| \times |V|</tex>, а признаки вершин — матрицей <tex>X \in \mathbb{R}^{|V| \times d}</tex>, где строка <tex>x_v</tex> — вектор признаков вершины <tex>v</tex>. Рёбра также могут иметь собственные признаки (например, тип связи или вес), а граф в целом может быть направленным, взвешенным, гетерогенным (с несколькими типами вершин и рёбер) или динамическим (меняющимся во времени)<ref name="battaglia2018">{{статья |автор=Battaglia P. W., Hamrick J. B., Bapst V. и др. |заглавие=Relational inductive biases, deep learning, and graph networks |ссылка=https://arxiv.org/abs/1806.01261 |язык=en |издание=arXiv preprint |год=2018}}</ref>.
=== Три типа задач ===
=== Три типа задач ===
Строка 27: Строка 25:
<tex>
<tex>
-
h_v^{(k)} = \text{UPDATE}^{(k)}\Big(h_v^{(k-1)},\; \text{AGGREGATE}^{(k)}\big(\{\,h_u^{(k-1)} : u \in \mathcal{N}(v)\,\}\big)\Big),
+
h_v^{(k)} = \text{UPDATE}^{(k)}\Big(h_v^{(k-1)},\; \text{AGGREGATE}^{(k)}\big(\{\,h_u^{(k-1)} \,|\, u \in \mathcal{N}(v)\,\}\big)\Big),
</tex>
</tex>
Строка 35: Строка 33:
<tex>
<tex>
-
h_G = \text{READOUT}\big(\{\,h_v^{(K)} : v \in V\,\}\big).
+
h_G = \text{READOUT}\big(\{\,h_v^{(K)} \,|\, v \in V\,\}\big).
</tex>
</tex>
Строка 56: Строка 54:
<tex>
<tex>
-
h_v^{(k)} = \sigma\Big(W^{(k)} \cdot \text{CONCAT}\big(h_v^{(k-1)},\; \text{AGG}_k(\{h_u^{(k-1)} : u \in \mathcal{N}(v)\})\big)\Big).
+
h_v^{(k)} = \sigma\Big(W^{(k)} \cdot \text{CONCAT}\big(h_v^{(k-1)},\; \text{AGG}_k(\{h_u^{(k-1)} \,|\, u \in \mathcal{N}(v)\})\big)\Big).
</tex>
</tex>
-
Это сделало GNN применимыми к очень большим и постоянно растущим графам, например к промышленным рекомендательным системам<ref name="ying2018" />.
+
Это сделало GNN применимыми к очень большим и постоянно растущим графам, например к промышленным рекомендательным системам<ref name="ying2018">{{статья |автор=Ying R., He R., Chen K., Eksombatchai P., Hamilton W. L., Leskovec J. |заглавие=Graph Convolutional Neural Networks for Web-Scale Recommender Systems |ссылка=https://arxiv.org/abs/1806.01973 |язык=en |издание=Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining |год=2018 |страницы=974—983 |doi=10.1145/3219819.3219890}}</ref>.
=== Графовые сети внимания (GAT) ===
=== Графовые сети внимания (GAT) ===
-
Велкович и соавторы предложили заменить фиксированные (нормированные по степени) веса соседей на веса, вычисляемые механизмом [[Механизм внимания|внимания]], — по аналогии с [[Трансформер |трансформерами]]<ref name="velickovic2018" />. Коэффициент внимания между вершинами <tex>i</tex> и <tex>j</tex> вычисляется как
+
Велкович и соавторы предложили заменить фиксированные (нормированные по степени) веса соседей на веса, вычисляемые механизмом [[Механизм внимания|внимания]], — по аналогии с [[Трансформер|трансформерами]]<ref name="velickovic2018" />. Коэффициент внимания между вершинами <tex>i</tex> и <tex>j</tex> вычисляется как
<tex>
<tex>
-
\alpha_{ij} = \frac{\exp\big(\text{LeakyReLU}(a^{T}[Wh_i \,\|\, Wh_j])\big)}{\sum_{k \in \mathcal{N}(i)} \exp\big(\text{LeakyReLU}(a^{T}[Wh_i \,\|\, Wh_k])\big)},
+
\alpha_{ij} = \frac{\exp\big(\text{LeakyReLU}(a^{T}[W h_i \| W h_j])\big)}{\sum_{k \in \mathcal{N}(i)} \exp\big(\text{LeakyReLU}(a^{T}[W h_i \| W h_k])\big)},
</tex>
</tex>
-
где <tex>W</tex> и <tex>a</tex> — обучаемые параметры, а <tex>\|</tex> — операция конкатенации. Итоговое представление вершины — взвешенная сумма представлений соседей с этими коэффициентами. Такой подход позволяет модели самой определять относительную значимость разных соседей, не завися от нормировки по степени вершины.
+
где <tex>W</tex> и <tex>a</tex> — обучаемые параметры, а <tex>{|}</tex> — операция конкатенации. Итоговое представление вершины — взвешенная сумма представлений соседей с этими коэффициентами. Такой подход позволяет модели самой определять относительную значимость разных соседей, не завися от нормировки по степени вершины.
=== Сети передачи сообщений и графовая изоморфная сеть (GIN) ===
=== Сети передачи сообщений и графовая изоморфная сеть (GIN) ===
Строка 79: Строка 77:
</tex>
</tex>
-
которая при подходящем выборе <tex>\text{MLP}</tex> провably (доказуемо) достигает различающей способности, равной тесту Вейсфейлера — Лемана, то есть является максимально мощной в классе GNN на основе суммирующей агрегации<ref name="xu2019" />.
+
которая при подходящем выборе <tex>\text{MLP}</tex> доказуемо достигает различающей способности, равной тесту Вейсфейлера — Лемана, то есть является максимально мощной в классе GNN на основе суммирующей агрегации<ref name="xu2019" />.
== Обучение ==
== Обучение ==
Строка 87: Строка 85:
=== Функции потерь ===
=== Функции потерь ===
-
Как и в остальном [[Глубокое обучение|глубоком обучении]], параметры GNN оптимизируются [[Метод обратного распространения ошибки|методом обратного распространения ошибки]] и вариантами [[Стохастический градиентный спуск|стохастического градиентного спуска]]. Выбор функции потерь зависит от задачи: перекрёстная энтропия для классификации вершин, ребёр или графов; среднеквадратичная ошибка для регрессии; при отсутствии размеченных данных применяются задачи '''самообучения''' (англ. ''self-supervised learning''), например реконструкция скрытых рёбер или максимизация взаимной информации между локальными и глобальными представлениями графа (''Deep Graph Infomax'').
+
Как и в остальном [[Глубокое обучение|глубоком обучении]], параметры GNN оптимизируются [[Метод обратного распространения ошибки|методом обратного распространения ошибки]] и вариантами [[Стохастический градиентный спуск|стохастического градиентного спуска]]. Выбор функции потерь зависит от задачи: перекрёстная энтропия для классификации вершин, рёбер или графов; среднеквадратичная ошибка для регрессии; при отсутствии размеченных данных применяются задачи '''самообучения''' (англ. ''self-supervised learning''), например реконструкция скрытых рёбер или максимизация взаимной информации между локальными и глобальными представлениями графа (''Deep Graph Infomax'').
=== Масштабирование на больших графах ===
=== Масштабирование на больших графах ===
Строка 95: Строка 93:
=== Переобучение сглаживанием (over-smoothing) ===
=== Переобучение сглаживанием (over-smoothing) ===
-
При увеличении числа слоёв GNN представления разных, даже далёких друг от друга вершин имеют тенденцию становиться неразличимыми — этот эффект называют '''переобучением сглаживанием''' (англ. ''over-smoothing''). Ли, Хань и Ву показали, что операция свёртки в GCN эквивалентна разновидности лапласова сглаживания признаков, из-за чего глубокие GCN быстро теряют дискриминативную способность<ref name="li2018" />. Уно и Судзуки формально доказали, что с ростом глубины информация об исходных признаках и локальной структуре графа экспоненциально затухает, если не используются пропускающие соединения или другие компенсирующие механизмы<ref name="oono2020" />.
+
При увеличении числа слоёв GNN представления разных, даже далёких друг от друга вершин имеют тенденцию становиться неразличимыми — этот эффект называют '''переобучением сглаживанием''' (англ. ''over-smoothing''). Ли, Хань и Ву показали, что операция свёртки в GCN эквивалентна разновидности лапласова сглаживания признаков, из-за чего глубокие GCN быстро теряют дискриминативную способность<ref name="li2018">{{статья |автор=Li Q., Han Z., Wu X.-M. |заглавие=Deeper Insights into Graph Convolutional Networks for Semi-Supervised Learning |ссылка=https://arxiv.org/abs/1801.07606 |язык=en |издание=Proceedings of the AAAI Conference on Artificial Intelligence |год=2018 |том=32 |страницы=3538—3545}}</ref>. Уно и Судзуки формально доказали, что с ростом глубины информация об исходных признаках и локальной структуре графа экспоненциально затухает, если не используются пропускающие соединения или другие компенсирующие механизмы<ref name="oono2020">{{статья |автор=Oono K., Suzuki T. |заглавие=Graph Neural Networks Exponentially Lose Expressive Power for Node Classification |ссылка=https://arxiv.org/abs/1905.10947 |язык=en |издание=International Conference on Learning Representations (ICLR) |год=2020}}</ref>.
=== Over-squashing («переобжатие» информации) ===
=== Over-squashing («переобжатие» информации) ===
-
Алон и Яхав описали смежную проблему — '''over-squashing''': при передаче сообщений через «узкие места» графа (например, длинные пути или мосты) экспоненциально растущий объём информации из дальней окрестности вынужденно «сжимается» в вектор фиксированной размерности, что искажает или теряет часть сигнала и ограничивает способность GNN учитывать дальние взаимодействия между вершинами<ref name="alon2021" />.
+
Алон и Яхав описали смежную проблему — '''over-squashing''': при передаче сообщений через «узкие места» графа (например, длинные пути или мосты) экспоненциально растущий объём информации из дальней окрестности вынужденно «сжимается» в вектор фиксированной размерности, что искажает или теряет часть сигнала и ограничивает способность GNN учитывать дальние взаимодействия между вершинами<ref name="alon2021">{{статья |автор=Alon U., Yahav E. |заглавие=On the Bottleneck of Graph Neural Networks and its Practical Implications |ссылка=https://arxiv.org/abs/2006.05205 |язык=en |издание=International Conference on Learning Representations (ICLR) |год=2021}}</ref>.
=== Устойчивость ===
=== Устойчивость ===
Строка 105: Строка 103:
== Применения ==
== Применения ==
* '''Химия и науки о материалах''' — предсказание физико-химических свойств молекул и поиск новых соединений на основе их графового представления (атомы — вершины, связи — рёбра)<ref name="gilmer2017" />.
* '''Химия и науки о материалах''' — предсказание физико-химических свойств молекул и поиск новых соединений на основе их графового представления (атомы — вершины, связи — рёбра)<ref name="gilmer2017" />.
-
* '''Структурная биология''' — GNN-подобные архитектуры, оперирующие графами атомов и остатков и обучающиеся на парных взаимодействиях, стали важной частью системы [[AlphaFold]], позволившей резко повысить точность предсказания трёхмерной структуры белков<ref name="jumper2021" />.
+
* '''Структурная биология''' — GNN-подобные архитектуры, оперирующие графами атомов и остатков и обучающиеся на парных взаимодействиях, стали важной частью системы [[AlphaFold]], позволившей резко повысить точность предсказания трёхмерной структуры белков<ref name="jumper2021">{{статья |автор=Jumper J., Evans R., Pritzel A. и др. |заглавие=Highly accurate protein structure prediction with AlphaFold |ссылка=https://www.nature.com/articles/s41586-021-03819-2 |язык=en |издание=Nature |год=2021 |том=596 |страницы=583—589 |doi=10.1038/s41586-021-03819-2}}</ref>.
* '''Рекомендательные системы''' — представление пользователей и товаров как двудольного графа и обучение их эмбеддингов свёрточными GNN легло в основу промышленной системы PinSAGE, применяемой в Pinterest<ref name="ying2018" />.
* '''Рекомендательные системы''' — представление пользователей и товаров как двудольного графа и обучение их эмбеддингов свёрточными GNN легло в основу промышленной системы PinSAGE, применяемой в Pinterest<ref name="ying2018" />.
-
* '''Транспортные и дорожные сети''' — GNN, моделирующая дорожную сеть как граф, используется компанией Google для предсказания времени прибытия (ETA) в сервисе Google Maps<ref name="derrow2021" />.
+
* '''Транспортные и дорожные сети''' — GNN, моделирующая дорожную сеть как граф, используется компанией Google для предсказания времени прибытия (ETA) в сервисе Google Maps<ref name="derrow2021">{{статья |автор=Derrow-Pinion A., She J., Wong D. и др. |заглавие=ETA Prediction with Graph Neural Networks in Google Maps |ссылка=https://arxiv.org/abs/2108.11482 |язык=en |издание=Proceedings of the 30th ACM International Conference on Information & Knowledge Management (CIKM) |год=2021 |страницы=3767—3776 |doi=10.1145/3459637.3481916}}</ref>.
* '''Социальные сети и анализ графов знаний''' — классификация пользователей, обнаружение сообществ, предсказание связей и дополнение баз знаний.
* '''Социальные сети и анализ графов знаний''' — классификация пользователей, обнаружение сообществ, предсказание связей и дополнение баз знаний.
* '''Компьютерное зрение и физика''' — распознавание сцен через графы объектов, моделирование физических систем частиц как взаимодействующих графов (''Interaction Networks'')<ref name="battaglia2018" />.
* '''Компьютерное зрение и физика''' — распознавание сцен через графы объектов, моделирование физических систем частиц как взаимодействующих графов (''Interaction Networks'')<ref name="battaglia2018" />.
== Современные направления ==
== Современные направления ==
-
Среди активных направлений исследований последних лет — графовые трансформеры, объединяющие идеи механизма внимания без ограничения на локальное соседство; согласование GNN с [[Большая языковая модель|большими языковыми моделями]] для работы с текстово-атрибутированными графами; и построение так называемых «графовых фундаментальных моделей» — предобученных на разнородных графах моделей, переносимых на новые предметные области без дообучения с нуля<ref name="samgpt2025" />.
+
Среди активных направлений исследований последних лет — графовые трансформеры, объединяющие идеи механизма внимания без ограничения на локальное соседство; согласование GNN с [[Большая языковая модель|большими языковыми моделями]] для работы с текстово-атрибутированными графами; и построение так называемых «графовых фундаментальных моделей» — предобученных на разнородных графах моделей, переносимых на новые предметные области без дообучения с нуля<ref name="samgpt2025">{{статья |автор=Yu X., Gong Z., Zhou C., Fang Y., Zhang H. |заглавие=SAMGPT: Text-free Graph Foundation Model for Multi-domain Pre-training and Cross-domain Adaptation |ссылка=https://arxiv.org/abs/2502.05424 |язык=en |издание=Proceedings of the ACM on Web Conference 2025 |год=2025 |страницы=1142—1153}}</ref>.
== См. также ==
== См. также ==
Строка 121: Строка 119:
* [[Трансформер]]
* [[Трансформер]]
* [[Механизм внимания]]
* [[Механизм внимания]]
-
* [[Граф ]]
+
* [[Граф]]
* [[Тест Вейсфейлера — Лемана]]
* [[Тест Вейсфейлера — Лемана]]
* [[Эмбеддинг]]
* [[Эмбеддинг]]
Строка 131: Строка 129:
== Примечания ==
== Примечания ==
-
<references>
+
{{примечания}}
-
 
+
-
<ref name="gori2005">{{статья |автор=Gori M., Monfardini G., Scarselli F. |заглавие=A new model for learning in graph domains |ссылка= |язык=en |издание=Proceedings of the 2005 IEEE International Joint Conference on Neural Networks (IJCNN) |год=2005 |том=2 |страницы=729—734 |doi=10.1109/IJCNN.2005.1555942}}</ref>
+
-
 
+
-
<ref name="scarselli2009">{{статья |автор=Scarselli F., Gori M., Tsoi A. C., Hagenbuchner M., Monfardini G. |заглавие=The Graph Neural Network Model |ссылка=https://ieeexplore.ieee.org/document/4700287 |язык=en |издание=IEEE Transactions on Neural Networks |год=2009 |том=20 |номер=1 |страницы=61—80 |doi=10.1109/TNN.2008.2005605}}</ref>
+
-
 
+
-
<ref name="bruna2014">{{статья |автор=Bruna J., Zaremba W., Szlam A., LeCun Y. |заглавие=Spectral Networks and Locally Connected Networks on Graphs |ссылка=https://arxiv.org/abs/1312.6203 |язык=en |издание=International Conference on Learning Representations (ICLR) |год=2014}}</ref>
+
-
 
+
-
<ref name="defferrard2016">{{статья |автор=Defferrard M., Bresson X., Vandergheynst P. |заглавие=Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering |ссылка=https://arxiv.org/abs/1606.09375 |язык=en |издание=Advances in Neural Information Processing Systems (NeurIPS) |год=2016 |том=29}}</ref>
+
-
 
+
-
<ref name="kipf2017">{{статья |автор=Kipf T. N., Welling M. |заглавие=Semi-Supervised Classification with Graph Convolutional Networks |ссылка=https://arxiv.org/abs/1609.02907 |язык=en |издание=International Conference on Learning Representations (ICLR) |год=2017}}</ref>
+
-
 
+
-
<ref name="hamilton2017">{{статья |автор=Hamilton W. L., Ying R., Leskovec J. |заглавие=Inductive Representation Learning on Large Graphs |ссылка=https://arxiv.org/abs/1706.02216 |язык=en |издание=Advances in Neural Information Processing Systems (NeurIPS) |год=2017 |том=30}}</ref>
+
-
 
+
-
<ref name="velickovic2018">{{статья |автор=Veličković P., Cucurull G., Casanova A., Romero A., Liò P., Bengio Y. |заглавие=Graph Attention Networks |ссылка=https://arxiv.org/abs/1710.10903 |язык=en |издание=International Conference on Learning Representations (ICLR) |год=2018}}</ref>
+
-
 
+
-
<ref name="gilmer2017">{{статья |автор=Gilmer J., Schoenholz S. S., Riley P. F., Vinyals O., Dahl G. E. |заглавие=Neural Message Passing for Quantum Chemistry |ссылка=https://arxiv.org/abs/1704.01212 |язык=en |издание=Proceedings of the 34th International Conference on Machine Learning (ICML), PMLR 70 |год=2017 |страницы=1263—1272}}</ref>
+
-
 
+
-
<ref name="xu2019">{{статья |автор=Xu K., Hu W., Leskovec J., Jegelka S. |заглавие=How Powerful are Graph Neural Networks? |ссылка=https://arxiv.org/abs/1810.00826 |язык=en |издание=International Conference on Learning Representations (ICLR) |год=2019}}</ref>
+
-
 
+
-
<ref name="battaglia2018">{{статья |автор=Battaglia P. W., Hamrick J. B., Bapst V. и др. |заглавие=Relational inductive biases, deep learning, and graph networks |ссылка=https://arxiv.org/abs/1806.01261 |язык=en |издание=arXiv preprint |год=2018 |номер=arXiv:1806.01261}}</ref>
+
-
 
+
-
<ref name="li2018">{{статья |автор=Li Q., Han Z., Wu X.-M. |заглавие=Deeper Insights into Graph Convolutional Networks for Semi-Supervised Learning |ссылка=https://arxiv.org/abs/1801.07606 |язык=en |издание=Proceedings of the AAAI Conference on Artificial Intelligence |год=2018 |том=32 |страницы=3538—3545}}</ref>
+
-
 
+
-
<ref name="oono2020">{{статья |автор=Oono K., Suzuki T. |заглавие=Graph Neural Networks Exponentially Lose Expressive Power for Node Classification |ссылка=https://arxiv.org/abs/1905.10947 |язык=en |издание=International Conference on Learning Representations (ICLR) |год=2020}}</ref>
+
-
 
+
-
<ref name="alon2021">{{статья |автор=Alon U., Yahav E. |заглавие=On the Bottleneck of Graph Neural Networks and its Practical Implications |ссылка=https://arxiv.org/abs/2006.05205 |язык=en |издание=International Conference on Learning Representations (ICLR) |год=2021}}</ref>
+
-
 
+
-
<ref name="ying2018">{{статья |автор=Ying R., He R., Chen K., Eksombatchai P., Hamilton W. L., Leskovec J. |заглавие=Graph Convolutional Neural Networks for Web-Scale Recommender Systems |ссылка=https://arxiv.org/abs/1806.01973 |язык=en |издание=Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining |год=2018 |страницы=974—983 |doi=10.1145/3219819.3219890}}</ref>
+
-
 
+
-
<ref name="derrow2021">{{статья |автор=Derrow-Pinion A., She J., Wong D. и др. |заглавие=ETA Prediction with Graph Neural Networks in Google Maps |ссылка=https://arxiv.org/abs/2108.11482 |язык=en |издание=Proceedings of the 30th ACM International Conference on Information & Knowledge Management (CIKM) |год=2021 |страницы=3767—3776 |doi=10.1145/3459637.3481916}}</ref>
+
-
 
+
-
<ref name="jumper2021">{{статья |автор=Jumper J., Evans R., Pritzel A. и др. |заглавие=Highly accurate protein structure prediction with AlphaFold |ссылка=https://www.nature.com/articles/s41586-021-03819-2 |язык=en |издание=Nature |год=2021 |том=596 |страницы=583—589 |doi=10.1038/s41586-021-03819-2}}</ref>
+
-
 
+
-
<ref name="zhou2020">{{статья |автор=Zhou J., Cui G., Hu S., Zhang Z., Yang C., Liu Z., Wang L., Li C., Sun M. |заглавие=Graph neural networks: A review of methods and applications |ссылка=https://arxiv.org/abs/1812.08434 |язык=en |издание=AI Open |год=2020 |том=1 |страницы=57—81 |doi=10.1016/j.aiopen.2021.01.001}}</ref>
+
-
 
+
-
<ref name="samgpt2025">{{статья |автор=Yu X., Gong Z., Zhou C., Fang Y., Zhang H. |заглавие=SAMGPT: Text-free Graph Foundation Model for Multi-domain Pre-training and Cross-domain Adaptation |ссылка=https://arxiv.org/abs/2502.05424 |язык=en |издание=Proceedings of the ACM on Web Conference 2025 |год=2025 |страницы=1142—1153}}</ref>
+
-
 
+
-
</references>
+
== Литература ==
== Литература ==
Строка 178: Строка 138:
* {{статья |автор=Gilmer J., Schoenholz S. S., Riley P. F., Vinyals O., Dahl G. E. |заглавие=Neural Message Passing for Quantum Chemistry |ссылка=https://arxiv.org/abs/1704.01212 |язык=en |издание=Proceedings of the 34th International Conference on Machine Learning (ICML), PMLR 70 |год=2017 |страницы=1263—1272}}
* {{статья |автор=Gilmer J., Schoenholz S. S., Riley P. F., Vinyals O., Dahl G. E. |заглавие=Neural Message Passing for Quantum Chemistry |ссылка=https://arxiv.org/abs/1704.01212 |язык=en |издание=Proceedings of the 34th International Conference on Machine Learning (ICML), PMLR 70 |год=2017 |страницы=1263—1272}}
* {{статья |автор=Xu K., Hu W., Leskovec J., Jegelka S. |заглавие=How Powerful are Graph Neural Networks? |ссылка=https://arxiv.org/abs/1810.00826 |язык=en |издание=International Conference on Learning Representations (ICLR) |год=2019}}
* {{статья |автор=Xu K., Hu W., Leskovec J., Jegelka S. |заглавие=How Powerful are Graph Neural Networks? |ссылка=https://arxiv.org/abs/1810.00826 |язык=en |издание=International Conference on Learning Representations (ICLR) |год=2019}}
-
* {{статья |автор=Battaglia P. W., Hamrick J. B., Bapst V. и др. |заглавие=Relational inductive biases, deep learning, and graph networks |ссылка=https://arxiv.org/abs/1806.01261 |язык=en |издание=arXiv preprint |год=2018 |номер=arXiv:1806.01261}}
+
* {{статья |автор=Battaglia P. W., Hamrick J. B., Bapst V. и др. |заглавие=Relational inductive biases, deep learning, and graph networks |ссылка=https://arxiv.org/abs/1806.01261 |язык=en |издание=arXiv preprint |год=2018}}
* {{статья |автор=Wu Z., Pan S., Chen F., Long G., Zhang C., Yu P. S. |заглавие=A Comprehensive Survey on Graph Neural Networks |ссылка=https://arxiv.org/abs/1901.00596 |язык=en |издание=IEEE Transactions on Neural Networks and Learning Systems |год=2021 |том=32 |номер=1 |страницы=4—24 |doi=10.1109/TNNLS.2020.2978386}}
* {{статья |автор=Wu Z., Pan S., Chen F., Long G., Zhang C., Yu P. S. |заглавие=A Comprehensive Survey on Graph Neural Networks |ссылка=https://arxiv.org/abs/1901.00596 |язык=en |издание=IEEE Transactions on Neural Networks and Learning Systems |год=2021 |том=32 |номер=1 |страницы=4—24 |doi=10.1109/TNNLS.2020.2978386}}
* {{статья |автор=Zhou J., Cui G., Hu S., Zhang Z., Yang C., Liu Z., Wang L., Li C., Sun M. |заглавие=Graph neural networks: A review of methods and applications |ссылка=https://arxiv.org/abs/1812.08434 |язык=en |издание=AI Open |год=2020 |том=1 |страницы=57—81 |doi=10.1016/j.aiopen.2021.01.001}}
* {{статья |автор=Zhou J., Cui G., Hu S., Zhang Z., Yang C., Liu Z., Wang L., Li C., Sun M. |заглавие=Graph neural networks: A review of methods and applications |ссылка=https://arxiv.org/abs/1812.08434 |язык=en |издание=AI Open |год=2020 |том=1 |страницы=57—81 |doi=10.1016/j.aiopen.2021.01.001}}
-
* {{книга |автор=Hamilton W. L. |заглавие=Graph Representation Learning |ссылка=https://www.cs.mcgill.ca/~wlh/grl_book/ |язык=en |место= |издательство=Morgan & Claypool Publishers |год=2020 |isbn=978-1681739632}}
+
* {{книга |автор=Hamilton W. L. |заглавие=Graph Representation Learning |ссылка=https://www.cs.mcgill.ca/~wlh/grl_book/ |язык=en |издательство=Morgan & Claypool Publishers |год=2020 |isbn=978-1681739632}}
* {{статья |автор=Jumper J., Evans R., Pritzel A. и др. |заглавие=Highly accurate protein structure prediction with AlphaFold |ссылка=https://www.nature.com/articles/s41586-021-03819-2 |язык=en |издание=Nature |год=2021 |том=596 |страницы=583—589 |doi=10.1038/s41586-021-03819-2}}
* {{статья |автор=Jumper J., Evans R., Pritzel A. и др. |заглавие=Highly accurate protein structure prediction with AlphaFold |ссылка=https://www.nature.com/articles/s41586-021-03819-2 |язык=en |издание=Nature |год=2021 |том=596 |страницы=583—589 |doi=10.1038/s41586-021-03819-2}}
* {{статья |автор=Derrow-Pinion A., She J., Wong D. и др. |заглавие=ETA Prediction with Graph Neural Networks in Google Maps |ссылка=https://arxiv.org/abs/2108.11482 |язык=en |издание=Proceedings of the 30th ACM International Conference on Information & Knowledge Management (CIKM) |год=2021 |страницы=3767—3776 |doi=10.1145/3459637.3481916}}
* {{статья |автор=Derrow-Pinion A., She J., Wong D. и др. |заглавие=ETA Prediction with Graph Neural Networks in Google Maps |ссылка=https://arxiv.org/abs/2108.11482 |язык=en |издание=Proceedings of the 30th ACM International Conference on Information & Knowledge Management (CIKM) |год=2021 |страницы=3767—3776 |doi=10.1145/3459637.3481916}}

Текущая версия

Статья написана с использованием LLM Claude Sonnet 3.5 и DeepSeek V4-Flash и проверена участником Dan-Кhaiaa Lakpazhap 20:16, 30 июня 2026 (MSD). Промпт приводится полностью в Обсуждение:Графовая нейронная сеть.


Содержание

Гра́фовая нейро́нная сеть (англ. Graph Neural Network, GNN) — класс искусственных нейронных сетей, предназначенных для работы с данными, представленными в виде графа: с вершинами (узлами) и рёбрами, которые задают произвольные, не обязательно регулярные связи между объектами. В отличие от свёрточных нейронных сетей (работающих с сеткой пикселей) и рекуррентных сетей (работающих с последовательностями), графовые нейронные сети обобщают идею локальной свёртки на данные без фиксированной структуры соседства, что делает их естественным инструментом машинного обучения на социальных сетях, молекулах, дорожных сетях, рекомендательных системах, базах знаний и других графовых структурах[1][1].

Ключевая идея GNN — передача сообщений (англ. message passing): каждая вершина итеративно обновляет своё векторное представление (эмбеддинг), агрегируя информацию от своих соседей. После нескольких раундов такого обновления представление вершины отражает не только её собственные признаки, но и структуру её локального (а при достаточной глубине — и более широкого) окружения в графе[1].

История

Идея применения нейронных сетей к графовым данным восходит к работам конца 1990-х — начала 2000-х годов о рекурсивных нейронных сетях для обработки направленных ациклических графов[1]. Термин «графовая нейронная сеть» и первая общая формализация модели, способной обрабатывать произвольные (в том числе циклические) графы через итеративный процесс распространения состояния до достижения неподвижной точки, были предложены Марко Гори, Габриэле Монфардини и Франко Скарселли в 2005 году[1], а в развёрнутом виде — в статье Скарселли и соавторов 2009 года The Graph Neural Network Model[1].

Современный этап развития начался с переноса идей свёртки на графы. В 2013—2014 годах появились спектральные графовые свёртки, определяемые через спектр графового лапласиана[1]; в 2016 году Деффар, Брессон и Вандергейнст предложили эффективное приближение спектральных фильтров через полиномы Чебышёва (ChebNet)[1]. Переломным моментом стала статья Томаса Кипфа и Макса Веллинга 2017 года, упростившая спектральный подход до простого и эффективного слоя — графовой свёрточной сети (GCN)[1], после чего число публикаций по GNN стало расти экспоненциально. В последующие годы были предложены индуктивная модель GraphSAGE[1], механизм внимания на графах GAT[1], единый фреймворк сетей передачи сообщений (MPNN)[1] и теоретически наиболее выразительная в своём классе графовая изоморфная сеть (GIN)[1].

Формальные основания

Представление графа

Граф задаётся парой G = (V, E), где V — множество вершин, а E \subseteq V \times V — множество рёбер. Структуру связей часто удобно описывать матрицей смежности A размера |V| \times |V|, а признаки вершин — матрицей X \in \mathbb{R}^{|V| \times d}, где строка x_v — вектор признаков вершины v. Рёбра также могут иметь собственные признаки (например, тип связи или вес), а граф в целом может быть направленным, взвешенным, гетерогенным (с несколькими типами вершин и рёбер) или динамическим (меняющимся во времени)[1].

Три типа задач

Задачи, решаемые GNN, обычно делят на три уровня[1]:

  • на уровне вершины (англ. node-level) — например, классификация вершин (предсказание категории пользователя в социальной сети) или регрессия на вершинах;
  • на уровне ребра (англ. edge-level) — например, предсказание связей (англ. link prediction), то есть оценка вероятности существования ребра между двумя вершинами;
  • на уровне графа (англ. graph-level) — классификация или регрессия над графом целиком, например предсказание свойства молекулы по её структуре.

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

Большинство современных архитектур GNN укладываются в единую вычислительную схему — фреймворк сетей передачи сообщений (англ. Message Passing Neural Networks, MPNN), предложенный Гилмером и соавторами[1]. На каждом слое k представление h_v^{(k)} вершины v обновляется по правилу


h_v^{(k)} = \text{UPDATE}^{(k)}\Big(h_v^{(k-1)},\; \text{AGGREGATE}^{(k)}\big(\{\,h_u^{(k-1)} \,|\, u \in \mathcal{N}(v)\,\}\big)\Big),

где \mathcal{N}(v) — множество соседей вершины v, \text{AGGREGATE} — некоторая функция агрегации, инвариантная к порядку элементов множества (например, сумма, среднее, максимум или обучаемая функция внимания), а \text{UPDATE} — обучаемая функция объединения (обычно однослойный перцептрон или рекуррентный блок). Начальное представление обычно полагают равным исходному вектору признаков: h_v^{(0)} = x_v. После K слоёв представление вершины отражает информацию из её K-окрестности (так называемое «рецептивное поле», по аналогии со свёрточными сетями).

Для задач уровня графа итоговые представления вершин объединяются функцией считывания (англ. readout), например суммированием или более сложным дифференцируемым пулингом:


h_G = \text{READOUT}\big(\{\,h_v^{(K)} \,|\, v \in V\,\}\big).

Основные архитектуры

Спектральные графовые свёрточные сети

Первый подход к обобщению свёртки на графы опирался на теорию обработки сигналов на графах: свёртка определялась как операция в спектральной области, заданной собственными векторами лапласиана графа[1]. Такой подход требовал дорогостоящего разложения матрицы O(|V|^3) и был плохо переносим между графами разной структуры. Деффар и соавторы предложили аппроксимировать спектральные фильтры полиномами Чебышёва степени K, что позволило вычислять свёртку локально, без явного разложения лапласиана[1].

Графовая свёрточная сеть (GCN)

Кипф и Веллинг показали, что при ограничении полинома Чебышёва первым порядком спектральный фильтр упрощается до одного линейного слоя, действующего на всю матрицу признаков[1]:


H^{(l+1)} = \sigma\Big(\tilde{D}^{-1/2}\,\tilde{A}\,\tilde{D}^{-1/2}\,H^{(l)}\,W^{(l)}\Big),

где \tilde{A} = A + I — матрица смежности с добавленными петлями (самопересылка), \tilde{D} — соответствующая ей диагональная матрица степеней, W^{(l)} — обучаемая матрица весов слоя, а \sigma — нелинейная функция активации (обычно ReLU). Эта модель, известная как GCN, стала одной из самых цитируемых работ в области и фактическим ориентиром для последующих архитектур благодаря простоте и хорошей масштабируемости[1].

GraphSAGE

Модель GCN исходно является трансдуктивной: она обучается сразу на всём графе, включая тестовые вершины, и плохо переносится на новые, ранее не виденные вершины. Хэмилтон, Ин и Лесковец предложили GraphSAGE (от SAmple and aggreGatE) — индуктивный подход, в котором для каждой вершины на каждом слое выбирается (сэмплируется) фиксированное число соседей, а функция агрегации обучается один раз и применяется затем к произвольным, в том числе ранее не встречавшимся, вершинам и графам[1]:


h_v^{(k)} = \sigma\Big(W^{(k)} \cdot \text{CONCAT}\big(h_v^{(k-1)},\; \text{AGG}_k(\{h_u^{(k-1)} \,|\, u \in \mathcal{N}(v)\})\big)\Big).

Это сделало GNN применимыми к очень большим и постоянно растущим графам, например к промышленным рекомендательным системам[1].

Графовые сети внимания (GAT)

Велкович и соавторы предложили заменить фиксированные (нормированные по степени) веса соседей на веса, вычисляемые механизмом внимания, — по аналогии с трансформерами[1]. Коэффициент внимания между вершинами i и j вычисляется как


\alpha_{ij} = \frac{\exp\big(\text{LeakyReLU}(a^{T}[W h_i \| W h_j])\big)}{\sum_{k \in \mathcal{N}(i)} \exp\big(\text{LeakyReLU}(a^{T}[W h_i \| W h_k])\big)},

где W и a — обучаемые параметры, а {|} — операция конкатенации. Итоговое представление вершины — взвешенная сумма представлений соседей с этими коэффициентами. Такой подход позволяет модели самой определять относительную значимость разных соседей, не завися от нормировки по степени вершины.

Сети передачи сообщений и графовая изоморфная сеть (GIN)

Гилмер и соавторы обобщили GCN, GraphSAGE, GAT и ряд других моделей (в том числе более ранние управляемые графовые сети, Gated Graph Neural Networks[1]) в единый фреймворк MPNN, включающий также признаки на рёбрах, что оказалось особенно полезным для задач хемоинформатики — предсказания свойств молекул[1].

Отдельный теоретический вопрос — какова предельная различающая способность GNN. Сю, Ху, Лесковец и Йегелка показали, что стандартные архитектуры (GCN, GraphSAGE) не могут различать некоторые простые, но неизоморфные графы, и что различающая способность любой GNN с передачей сообщений ограничена сверху классическим комбинаторным тестом Вейсфейлера — Лемана на изоморфизм графов. Они предложили графовую изоморфную сеть (англ. Graph Isomorphism Network, GIN) с агрегирующей функцией


h_v^{(k)} = \text{MLP}^{(k)}\Big((1+\epsilon^{(k)}) \cdot h_v^{(k-1)} + \sum_{u \in \mathcal{N}(v)} h_u^{(k-1)}\Big),

которая при подходящем выборе \text{MLP} доказуемо достигает различающей способности, равной тесту Вейсфейлера — Лемана, то есть является максимально мощной в классе GNN на основе суммирующей агрегации[1].

Обучение

Трансдуктивная и индуктивная постановки

В трансдуктивном сценарии обучения модель видит весь граф целиком (включая признаки и связи тестовых вершин), но не видит их меток; типичный пример — классификация вершин одного большого графа цитирования. В индуктивном сценарии модель должна уметь строить представления для вершин и графов, отсутствовавших на этапе обучения, — например, для новых пользователей социальной сети или новых молекул[1].

Функции потерь

Как и в остальном глубоком обучении, параметры GNN оптимизируются методом обратного распространения ошибки и вариантами стохастического градиентного спуска. Выбор функции потерь зависит от задачи: перекрёстная энтропия для классификации вершин, рёбер или графов; среднеквадратичная ошибка для регрессии; при отсутствии размеченных данных применяются задачи самообучения (англ. self-supervised learning), например реконструкция скрытых рёбер или максимизация взаимной информации между локальными и глобальными представлениями графа (Deep Graph Infomax).

Масштабирование на больших графах

Полный проход по всему графу на каждом шаге обучения неприменим для графов из миллионов и миллиардов вершин. Для решения этой проблемы применяются сэмплирование соседей (GraphSAGE)[1], сэмплирование подграфов (например, кластеризация графа перед формированием мини-пакетов) и другие методы приближённого вычисления градиента.

Проблемы и ограничения

Переобучение сглаживанием (over-smoothing)

При увеличении числа слоёв GNN представления разных, даже далёких друг от друга вершин имеют тенденцию становиться неразличимыми — этот эффект называют переобучением сглаживанием (англ. over-smoothing). Ли, Хань и Ву показали, что операция свёртки в GCN эквивалентна разновидности лапласова сглаживания признаков, из-за чего глубокие GCN быстро теряют дискриминативную способность[1]. Уно и Судзуки формально доказали, что с ростом глубины информация об исходных признаках и локальной структуре графа экспоненциально затухает, если не используются пропускающие соединения или другие компенсирующие механизмы[1].

Over-squashing («переобжатие» информации)

Алон и Яхав описали смежную проблему — over-squashing: при передаче сообщений через «узкие места» графа (например, длинные пути или мосты) экспоненциально растущий объём информации из дальней окрестности вынужденно «сжимается» в вектор фиксированной размерности, что искажает или теряет часть сигнала и ограничивает способность GNN учитывать дальние взаимодействия между вершинами[1].

Устойчивость

Как и другие нейросетевые модели, GNN уязвимы к состязательным (adversarial) возмущениям — небольшим изменениям структуры графа или признаков вершин, способным существенно изменить предсказание модели, что породило отдельное направление исследований по устойчивости и защите графовых моделей.

Применения

  • Химия и науки о материалах — предсказание физико-химических свойств молекул и поиск новых соединений на основе их графового представления (атомы — вершины, связи — рёбра)[1].
  • Структурная биология — GNN-подобные архитектуры, оперирующие графами атомов и остатков и обучающиеся на парных взаимодействиях, стали важной частью системы AlphaFold, позволившей резко повысить точность предсказания трёхмерной структуры белков[1].
  • Рекомендательные системы — представление пользователей и товаров как двудольного графа и обучение их эмбеддингов свёрточными GNN легло в основу промышленной системы PinSAGE, применяемой в Pinterest[1].
  • Транспортные и дорожные сети — GNN, моделирующая дорожную сеть как граф, используется компанией Google для предсказания времени прибытия (ETA) в сервисе Google Maps[1].
  • Социальные сети и анализ графов знаний — классификация пользователей, обнаружение сообществ, предсказание связей и дополнение баз знаний.
  • Компьютерное зрение и физика — распознавание сцен через графы объектов, моделирование физических систем частиц как взаимодействующих графов (Interaction Networks)[1].

Современные направления

Среди активных направлений исследований последних лет — графовые трансформеры, объединяющие идеи механизма внимания без ограничения на локальное соседство; согласование GNN с большими языковыми моделями для работы с текстово-атрибутированными графами; и построение так называемых «графовых фундаментальных моделей» — предобученных на разнородных графах моделей, переносимых на новые предметные области без дообучения с нуля[1].

См. также

Примечания

Литература

Личные инструменты