Что такое графовые нейронные сети? Объяснение и применение [с диаграммами]
Опубликовано: 2021-01-08Оглавление
Введение
В последнее время нейронные сети приобрели огромную популярность благодаря своему применению и простоте использования в области распознавания образов и интеллектуального анализа данных. Применение глубокого обучения к таким задачам, как обнаружение объектов и распознавание речи с использованием таких методов, как CNN, RNN и автоэнкодеры, привело к огромному объему работы по исследованию и разработке нейронных сетей.
Применение глубокого обучения к данным, таким как изображения, текст и видео, легко выполняется, поскольку они основаны на евклидовых данных. Как насчет приложений, в которых данные представлены в виде графиков (неевклидовых) с очень сложными отношениями между объектами?
Здесь мы вводим концепцию графовых нейронных сетей (GNN). В этой статье мы рассмотрим определения и основы графов и GNN и увидим некоторые из последних приложений графовых нейронных сетей.
Что такое график?
Из названия — Graph Neural Networks — мы видим, что самая фундаментальная часть GNN — это Graph.
В информатике граф определяется как структура данных с двумя компонентами. Вершины и ребра. Граф G может быть определен как G = VE . Где V — множество вершин, а E — ребра между ними. Термины вершины и узлы часто используются взаимозаменяемо. Если на ребрах есть какие-либо стрелки, называемые направленной зависимостью, то это ориентированный граф. Если нет, то это неориентированные графы.
Источник

Граф может представлять несколько вещей — сеть социальных сетей, городскую сеть, молекулы и т. д. Рассмотрим следующий граф, представляющий сеть городов. Города представлены узлами, а соединяющие их дороги — ребрами.
Источник
Используя приведенную выше сеть графов, мы можем решить несколько задач, относящихся к этим городам, например, определить, какие города имеют хорошее сообщение, или найти кратчайшее расстояние между двумя городами.
Что такое графовые нейронные сети?
Поскольку графики обладают чрезвычайно сильными выразительными возможностями, они широко привлекают внимание в области машинного обучения. С каждым узлом связано вложение. Это вложение определяет узел в пространстве данных. Графовые нейронные сети относятся к архитектурам нейронных сетей, работающих на графе.
Основная цель архитектуры GNN состоит в том, чтобы изучить вложение, которое содержит информацию о своем соседстве. Используя это вложение, мы можем решить несколько проблем, таких как маркировка узла, предсказание узлов и ребер и т. д.
Другими словами, графовые нейронные сети — это дополнительный класс методов глубокого обучения, которые предназначены для выполнения выводов на основе данных, представленных графами. Они применяются к графам и могут легко выполнять задачи прогнозирования на уровне узлов, ребер и графов.
Почему не CNN?
Основное преимущество GNN заключается в том, что он может выполнять задачи, которые не справились со сверточной нейронной сетью (CNN). CNN используются для выполнения таких задач, как обнаружение объектов, классификация изображений и распознавание. Используя скрытые сверточные слои и объединяющие слои, CNN достигает этого.
С вычислительной точки зрения сложно выполнить CNN на данных графа, поскольку это очень произвольная и сложная топология, что означает отсутствие пространственной локальности. Кроме того, существует нефиксированный порядок узлов, что затрудняет применение CNN.
Граф нейронных сетей
Таким образом, понятно, что, как это называется, GNN представляет собой нейронную сеть, которая непосредственно применяется к графам, обеспечивая удобный способ для задач прогнозирования на уровне ребер, на уровне узлов и на уровне графа. В основном существует три типа графовых нейронных сетей:
- Рекуррентная графовая нейронная сеть
- Пространственная сверточная сеть
- Спектральная сверточная сеть
Одна из интуиций GNN заключается в том, что узлы определяются своими соседями и соединениями. Мы можем визуализировать это, представив, что если удалить всех соседей узла, то узел потеряет всю свою информацию. Таким образом, концепция соседей узла и связи с соседями определяют узел.
Имея это в виду, давайте дадим каждому узлу состояние (x), чтобы представить его концепцию. Мы можем использовать состояние узла (x) для получения результата (o), который представляет собой решение о концепции. Конечное состояние (x_n) узла называется «встраиванием узла». Основная задача всей графовой нейронной сети — определить «внедрение узла» каждого узла, просматривая информацию о его соседних узлах.
Давайте начнем с самой мощной версии GNN, Recurrent Graph Neural Network или RecGNN.
Рекуррентная графовая нейронная сеть
Как упоминалось в исходной статье, RecGNN построен с предположением теоремы Банаха о неподвижной точке, которая утверждает, что: пусть (X, d) — полное метрическое пространство и пусть (T: X → X) — сжимающее отображение. Тогда T имеет единственную неподвижную точку (x∗) и для любого x∈X последовательность T_n(x) при n→∞ сходится к (x∗). Это означает, что если я применяю отображение T к x k раз, x^k должно быть почти равно x^(k-1).
Пространственная сверточная сеть
Интуиция пространственной сверточной сети похожа на интуицию CNN. Как мы знаем из CNN, идея состоит в том, чтобы выполнить свертку, суммируя соседние пиксели вокруг центрального пикселя с фильтром и обучаемыми весами. Пространственные сверточные сети используют аналогичную идею, объединяя функции соседних узлов по направлению к центральному узлу.

