Модели сверточной сети CNN-Graph в Интернете

искусственный интеллект

Обновление от 11 марта 2020 г.:

  1. Добавьте ссылки на цитируемые статьи
  2. Оптимизация некоторых подробных описаний

В этой статье в основном организовано видео с интерпретацией диссертации из Академии Цзичжи."Модель сверточной сети CNN-Graph в сети"и«Полуконтролируемая классификация на основе графовых сверточных сетей».

Предварительные требования: сверточные нейронные сети (CNN), основы линейной алгебры.

Введение спикера:

  1. Xin Ruyue: Магистр системных наук, Пекинский педагогический университет. Принимал участие в составлении книги «Приближаясь к 2050 году». Направление исследований: классификатор сложных сетей, глубокое изучение сложных сетей, GCN и др.
  2. Гао Фэй: аспирант Школы системных наук Пекинского педагогического университета. Научные интересы и направления: исследование и применение глубокого обучения в сложных сетях

В этой статье в основном представлена ​​сверточная нейронная сеть графа. То есть метод сверточной нейронной сети (CNN) используется на данных «графика».

Что такое графические данные / Зачем работать с графическими данными

В настоящее время технология машинного обучения очень хорошо развита в различных областях, особенно в области изображения и языка.Классическими репрезентативными моделями являются CNN и RNN, а также модели на их основе.Эти модели используются в распознавании изображений, распознавании речи и др. задачи очень хороший результат.

Однако эти модели работают с обычными евклидовыми данными: изображения представляют собой обычные данные двумерной решетки, а текст или звук — обычные одномерные данные последовательности. Без данных этих правил этим моделям трудно работать хорошо. И то, с чем мы сталкиваемся каждый день, на самом деле является более нерегулярными неевклидовыми геометрическими данными, социальной сетью, транспортной сетью, сетью цепей, нервной системой мозга, системой погоды и т. д. Нам срочно нужны лучшие методы работы с этими данными для выполнения более сложных задач.

Рис. 1. Две речи, текста и изображения слева — это евклидовы данные, а четыре справа — неевропейские данные.

Для нерегулярных данных также существуют некоторые традиционные методы. Однако в настоящее время он ограничен только небольшими наборами данных, и как только объем данных достигнет определенного масштаба, традиционные методы будут очень трудно обрабатывать. С методом глубокого обучения все начали задумываться о том, как применить глубокое обучение к обработке нерегулярных данных. В последние годы было проведено много исследований. Другое название этого вида исследования –Geometric deep leaning. Статьи, подобные этой, представляют собой обзор работы с неевропейскими данными.Geometric deep learning: going beyond euclidean data[J] Bronstein M M, Bruna, J.IEEE Signal Processing Magazine (2017)

Согласно этой статье, неевропейские данные можно разделить на многообразные данные и графические данные. Поскольку мы всегда занимались изучением сложных сетей, мы не уделяем много внимания данным потокового типа, основное внимание уделяем изучению графоструктурированных данных, то есть сетевых данных.

Применение машинного обучения к графическим данным

При применении методов машинного обучения к изучению графоструктурированных данных, конечно же, первое, что приходит на ум, — это дальнейшее расширение классических RNN и CNN. Здесь мы кратко упомянем расширение RNN. Прошло 16 лет с тех пор, как кто-то поднял этоGated Graph Sequence Neural Networks, заключается в обработке данных структуры графа в соответствии с идеей RNN, которая обрабатывает каждый узел графа в нейрон.

Одним из преимуществ работы с RNN является то, что它擅长处理时序性数据. Недостатком является то, что для очень大型的网络,它的效率很低.

Gated Graph Sequence Neural Networks Yujia Li,Daniel Tarlow,Marc Brockschmidt.arXiv:1511.05493 (2015)

Наша исследовательская группа в основном сосредоточена на использовании идеи CNN для обработки графических данных, Условно говоря, в этом исследовании участвует много людей, и эффект от метода лучше. Итак, далее я расскажу, как использовать метод CNN для обработки данных структуры графа, который мы называем сверточной сетью графа (GCN, графовая сверточная нейронная сеть).

Применение CNN на графиках — GCN

Далее мы представим GCN специально для следующей статьи, которая представляет собой статью о теоретических основах GCN. В основном он касается того, как определять операции свертки в топологических графах.Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering Микаэль Дефферрар, Ксавье Брессон, Пьер Вандергейнст.(NIPS 2016) (2016)

Предыстория статьи

CNN в основном используется для классификации изображений. от手写体数据集MINISTНапример, введите изображение, модель сообщит вам, какой номер (классификация) на изображении, CNN очень точен в задачах классификации изображений. В то же время CNN также может выполнять некоторые задачи по распознаванию или обнаружению, и эффект также очень хороший.

