Графовая нейронная сеть ( GNN ) относится к классу искусственных нейронных сетей для обработки данных, которые могут быть представлены в виде графов . [1] [2] [3] [4] [5]
Ключевым элементом дизайна GNN является использование попарной передачи сообщений , так что узлы графа итеративно обновляют свои представления, обмениваясь информацией со своими соседями. Было предложено несколько архитектур GNN, [2] [3] [7] [8] [9], которые реализуют различные разновидности передачи сообщений, [6] [10] начатые рекурсивными [2] или сверточным конструктивным [3] подходами. По состоянию на 2022 год [update]остается открытым вопрос, возможно ли определить архитектуры GNN, «выходящие за рамки» передачи сообщений, или вместо этого каждая GNN может быть построена на передаче сообщений по соответствующим образом определенным графам. [11]
Библиотеки с открытым исходным кодом, реализующие GNN, включают PyTorch Geometric [20] ( PyTorch ), TensorFlow GNN [21] ( TensorFlow ), Deep Graph Library [22] (независимая от фреймворка), jraph [23] ( Google JAX ) и GraphNeuralNetworks.jl [24] /GeometricFlux.jl [25] ( Julia , Flux ).
Архитектура
Архитектура общей GNN реализует следующие основные слои : [6]
Эквивариант перестановки : эквивариантный слой перестановки отображает представление графа в обновленное представление того же графа. В литературе эквивариантные слои перестановки реализуются посредством попарной передачи сообщений между узлами графа. [6] [11] Интуитивно понятно, что в слое передачи сообщений узлы обновляют свои представления , агрегируя сообщения , полученные от своих непосредственных соседей. Таким образом, каждый слой передачи сообщений увеличивает рецептивное поле GNN на один скачок.
Глобальное объединение : глобальный слой объединения, также известный как слой считывания , обеспечивает представление всего графа в фиксированном размере. Глобальный слой объединения должен быть инвариантным к перестановкам, так что перестановки в порядке узлов и ребер графа не изменяют конечный вывод. [28] Примеры включают поэлементную сумму, среднее или максимум.
Было продемонстрировано, что GNN не могут быть более выразительными, чем тест на изоморфизм графов Вайсфейлера–Лемана . [29] [30] На практике это означает, что существуют различные структуры графов (например, молекулы с одинаковыми атомами , но разными связями ), которые не могут быть различены GNN. Могут быть разработаны более мощные GNN, работающие с геометриями более высокой размерности, такими как симплициальные комплексы . [31] [32] [10] По состоянию на 2022 год [update], вопрос о том, преодолеют ли будущие архитектуры примитив передачи сообщений, остается открытым. [11]
Уровни передачи сообщений
Слои передачи сообщений — это перестановочно-эквивариантные слои, отображающие граф в обновленное представление того же графа. Формально их можно выразить как нейронные сети передачи сообщений (MPNN). [6]
Пусть будет графом , где — множество узлов , а — множество ребер . Пусть — соседство некоторого узла . Кроме того, пусть — признаки узла , а — признаки ребра . Слой MPNN можно выразить следующим образом: [6]
где и являются дифференцируемыми функциями (например, искусственные нейронные сети ), а является инвариантным к перестановкам оператором агрегации , который может принимать произвольное количество входных данных (например, поэлементную сумму, среднее или максимальное значение). В частности, и называются функциями обновления и сообщения соответственно. Интуитивно понятно, что в вычислительном блоке MPNN узлы графа обновляют свои представления, агрегируя сообщения , полученные от своих соседей.
Выходы одного или нескольких слоев MPNN являются представлениями узлов для каждого узла в графе. Представления узлов могут использоваться для любой задачи нисходящего потока, такой как классификация узлов/графов или прогнозирование ребер.
Узлы графа в MPNN обновляют свое представление, агрегируя информацию от своих непосредственных соседей. Таким образом, наложение слоев MPNN означает, что один узел сможет общаться с узлами, которые находятся не более чем в «прыжках». В принципе, чтобы гарантировать, что каждый узел получает информацию от каждого другого узла, нужно наложить друг на друга количество слоев MPNN, равное диаметру графа . Однако наложение многих слоев MPNN может вызвать такие проблемы, как чрезмерное сглаживание [33] и чрезмерное сжатие. [34] Чрезмерное сглаживание относится к проблеме неразличимости представлений узлов. Чрезмерное сжатие относится к узкому месту, которое создается путем сжатия долгосрочных зависимостей в представления фиксированного размера. Контрмеры, такие как пропуски соединений [8] [35] (как в остаточных нейронных сетях ), правила обновления с гейтом [36] и переход знаний [37], могут смягчить чрезмерное сглаживание. Изменение последнего слоя таким образом, чтобы он стал полностью смежным слоем, т. е. рассмотрение графа как полного графа , может смягчить чрезмерное сжатие в задачах, где требуются зависимости на больших расстояниях. [34]
В литературе описаны и другие «разновидности» MPNN [6], такие как графовые сверточные сети [7] и графовые сети внимания [9] , определения которых можно выразить в терминах формализма MPNN.
Графовая сверточная сеть
Графовая сверточная сеть (GCN) была впервые представлена Томасом Кипфом и Максом Веллингом в 2017 году. [7]
Формальное выражение слоя GCN выглядит следующим образом:
где — матрица представлений узлов , — матрица признаков узлов , — функция активации (например, ReLU ), — матрица смежности графа с добавлением петель, — матрица степеней графа с добавлением петель и — матрица обучаемых параметров.
Ограничением GCN является то, что они не допускают многомерных характеристик ребер . [7] Однако возможно связать скалярные веса с каждым ребром, налагая , т. е. устанавливая каждый ненулевой элемент в матрице смежности равным весу соответствующего ребра.
Графическая сеть внимания
Графическая сеть внимания (GAT) была представлена Петаром Величковичем и др. в 2018 году. [9]
Графовая сеть внимания представляет собой комбинацию графовой нейронной сети и слоя внимания. Реализация слоя внимания в графических нейронных сетях помогает обеспечить внимание или фокусировку на важной информации из данных вместо фокусировки на всех данных.
Многоголовочный слой GAT можно выразить следующим образом:
где — количество головок внимания , обозначает конкатенацию векторов , — функция активации (например, ReLU ), — коэффициенты внимания, — матрица обучаемых параметров для -й головки внимания.
Для последнего слоя GAT выходные данные от каждой головки внимания усредняются перед применением функции активации. Формально последний слой GAT можно записать как:
Внимание в машинном обучении — это метод, который имитирует когнитивное внимание . В контексте обучения на графах коэффициент внимания измеряет, насколько важен узел для узла .
Нормализованные коэффициенты внимания вычисляются следующим образом:
где — вектор обучаемых весов, указывает транспонирование , — признаки ребер (если присутствуют), а — модифицированная функция активации ReLU . Коэффициенты внимания нормализованы, чтобы сделать их легко сопоставимыми по разным узлам. [9]
GCN можно рассматривать как особый случай GAT, где коэффициенты внимания не поддаются обучению, а являются фиксированными и равными весам ребер .
Нейронная сеть с управляемой графовой последовательностью
Нейронная сеть с управляемой графовой последовательностью (GGS-NN) была представлена Юцзя Ли и др. в 2015 году. [36] GGS-NN расширяет формулировку GNN Скарселли и др. [2] для выходных последовательностей. Структура передачи сообщений реализована как правило обновления для ячейки управляемой рекуррентной единицы (GRU).
GGS-NN можно выразить следующим образом:
где обозначает векторную конкатенацию , — вектор нулей, — матрица обучаемых параметров, — ячейка GRU, а обозначает индекс последовательности. В GGS-NN представления узлов рассматриваются как скрытые состояния ячейки GRU. Начальные признаки узлов дополняются нулями до скрытого измерения состояния ячейки GRU. Та же ячейка GRU используется для обновления представлений для каждого узла.
Локальные слои объединения
Локальные слои пула огрубляют граф посредством понижения дискретизации. Мы представляем здесь несколько обучаемых стратегий локального пула, которые были предложены. [28] Для каждого случая входными данными является исходный граф, представленный матрицей признаков узлов и матрицей смежности графа . Выходными данными является новая матрица признаков узлов и новая матрица смежности графа .
Объединение топ-k
Сначала мы устанавливаем
где — изучаемый вектор проекции . Вектор проекции вычисляет скалярное значение проекции для каждого узла графа.
Слой объединения top-k [26] можно формализовать следующим образом:
где — подмножество узлов с наивысшими оценками проекции top-k, обозначает поэлементное умножение матриц , а — сигмоидальная функция . Другими словами, узлы с наивысшими оценками проекции top-k сохраняются в новой матрице смежности . Операция делает вектор проекции обучаемым с помощью обратного распространения , которое в противном случае давало бы дискретные выходные данные. [26]
Объединение собственного внимания
Сначала мы устанавливаем
где — это общий перестановочно-эквивариантный слой GNN (например, GCN, GAT, MPNN).
Слой объединения собственного внимания [27] можно формализовать следующим образом:
где — подмножество узлов с наивысшими оценками проекций top-k, обозначает поэлементное умножение матриц .
Слой пула собственного внимания можно рассматривать как расширение слоя пула top-k. В отличие от пула top-k, оценки собственного внимания, вычисляемые в пуле собственного внимания, учитывают как особенности графа, так и топологию графа.
Приложения
Сворачивание белка
Графовые нейронные сети являются одним из основных строительных блоков AlphaFold , программы искусственного интеллекта, разработанной DeepMind от Google для решения проблемы сворачивания белка в биологии . AlphaFold заняла первое место в нескольких соревнованиях CASP . [38] [39] [37]
Социальные сети
Социальные сети являются основной областью применения GNN из-за их естественного представления в виде социальных графов . GNN используются для разработки рекомендательных систем, основанных как на социальных отношениях, так и на отношениях между элементами. [40] [13]
Комбинаторная оптимизация
GNN используются в качестве основных строительных блоков для нескольких комбинаторных алгоритмов оптимизации. [41] Примерами служат вычисление кратчайших путей или эйлеровых цепей для заданного графа, [36] получение размещений чипов, превосходящих или конкурентоспособных по сравнению с решениями, созданными вручную людьми, [42] и улучшение разработанных экспертами правил ветвления в ветвях и границах . [43]
Кибербезопасность
Если рассматривать сеть компьютеров как граф, то ее можно проанализировать с помощью GNN для обнаружения аномалий. Аномалии в графах происхождения часто коррелируют с вредоносной активностью в сети. GNN использовались для выявления этих аномалий на отдельных узлах [44] и внутри путей [45] для обнаружения вредоносных процессов или на уровне границ [46] для обнаружения бокового движения .
Водораспределительные сети
Системы распределения воды можно моделировать в виде графов, что является простым применением GNN. Этот тип алгоритма применялся для прогнозирования спроса на воду, [47] соединяя районные измерительные области для улучшения возможностей прогнозирования. Другое применение этого алгоритма для моделирования распределения воды — разработка метамоделей. [48]
^ abcdefg Бронштейн, Майкл М.; Бруна, Джоан; Коэн, Тако; Величкович, Петар (4 мая 2021 г.). «Геометрическое глубокое обучение: сетки, группы, графы, геодезические линии и калибры». arXiv : 2104.13478 [cs.LG].
^ abcd Кипф, Томас Н; Уэллинг, Макс (2016). «Полуконтролируемая классификация с графовыми сверточными сетями». Труды IEEE по нейронным сетям . 5 (1): 61–80. arXiv : 1609.02907 . doi : 10.1109/TNN.2008.2005605. PMID 19068426. S2CID 206756462.
^ ab Гамильтон, Уильям; Ин, Рекс; Лесковец, Юре (2017). «Индуктивное обучение представлению на больших графах» (PDF) . Нейронные системы обработки информации . 31. arXiv : 1706.02216 – через Стэнфорд.
^ abcd Величкович, Петар; Кукурулл, Гиллем; Казанова, Арантча; Ромеро, Адриана; Лио, Пьетро; Бенджио, Йошуа (04 февраля 2018 г.). «Графовые сети внимания». arXiv : 1710.10903 [stat.ML].
^ Аб Хаджидж, М.; Замзми, Г.; Папамарку, Т.; Миолане, Н.; Гусман-Саенс, А.; Рамамурти, КНЦ; Шауб, Монтана (2022). «Топологическое глубокое обучение: выход за рамки графических данных». arXiv : 2206.00606 [cs.LG].
^ Чжан, Вэйхан; Цуй, Ян; Лю, Боуэн; Лоза, Мартин; Пак, Сон-Джун; Накай, Кента (5 апреля 2024 г.). "HyGAnno: Гибридная графическая нейронная сеть на основе аннотации типов клеток для данных секвенирования ATAC отдельных клеток". Briefings in Bioinformatics . 25 (3): bbae152. doi :10.1093/bib/bbae152. PMC 10998639. PMID 38581422 .
^ Гилмер, Джастин; Шенхольц, Сэмюэл С.; Райли, Патрик Ф.; Виньялс, Ориол; Даль, Джордж Э. (2017-07-17). «Нейронная передача сообщений для квантовой химии». Труды исследований машинного обучения : 1263–1272. arXiv : 1704.01212 .
^ Coley, Connor W.; Jin, Wengong; Rogers, Luke; Jamison, Timothy F.; Jaakkola, Tommi S.; Green, William H.; Barzilay, Regina; Jensen, Klavs F. (2019-01-02). "Графово-сверточная модель нейронной сети для прогнозирования химической реактивности". Chemical Science . 10 (2): 370–377. doi : 10.1039/C8SC04228D . ISSN 2041-6539. PMC 6335848 . PMID 30746086.
^ Касим, Шахрукх; Киселер, Ян; Иияма, Ютаро; Пьерини, Маурицио Пьерини (2019). «Изучение представлений нерегулярной геометрии детектора частиц с помощью сетей графов, взвешенных по расстоянию». Европейский физический журнал C . 79 (7): 608. arXiv : 1902.07987 . Бибкод : 2019EPJC...79..608Q. doi : 10.1140/epjc/s10052-019-7113-9 . S2CID 88518244.
^ Ли, Чжувэнь; Чэнь, Цифэн; Колтун, Владлен (2018). «Комбинаторная оптимизация с графовыми сверточными сетями и управляемым поиском по дереву». Neural Information Processing Systems . 31 : 537–546. arXiv : 1810.10659 . doi : 10.1007/978-3-030-04221-9_48.
^ Маттиас, Фей; Ленссен, Ян Э. (2019). «Быстрое обучение представлению графов с помощью PyTorch Geometric». arXiv : 1903.02428 [cs.LG].
^ "Тензорный поток GNN". Гитхаб . Проверено 30 июня 2022 г.
^ Боднар, Кристиан; Фраска, Фабрицио; Гуан Ван, Ю; Выдра, Нина; Монтуфар, Гвидо; Лио, Пьетро; Бронштейн, Михаил (2021). «Вейсфейлер и Леман переходят к топологии: симплициальные сети передачи сообщений». arXiv : 2103.03212 [cs.LG].
^ Грейди, Лео; Полимени, Джонатан (2011). Дискретное исчисление: прикладной анализ графов для вычислительной науки (PDF) . Springer.
^ Чэнь, Дели; Линь, Янькай; Ли, Вэй; Ли, Пэн; Чжоу, Цзе; Сан, Сюй (2020). «Измерение и снятие проблемы чрезмерного сглаживания для графовых нейронных сетей с топологического взгляда». Труды конференции AAAI по искусственному интеллекту . 34 (4): 3438–3445. arXiv : 1909.03211 . doi : 10.1609/aaai.v34i04.5747. S2CID 202539008.
^ ab Алон, Ури; Яхав, Эран (2021). «О узком месте графовых нейронных сетей и его практических последствиях». arXiv : 2006.05205 [cs.LG].
^ Сюй, Кейулу; Чжан, Можи; Джегелька, Стефани ; Кавагучи, Кэндзи (2021). «Оптимизация графовых нейронных сетей: неявное ускорение за счет пропуска соединений и большей глубины». arXiv : 2105.04550 [cs.LG].
^ abc Ли, Юцзя; Тарлоу, Дэниел; Брокшмидт, Марк; Земель, Ричард (2016). «Нейронные сети с последовательностью графов с затвором». arXiv : 1511.05493 [cs.LG].
^ ab Xu, Keyulu; Li, Chengtao; Tian, Yonglong; Sonobe, Tomohiro; Kawarabayashi, Ken-ichi; Jegelka, Stefanie (2018). «Обучение представлению на графах с помощью сетей прыгающих знаний». arXiv : 1806.03536 [cs.LG].
^ Сэмпл, Ян (2 декабря 2018 г.). «Google DeepMind предсказывает трехмерные формы белков». The Guardian . Получено 30 ноября 2020 г. .
^ «Искусственный интеллект DeepMind, сворачивающий белки, решил 50-летнюю грандиозную задачу биологии». MIT Technology Review . Получено 30 ноября 2020 г.
^ Фань, Вэньци; Ма, Яо; Ли, Цин; Он, Юань; Чжао, Эрик; Тан, Цзилян; Инь, Давэй (2019). Графовые нейронные сети для социальных рекомендаций . стр. 417–426. arXiv : 1902.07243 . дои : 10.1145/3308558.3313488. hdl : 10397/81232. ISBN9781450366748. S2CID 67769538.
^ Каппарт, Квентин; Шетелат, Дидье; Халиль, Элиас; Лоди, Андреа; Моррис, Кристофер; Величкович, Петар (2021). «Комбинаторная оптимизация и рассуждения с использованием графовых нейронных сетей». arXiv : 2102.09544 [cs.LG].
^ Ван, Су; Ван, Чжилян; Чжоу, Тао; Сан, Хунбинь; Инь, Ся; Хан, Дунци; Чжан, Хань; Ши, Синган; Ян, Цзяхай (2022). «Threatrace: обнаружение и отслеживание угроз на основе хоста на уровне узла с помощью изучения графа происхождения». Труды IEEE по информационной криминалистике и безопасности . 17 : 3972–3987. arXiv : 2111.04333 . doi : 10.1109/TIFS.2022.3208815. ISSN 1556-6021. S2CID 243847506.
^ Ван, Ци; Хассан, Ваджи Ул; Ли, Дин; Джи, Канкук; Ю, Сяо (2020). «Вы — то, что вы делаете: охота за скрытным вредоносным ПО с помощью анализа происхождения данных». Симпозиум по безопасности сетей и распределенных систем (NDSS) . doi : 10.14722/ndss.2020.24167 . ISBN978-1-891562-61-7. S2CID 211267791.
^ King, Isaiah J.; Huang, H. Howie (2022). "Euler: Detecting Network Lateral Movement via Scalable Temporal Link Prediction" (PDF) . В трудах 29-го симпозиума по безопасности сетей и распределенных систем (NDSS) . doi : 10.14722/ndss.2022.24107. S2CID 248221601.
^ Zanfei, Ariele; et al. (2022). "Graph Convolutional Recurrent Neural Networks for Water Demand Forecasting". Water Resources Research . 58 (7). AGU. Bibcode : 2022WRR....5832299Z. doi : 10.1029/2022WR032299 . Получено 11 июня 2024 г.
^ Zanfei, Ariele; et al. (2023). «Должны ли мы всегда использовать гидравлические модели? Метамодель нейронной сети на основе графа для калибровки и оценки неопределенности систем водоснабжения». Water Research . 242 . Bibcode :2023WatRe.24220264Z. doi :10.1016/j.watres.2023.120264. PMID 37393807 . Получено 11 июня 2024 г. .