Источник
Спектральная сверточная сеть
В отличие от других графовых нейронных сетей, этот тип GNN имеет прочную математическую основу. Он разработан на основе теории обработки графических сигналов. Для упрощения используется полиномиальная аппроксимация Чебышева.
Что может сделать GNN?
Проблемы, которые может решить GNN, можно разделить на 3 категории:
- Классификация узлов
- Прогноз связи
- Классификация графиков
Классификация узлов
включает в себя прогнозирование встраивания узлов для каждого узла в графе. В таких случаях помечается только часть графа, поэтому такой граф называется полуконтролируемым. Некоторые приложения — это видео на YouTube, рекомендации друзей в Facebook и т. д.
Прогноз связи
основная задача состоит в том, чтобы определить взаимосвязь между двумя объектами на графике и предсказать, есть ли какая-либо связь между двумя объектами. Например, рассмотрим рекомендательную систему, в которой модели предоставляется набор отзывов пользователей о различных продуктах. Задача состоит в том, чтобы спрогнозировать предпочтения пользователей и настроить рекомендательную систему для продвижения продуктов, соответствующих интересам пользователей.
Классификация графиков
включает в себя классификацию всего графа в несколько различных категорий. Это очень похоже на задачу классификации изображений, но цель здесь находится в области графа. Существует несколько примеров классификации графов, например, в химии модели задается молекулярная структура в виде графа, и задача состоит в том, чтобы классифицировать цель в определенную категорию.
Приложения GNN в реальном времени
С момента своего появления в 2018 году GNN нашли довольно много приложений в реальном времени, которые кратко описаны ниже.
Обработка естественного языка
GNN находит свое применение в самых разных приложениях НЛП, таких как классификация настроений, классификация текста, маркировка последовательностей. Они используются в НЛП из-за простоты применения. Они также используются в анализе социальных сетей, например, для прогнозирования похожих сообщений и рекомендации определенного контента пользователям.
Компьютерное зрение
Компьютерное зрение — это обширная область, которая быстро развивается с помощью глубокого обучения в таких областях, как классификация изображений, обнаружение объектов и т. д. Наиболее популярным приложением являются сверточные нейронные сети. Позднее GNN также были применены в этой области. Хотя применение GNN в компьютерном зрении находится на начальной стадии, в ближайшие годы у него будет огромный потенциал.

Наука
GNN также широко используются в науке, например, в физических системах, прогнозировании побочных эффектов и классификации заболеваний. Химики также используют GNN для изучения графовой структуры соединений и молекул.
Другие домены
Применение GNN не ограничивается только перечисленными выше задачами. Было предпринято несколько попыток применения GNN в различных областях, таких как рекомендательные системы, анализ социальных сетей и т. д.
Заключение
За последние несколько лет с момента появления GNN они стали сильным и надежным инструментом для решения задач, которые можно смоделировать с помощью графов. Это связано с его гибкостью, выразительной силой и легкой визуализацией. Таким образом, GNN представляют собой интуитивно понятное решение для неструктурированных данных с широким спектром реальных приложений.
Если вы хотите узнать больше о GCN, его функциях и преимуществах, зарегистрируйтесь на сайте upGrad Education Pvt. Ltd. И аспирантуру и дипломный курс IIITB по машинному обучению и искусственному интеллекту. Этот курс по машинному обучению и искусственному интеллекту предназначен для студентов и работающих специалистов.
Курс предоставляет набор тематических исследований и заданий, отраслевые наставнические занятия, статус выпускника IIIT Bangalore, помощь в трудоустройстве в ведущих компаниях и, самое главное, богатый опыт обучения.
Что вы подразумеваете под нейронной сетью?
Нейронные сети — это сетевые алгоритмы, которые помогают идентифицировать закономерности и в некоторой степени созданы по образцу человеческого мозга. Они используют машинное обучение и искусственный интеллект, чтобы понимать сенсорные данные, классифицировать или группировать необработанные данные. Вся реальная статистика, будь то изображения, музыка, текст или временные ряды, должна быть переведена в распознаваемые нейронной сетью символы, которые являются числовыми и закодированы в векторах. Они помогают в классификации и кластеризации данных. Они классифицируют данные, когда у них есть помеченный набор данных, и помогают группировать немаркированные данные на основе сходства входных данных примера. Они являются частью более обширных приложений машинного обучения, которые включают алгоритмы обучения с подкреплением, разнообразия и регрессии.
Что такое сверточная нейронная сеть?
Сверточная нейронная сеть, также известная как CNN или ConvNet, представляет собой метод, который может делать входное изображение и отдавать приоритет различным элементам изображения, а также различать их. Объем обработки, требуемый CNN, значительно меньше, чем у других алгоритмов. CNN был разработан с помощью зрительной коры, и он имеет структуру, аналогичную нейронам в нашем мозгу. Даже в CNN отдельные нейроны могут реагировать на импульсы только в небольшой области поля зрения, называемой рецептивным полем.
Чем нейронные сети отличаются от машинного обучения?
Машинное обучение — это набор мощных алгоритмов, которые анализируют данные, изучают их и применяют то, что они изучили, для поиска интригующих закономерностей. Нейронная сеть, с другой стороны, представляет собой набор методов, используемых в машинном обучении для моделирования данных с использованием графов нейронов. Нейронная сеть упорядочивает алгоритмы таким образом, что может самостоятельно выносить надежные суждения, в то время как модель машинного обучения принимает решения на основе того, что она узнала из данных. В результате, хотя модели машинного обучения могут обучаться на основе данных, на ранних этапах они могут требовать некоторого взаимодействия с человеком. Нейронные сети не требуют взаимодействия с человеком, поскольку сложенные в них слои передают входные данные через иерархию отдельных концепций, что позволяет им учиться на собственных ошибках.