В этой статье последний эксперимент заключается в использовании GCN для выполнения основных задач классификации в наборе данных MINIST. Существует два основных типа задач классификации графических данных:图分类和节点分类. в图分类任务Ввод представляет собой несколько графов, и, наконец, выводится соответствующая категория каждого графа;节点分类任务Вход — это сеть, а конечный результат — метка каждого узла в сети.

Поскольку здесь мы хотим сравнить изображения, мы в основном говорим о图分类.

Ниже мы объясним, как работает GCN. И поскольку GCN можно назвать расширением CNN, давайте кратко рассмотрим сетевую архитектуру CNN.

Рисунок 3: Схема архитектуры CNN

Для задачи классификации, выполненной на CNN:

  1. Вход — это набор изображений, а выход — категория, соответствующая каждому изображению.
  2. Послойные операции в середине рисунка выше выполняются непрерывно.卷积(convolution) + 池化(pooling)процесс.
  3. Свертка предназначена для усиления информации о функциях изображения, а объединение — для извлечения функций и уменьшения размеров на основе сохранения функций изображения.
  4. Наконец, есть несколько полносвязных слоев, которые отображаются как выходы.

Самое главное во всем процессе使用卷积核进行的卷积操作,а также池化процесс.

Во-первых, сверточный слой определяет卷积核( Filter). Ядро свертки будет непрерывно сканировать изображение и выполнять операцию свертки с отсканированной областью и, наконец, получать результат, который можно рассматривать как особенность этого изображения. Операции свертки помогают нам находить определенные локальные функции изображения (например, усиление краев).

Рисунок 3. Операция свертки. Функции изображения улучшаются с помощью определенных ядер свертки. Чтобы размер не изменился, перед извлечением вокруг пикселей будет добавлено 0.Рисунок 4. Схема после свертки

Слой объединения можно понимать как операцию уменьшения изображения. Цель состоит в том, чтобы уменьшить размер признаков изображения, уменьшить порядок величины обучающих параметров и устранить избыточную информацию в изображении при сохранении исходных признаков изображения.

Рисунок 5. Операция объединения. Обычно выполняется с помощью простых операций, таких как среднее, максимальное, минимальное и т. д.

После разговора о CNN давайте посмотрим, что представляет собой архитектура GCN в этой статье. Аналогично выполняем на нем задачу классификации

Рисунок 6. Схема архитектуры GCN

Ввод и вывод GCN

По аналогии со значением серого для каждого пикселя изображения каждый узел в данных изображения также будет иметь «значение сигнала» в качестве признака узла. Следовательно, в задаче классификации GCN, если это задача классификации графа, входом является набор информации о графе (включая значения сигналов узлов в графе), а выходом является информация о классификации, соответствующая каждому график.

Классификацию графов также необходимо разделить на ситуации. Подробная информация об узлах не требуется во всех случаях. Например, в сети цитирования классификация графов в основном определяется информацией об узлах. В этом случае необходимо ввести информацию об узлах. В других случаях информации об узле недостаточно или классификация графа в основном определяется топологией графа, тогда информация об узле не является необходимым входом.

Возьмем в качестве примера задачу классификации графа и наглядно посмотрим, как здесь передается «сигнал».

Рисунок 7. Схема ввода GCN

Как показано на рисунке выше, каждая красная точка представляет собой узел в сети. Маленькие синие полосы представляют собой сигналы, передаваемые узлами. Каждый узел имеет свое значение сигнала, которое节点状态. Это состояние можно преобразовать в вектор для представления. Предположим, у нас есть m сетей, а сеть имеет узлы n. Если вектор, представляющий состояние узла, d-мерен, то вход модели - значение сигнала узлов этих сетей, что означает, что вход - размер изm * n * dматрица.

Соответствующий выход представляет собой категорию (метку), представленную каждой сетью, и каждая категория также может быть представлена ​​вектором.Предполагая, что выходной вектор, представляющий категорию, равен d', тогда выход модели имеет размерm * d'матрица. Все, что нужно сделать в процессе обучения, — это сопоставить входные данные с выходными.

Операции свертки на графах

Цель свертки GCN аналогична цели CNN, Она состоит в том, чтобы извлечь особенности входного узла и, наконец, сопоставить его с классификацией этого графа. В операции свертки графа также определяется фильтр ядра свертки. Самая большая разница между этим шагом и CNN заключается в том, что узлы фиксированного размера связаны вокруг каждой решетки изображения, поэтому фильтр CNN может иметь фиксированный размер. В неевропейских данных степени узлов разные.Для GCN первой задачей является определение «ядра свертки», которое может выполнить задачу извлечения признаков.

