Графовая нейронная сеть
Материал из MachineLearning.
(Новая: {{well|Статья написана с использованием LLM '''Claude Opus 4.7''' и проверена участником Участник:Dan-Кhaiaa Lakpazhap 20:16...) |
|||
| (4 промежуточные версии не показаны) | |||
| Строка 1: | Строка 1: | ||
| - | {{well|Статья написана с использованием LLM '''Claude | + | {{well|Статья написана с использованием LLM '''Claude Sonnet 3.5''' и '''DeepSeek V4-Flash''' и проверена участником [[Участник:Dan-Кhaiaa Lakpazhap|Dan-Кhaiaa Lakpazhap]] 20:16, 30 июня 2026 (MSD). Промпт приводится полностью в [[Обсуждение:Графовая нейронная сеть]].}} |
| - | Промпт приводится полностью в [[Обсуждение: | + | |
| - | }} | + | |
{{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)} | + | 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)} | + | 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)} | + | 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}[ | + | \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>W</tex> и <tex>a</tex> — обучаемые параметры, а <tex>{|}</tex> — операция конкатенации. Итоговое представление вершины — взвешенная сумма представлений соседей с этими коэффициентами. Такой подход позволяет модели самой определять относительную значимость разных соседей, не завися от нормировки по степени вершины. |
=== Сети передачи сообщений и графовая изоморфная сеть (GIN) === | === Сети передачи сообщений и графовая изоморфная сеть (GIN) === | ||
| Строка 79: | Строка 77: | ||
</tex> | </tex> | ||
| - | которая при подходящем выборе <tex>\text{MLP}</tex> | + | которая при подходящем выборе <tex>\text{MLP}</tex> доказуемо достигает различающей способности, равной тесту Вейсфейлера — Лемана, то есть является максимально мощной в классе GNN на основе суммирующей агрегации<ref name="xu2019" />. |
== Обучение == | == Обучение == | ||
| Строка 87: | Строка 85: | ||
=== Функции потерь === | === Функции потерь === | ||
| - | Как и в остальном [[Глубокое обучение|глубоком обучении]], параметры GNN оптимизируются [[Метод обратного распространения ошибки|методом обратного распространения ошибки]] и вариантами [[Стохастический градиентный спуск|стохастического градиентного спуска]]. Выбор функции потерь зависит от задачи: перекрёстная энтропия для классификации вершин, | + | Как и в остальном [[Глубокое обучение|глубоком обучении]], параметры 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: | ||
== Примечания == | == Примечания == | ||
| - | + | {{примечания}} | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
== Литература == | == Литература == | ||
| Строка 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 | + | * {{статья |автор=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 | + | * {{книга |автор=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].
Формальные основания
Представление графа
Граф задаётся парой , где
— множество вершин, а
— множество рёбер. Структуру связей часто удобно описывать матрицей смежности
размера
, а признаки вершин — матрицей
, где строка
— вектор признаков вершины
. Рёбра также могут иметь собственные признаки (например, тип связи или вес), а граф в целом может быть направленным, взвешенным, гетерогенным (с несколькими типами вершин и рёбер) или динамическим (меняющимся во времени)[1].
Три типа задач
Задачи, решаемые GNN, обычно делят на три уровня[1]:
- на уровне вершины (англ. node-level) — например, классификация вершин (предсказание категории пользователя в социальной сети) или регрессия на вершинах;
- на уровне ребра (англ. edge-level) — например, предсказание связей (англ. link prediction), то есть оценка вероятности существования ребра между двумя вершинами;
- на уровне графа (англ. graph-level) — классификация или регрессия над графом целиком, например предсказание свойства молекулы по её структуре.
Передача сообщений
Большинство современных архитектур GNN укладываются в единую вычислительную схему — фреймворк сетей передачи сообщений (англ. Message Passing Neural Networks, MPNN), предложенный Гилмером и соавторами[1]. На каждом слое представление
вершины
обновляется по правилу
где — множество соседей вершины
,
— некоторая функция агрегации, инвариантная к порядку элементов множества (например, сумма, среднее, максимум или обучаемая функция внимания), а
— обучаемая функция объединения (обычно однослойный перцептрон или рекуррентный блок). Начальное представление обычно полагают равным исходному вектору признаков:
. После
слоёв представление вершины отражает информацию из её
-окрестности (так называемое «рецептивное поле», по аналогии со свёрточными сетями).
Для задач уровня графа итоговые представления вершин объединяются функцией считывания (англ. readout), например суммированием или более сложным дифференцируемым пулингом:
Основные архитектуры
Спектральные графовые свёрточные сети
Первый подход к обобщению свёртки на графы опирался на теорию обработки сигналов на графах: свёртка определялась как операция в спектральной области, заданной собственными векторами лапласиана графа[1]. Такой подход требовал дорогостоящего разложения матрицы и был плохо переносим между графами разной структуры. Деффар и соавторы предложили аппроксимировать спектральные фильтры полиномами Чебышёва степени
, что позволило вычислять свёртку локально, без явного разложения лапласиана[1].
Графовая свёрточная сеть (GCN)
Кипф и Веллинг показали, что при ограничении полинома Чебышёва первым порядком спектральный фильтр упрощается до одного линейного слоя, действующего на всю матрицу признаков[1]:
где — матрица смежности с добавленными петлями (самопересылка),
— соответствующая ей диагональная матрица степеней,
— обучаемая матрица весов слоя, а
— нелинейная функция активации (обычно ReLU). Эта модель, известная как GCN, стала одной из самых цитируемых работ в области и фактическим ориентиром для последующих архитектур благодаря простоте и хорошей масштабируемости[1].
GraphSAGE
Модель GCN исходно является трансдуктивной: она обучается сразу на всём графе, включая тестовые вершины, и плохо переносится на новые, ранее не виденные вершины. Хэмилтон, Ин и Лесковец предложили GraphSAGE (от SAmple and aggreGatE) — индуктивный подход, в котором для каждой вершины на каждом слое выбирается (сэмплируется) фиксированное число соседей, а функция агрегации обучается один раз и применяется затем к произвольным, в том числе ранее не встречавшимся, вершинам и графам[1]:
Это сделало GNN применимыми к очень большим и постоянно растущим графам, например к промышленным рекомендательным системам[1].
Графовые сети внимания (GAT)
Велкович и соавторы предложили заменить фиксированные (нормированные по степени) веса соседей на веса, вычисляемые механизмом внимания, — по аналогии с трансформерами[1]. Коэффициент внимания между вершинами и
вычисляется как
где и
— обучаемые параметры, а
— операция конкатенации. Итоговое представление вершины — взвешенная сумма представлений соседей с этими коэффициентами. Такой подход позволяет модели самой определять относительную значимость разных соседей, не завися от нормировки по степени вершины.
Сети передачи сообщений и графовая изоморфная сеть (GIN)
Гилмер и соавторы обобщили GCN, GraphSAGE, GAT и ряд других моделей (в том числе более ранние управляемые графовые сети, Gated Graph Neural Networks[1]) в единый фреймворк MPNN, включающий также признаки на рёбрах, что оказалось особенно полезным для задач хемоинформатики — предсказания свойств молекул[1].
Отдельный теоретический вопрос — какова предельная различающая способность GNN. Сю, Ху, Лесковец и Йегелка показали, что стандартные архитектуры (GCN, GraphSAGE) не могут различать некоторые простые, но неизоморфные графы, и что различающая способность любой GNN с передачей сообщений ограничена сверху классическим комбинаторным тестом Вейсфейлера — Лемана на изоморфизм графов. Они предложили графовую изоморфную сеть (англ. Graph Isomorphism Network, GIN) с агрегирующей функцией
которая при подходящем выборе доказуемо достигает различающей способности, равной тесту Вейсфейлера — Лемана, то есть является максимально мощной в классе 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].
См. также
- Искусственная нейронная сеть
- Глубокое обучение
- Свёрточная нейронная сеть
- Рекуррентная нейронная сеть
- Трансформер
- Механизм внимания
- Граф
- Тест Вейсфейлера — Лемана
- Эмбеддинг
- Обучение представлений
- Рекомендательная система
- Хемоинформатика
- AlphaFold
- Обучение с учителем
Примечания
Литература
- Scarselli F., Gori M., Tsoi A. C., Hagenbuchner M., Monfardini G. The Graph Neural Network Model // IEEE Transactions on Neural Networks. — 2009. — Т. 20. — № 1. — С. 61—80.
- Kipf T. N., Welling M. Semi-Supervised Classification with Graph Convolutional Networks // International Conference on Learning Representations (ICLR). — 2017.
- Hamilton W. L., Ying R., Leskovec J. Inductive Representation Learning on Large Graphs // Advances in Neural Information Processing Systems (NeurIPS). — 2017. — Т. 30.
- Veličković P., Cucurull G., Casanova A., Romero A., Liò P., Bengio Y. Graph Attention Networks // International Conference on Learning Representations (ICLR). — 2018.
- Gilmer J., Schoenholz S. S., Riley P. F., Vinyals O., Dahl G. E. Neural Message Passing for Quantum Chemistry // 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? // International Conference on Learning Representations (ICLR). — 2019.
- Battaglia P. W., Hamrick J. B., Bapst V. и др. Relational inductive biases, deep learning, and graph networks // arXiv preprint. — 2018.
- 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.
- 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 // AI Open. — 2020. — Т. 1. — С. 57—81.
- Hamilton W. L. Graph Representation Learning. — Morgan & Claypool Publishers, 2020. — ISBN 978-1681739632
- Jumper J., Evans R., Pritzel A. и др. Highly accurate protein structure prediction with AlphaFold // Nature. — 2021. — Т. 596. — С. 583—589.
- Derrow-Pinion A., She J., Wong D. и др. ETA Prediction with Graph Neural Networks in Google Maps // Proceedings of the 30th ACM International Conference on Information & Knowledge Management (CIKM). — 2021. — С. 3767—3776.