Здесь в основном图信号处理领域Вдохновленная теорией графов, реализована свертка на топологическом графе. Исследователи предполагают, что свертка на графике может пониматься как傅立叶变换在时域上的卷积, для преобразования Фурье,Вычисление свертки во временной области может преобразовать сигнал в частотную область, а затем напрямую умножить его.

Преобразование Фурье: разложите периодический сигнал по оси x на линейную сумму нескольких волновых функций (сумма, если дискретная, интегральная, если непрерывная), что представляет собой процесс преобразования Фурье (т. е. спектральное разложение).

Рис. 8. Слева — иллюстрация преобразования Фурье (спектральное разложение), справа — формула преобразования Фурье, f(X) можно разложить на кратное f-hat(λ), умноженное на базисную функцию

Свертка двух функций фактически представлена ​​произведением их преобразований Фурье (обратных преобразований).

Рис. 9. Здесь f и h представляют две функции для свертки, тогда их операции свертки могут быть выражены как преобразование Фурье (обратное преобразование) функции f, умноженное на преобразование Фурье (обратное преобразование) преобразования функции h).

Какая от этого польза? Фактически это означает, что нам не нужно определять ядро ​​свертки отображения, как в задаче изображения,Просто найдите обратное преобразование Фурье функции ядра свертки.

Более подробные математические принципы спектрального разложения вы можете прочитать в этой статье.

"The emerging field of signal processing on graphs: Extending high-dimensional data analysis to networks and other irregular domains," Shuman D. I., Narang S. K., Frossard P..in IEEE Signal Processing Magazine (2013)

Эта статья знакомит с теорией графов, в основном ссылаясь на Kpif.GraphConvNet, свертка, заданная с помощью полиномов Чебышева. С тех пор развилось множество определений свертки графов, но определение свертки на основе графов до сих пор остается классическим.То, что мы назовем позже ОКС, на самом деле в определенной степени относится именно к предыдущей работе Кипфа, основанной на предложенной на основе Метод свертки графа для спектральной декомпозиции, который дает очень хорошие результаты в последующих задачах классификации.

GraphConvNet: kipf, Веллинг, 2016 г.

Semi-Supervised Classification with Graph Convolutional Networks Thomas N. Kipf,Max Welling (2016)

Грубая зернистость, объединение

Затем идет объединение и крупнозернистость. Два шага здесь эквивалентны операции объединения в CNN, и цель состоит в том, чтобы повысить эффективность обучения при сохранении функций. Грубую зернистость можно понимать как упрощение структуры графика, здесь используетсяGraclus算法,Путем сравнения весов узлов находят похожие узлы для слияния и получают новый граф.Можно считать, что новый граф сохраняет структурную информацию исходного графа. Затем сигналы узлов объединяются и группируются, то есть выполняется этап объединения, и сигналы узлов интегрируются в упрощенный граф.

Рисунок 10. Схематическая диаграмма алгоритма Гракла.Рисунок 11. Операции грубой детализации и объединения на графе. Сначала зафиксируйте размер графа (размер нового графа — это гиперпараметр), а затем агрегируйте похожие узлы, чтобы получить новый граф. И так далее, завершите процесс грубой зернистости и объединения.

Эффект GCN

GCN можно рассматривать как обобщение CNN, что делает его не только ограниченным приложениями в области изображений, но и расширенным на сети с более сложной структурой и более сложными данными, чтобы можно было выполнять больше задач.

Позже, дополнительные исследования и расширение GCN показали, что GCN не только достигла уровня CNN в области изображения, точность в задаче распознавания почти такая же. И он также очень хорошо справляется с задачами классификации

Рис. 13. Сравнение производительности графовой CNN и классической CNN в наборе данных MINIST.Рис. 14. GCN выполняет задачи классификации для разных наборов данных по сравнению с другими классическими моделями.

Эпилог

Для задач, основанных на данных графа, помимо особенностей узлов на графе, очень важна и структура графа. Чтобы проанализировать информацию, содержащуюся в топологии графа, GCN заимствует операцию свертки CNN для агрегирования информации о соседях и вдохновляется теорией графов для определения сверток на графах. Затем последовали дополнительные исследования свертки на графах, упрощающие и расширяющие GCN. Разработка моделей серии GCN предоставляет нам очень хорошие средства для обработки графических данных.Из-за широкого распространения графических данных в реальном мире разработка GCN также может означать, что наше будущее исследование мира будет более углубленным. глубина и тщательность.