
РЕЗЮМЕ
В этом блоге мы глубоко погружаемся во вселенную графического машинного обучения, начиная с личной сути того, как я узнал об этой захватывающей области, а затем немного о мотивации графов, то есть о том, насколько важна структура данных графа, после чего мы увидим некоторые приложения. графического машинного обучения в различных областях как с точки зрения академических кругов, так и с точки зрения промышленности. Затем я также расскажу о недавнем тесте Open Graph Benchmark: Datasets for Machine Learning on Graphs. Последний раздел посвящен графовым базам данных, то есть где они сейчас находятся во вселенной графического машинного обучения. Итак, вкратце, вот план блога:
- Мотивация
- Приложения Graph ML с разных точек зрения
- Тест Open Graph: наборы данных для машинного обучения на основе графиков
- Пересечение Graph ML и графовых баз данных

Мотивация
Я начал свой исследовательский проект (будучи магистрантом) в области графического машинного обучения (GML) в DFKI в 2019 году, когда библиотека PyTorch Geometric не была официальной частью PyTorch, а специальных курсов по машинному обучению с помощью графиков не было. Мой проект был основан на пересечении сверточных нейронных сетей и графических нейронных сетей в направлении применения диагностики медицинских изображений. За очень короткий промежуток времени (с 2019 по 2021 год) область графического машинного обучения добилась огромного успеха во многих приложениях, таких как компьютерное зрение, обработка естественного языка, анализ социальных сетей, системы рекомендаций, алгоритмическое мышление, компьютерные сети, графы событий, Экономика, Интернет вещей, графы кода, науки о жизни, графы знаний, физика (моделирование физических систем), анализ графов, сети трафика, создание графиков, автоматизация обнаружения ботнетов (обнаружение DDoS-атак и спама).

Поэтому в этом блоге я мотивирую вас некоторыми примерами того, как мы можем использовать выразительную силу графических нейронных сетей в традиционных методах машинного обучения Computer Vision и NLP. После этого я расскажу о недавних исследовательских работах / приложениях GML во многих областях. Мы также вкратце рассмотрим Open Graph Benchmark, который представляет собой набор крупномасштабных разнообразных эталонных наборов данных, специально разработанных для выполнения машинного обучения на графиках. Один из авторов этой статьи - Маттиас Фей, разработчик геометрической библиотеки PyTorch. В конце я представил вводное исследование пересечения Graph ML, Graph Analytics и Graph Databases.
Примечание: я не буду вдаваться в подробности рабочего процесса различных сценариев приложений GML, а скорее расскажу вам о GML и его приложениях в различных областях.
Зачем вам нужны графики и машинное обучение графиков?
Ответ состоит из нескольких частей: во-первых, одна из вещей, которая делает графики увлекательными, - это их способность соединять изолированные точки данных в пространстве, что, однако, отсутствует в других формах представления данных, таких как структуры 2D-сетки (используемые для представления пикселей изображения), 1D-последовательности (используются для текстов, речи или временных рядов) или даже 3D-структуры (например, облака точек). Во-вторых, графики позволяют нам хранить реляционные знания между взаимодействующими объектами, то есть то, как различные наборы объектов связаны друг с другом на основе некоторой меры.
Все вышеупомянутые представления, кроме графика, находятся в евклидовом пространстве, то есть в обычных неструктурированных данных. Хорошо известным методом извлечения значимых закономерностей из данных в евклидовой области является сверточные нейронные сети (CNN). Однако в реальном мире мы окружены данными графа, где его узлы представляют объекты реального мира, а ребра связаны с отношениями между этими объектами.

Граф как уникальная неевклидова структура данных не может управляться CNN и требует специального метода для обработки его нерегулярных структур, что привело к недавнему прогрессу в области графических нейронных сетей (GNN). Во вселенной машинного обучения структуры данных графов используются сетями GNN для выполнения задач классификации узлов, прогнозирования ссылок, классификации / генерации графов и кластеризации.
Применение графического машинного обучения с разных точек зрения
Приложения Graph Machine Learning в основном можно разделить на два сценария: 1) Структурные сценарии, в которых данные уже существуют в форме графа, то есть узлы и ребра. Этот тип сценария возникает из научных исследований (анализ графов, моделирование физических систем и наук о жизни) и промышленных приложений (графы знаний, сети трафика и системы рекомендаций). 2) Неструктурные сценарии, когда данные не представлены в виде графиков, например, как изображение (компьютерное зрение) и текст (НЛП).

Создание графов сцен с помощью машинного обучения графов
Современные модели обнаружения объектов, такие как Yolo или R-CNN, локализуют один или несколько объектов на изображении, рисуя вокруг них ограничительные рамки, а затем классифицируют эти локализованные объекты в один из нескольких классов. Однако, если машина хочет воспринимать визуальную сцену в гораздо лучшем контексте, а не распознавать объекты изолированно, ей также необходимо извлекать богатую семантическую информацию (используя отношения между объектами) о визуальной сцене.
Давайте разберемся с этим на примере:

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

Изображение выше показывает, что графы сцены не только воспринимают объекты изолированно, но и моделируют их попарные взаимодействия. В отличие от детектора объектов, он не только сообщает вам человека и лошадь, но также фиксирует семантическую информацию, например, для человек кормит лошадь, человек в очках и т. д. Сценарии приложений для генерации графа сцены включают, но не ограничиваются ими, визуально-текстовый преобразователь, поиск изображения, визуальный ответ на вопрос, понимание и рассуждение изображения, трехмерный граф сцены и взаимодействие человека с объектом.
Примечание. 1) Чтобы подробно прочитать о его рабочем процессе, читатель может пройти: Графики сцен: обзор поколений и приложений (март 2021 г.) Сяоцзюнь Чанга. et. al 2) Генерация графа сцены с помощью итеративной передачи сообщения. Автор: Danfei Xu et. аль
Машинное обучение графиков для интерпретации в задачах НЛП

Интерпретируемость определяется как степень, в которой человек может понять, почему модель машинного обучения приняла конкретное решение. Графическое машинное обучение может помочь практикующим НЛП узнать, какую лингвистическую информацию кодирует данная модель и как это кодирование происходит. В частности, для понимания того, какие части графиков (например, синтаксические деревья или структуры со ссылками) добавляют к прогнозу. Поэтому авторы статьи ИНТЕРПРЕТАЦИЯ ГРАФИЧЕСКИХ НЕЙРОННЫХ СЕТЕЙ ДЛЯ NLP С РАЗЛИЧНОЙ МАСКИРОВКОЙ КРАЯ разработали апостериорный метод интерпретации прогнозов графических нейронных сетей (GNN). который распознает ненужные края. Этот метод применяется к обученной GNN, на вершине которой мы изучаем простой классификатор, который для каждого ребра в каждом слое предсказывает, можно ли удалить это ребро. Другими словами, классификатор определяет, от каких ребер графа он может зависеть и на каком уровне они используются. Этот классификатор можно обучать сквозным способом.
Подход к выполнению интерпретации основан на поиске стирания, при котором мы ищем максимальное подмножество функций, которые можно полностью удалить, не влияя на прогнозы модели. Применительно к GNN поиск по стиранию будет включать поиск самого большого подграфа, который можно полностью удалить. Однако поиск по стиранию не работает из-за управляемости, что делает невозможным их использование для этой проблемы. Поэтому, чтобы преодолеть это ограничение масштабируемым образом, авторы вышеупомянутой статьи ввели подход GraphMask.

GraphMask можно рассматривать как дифференцируемую форму стирания подмножества, где вместо поиска оптимального подмножества для стирания для каждого данного примера мы изучаем функцию стирания, которая предсказывает для каждого края на каждом слое k, будет ли это соединение следует сохранить.
Авторы документа проиллюстрировали, что мы можем удалить количество ребер из графа, не влияя на производительность модели, а оставшиеся ребра можно использовать для интерпретации прогнозов модели.
Машинное обучение на основе графиков для наук о жизни
В последнее время GML совершил множество прорывов в различных областях наук о жизни, таких как генетика, белок-белковые взаимодействия, сворачивание белков, открытие лекарств, молекулярные графы, биологические сети, приложения в области сбора медицинских данных и т. Д. - это несколько хороших библиотек, которые можно сразу использовать для предварительной обработки исходных входных данных из области наук о жизни в формат, подходящий для машинного обучения, построения графиков, оценки, архитектур моделей, обучения и т. д. Вот некоторые популярные библиотеки, которые читатель может пройти через: DeepChem, Rdkit и dgl-lifesci.
Теперь давайте углубимся и обсудим некоторые из последних исследований в подобластях наук о жизни с использованием GML:
- Использование графического иерархического встраивания медицинских объектов для приложений здравоохранения, разработанное Tong Wu and et. al : В этой работе авторы предложили ME2Vec, метод изучения непрерывных низкоразмерных векторов встраивания наиболее распространенных сущностей в электронных медицинских картах (EHR), таких как диагнозы, рецепты, результаты лабораторных анализов, медицинские процедуры, профили врачей, демографические данные пациентов и т. д. ЭУЗ может представлять собой смесь табличных значений, текстовых заметок и медицинских кодов. Мы можем представить эти разнородные медицинские объекты, вводя сложные взаимосвязи между собой, тем самым формируя структуру данных на основе графа. После того, как граф сформирован, мы можем использовать множество взаимодействий (например, пациентов с докторами, врачей с услугами и пациентов с услугами) между различными типами медицинских организаций. Например, пациенты, у которых одни и те же врачи проходят несколько курсов лечения, как правило, имеют схожие профили прогрессирования заболевания, что можно использовать для более точного прогнозирования диагноза и снижения риска.

На приведенном выше рисунке показано, что медицинский граф, созданный из EHR, состоит из трех кластеров узлов, представляющих различные объекты (пациентов, врачей и медицинские услуги), а также ребер, соединяющих узлы, которые обозначают внутрикластерные или межкластерные отношения.
Следовательно, главный вопрос о том, как моделировать данные EHR с помощью графиков и использовать выразительную силу GML для изучения мощных представлений медицинских объектов с помощью графиков, привлек множество исследователей и инженеров из академических кругов и отраслей здравоохранения.
- На пути к многомодальной причинно-следственной связи с графическими нейронными сетями, обеспечивающими слияние информации для объяснимого ИИ, Андреас Хольцингер и др.: В этой статье подчеркивается важность объяснимого ИИ (xAI) в сложная область медицины. Искусственный интеллект (ИИ) совершает революцию в отрасли здравоохранения. Решения, принятые с помощью медицинских диагностических моделей, могут нести ответственность за жизнь человека, поэтому нам нужно быть достаточно уверенными, чтобы лечить пациентов с помощью надежного ИИ (прозрачного и объяснимого), а не модели черного ящика. Одной из важнейших характеристик области медицины является то, что несколько разнородных модальностей (изображения, текст, данные геномики) могут способствовать единому результату и могут принимать более эффективные решения, чем использование единственного источника входных данных.

Поэтому в этой работе авторы обращаются к вопросу использования графических нейронных сетей для построения многомодального пространства представления функций (слияние информации), используя базы знаний в качестве отправной точки для разработки эффективного объяснимого интерфейса человек-ИИ.
- Новый метод прогнозирования взаимодействий лекарств с мишенями, основанный на обучении представлению крупномасштабных графов, Бо-Вэй Чжао и др. al: Прогнозирование взаимодействий лекарство-мишень (DTI) - важная часть в открытии и изменении положения лекарств. Репозиционирование лекарств - это метод, при котором мы исследуем невидимые результаты применения существующих лекарств, за исключением первоначальных показаний для лечения. Эффективные прогнозы DTI могут повысить надежность клинических испытаний лекарств, что снижает риск экспериментов.

- Следовательно, авторы предложили новый метод под названием LGDTI для прогнозирования DTI на основе обучения представлению крупномасштабных графов. LGDTI может извлекать локальную (с использованием GCN для агрегирования информации о соседях первого порядка) и глобальную структурную (или информацию о соседних узлах высокого порядка с помощью DeepWalk) информацию графа. В конце два набора функций передаются классификатору случайного леса для обучения и прогнозирования вероятных DTI.

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

Используя преимущества программных структур (таких как графы потока управления, деревья синтаксического анализа, графы потоков данных), GNN оказались влиятельным методом для изучения задач разработки программного обеспечения, таких как поиск ошибок [2], завершение кода [3] и программа ремонта [4]. Все перечисленные задачи помогают выполнять статический анализ (процесс анализа программ без их выполнения) в программном обеспечении. Однако, если мы хотим выполнять такие задачи, как выполнение программы, которое зависит от большего количества последовательных шагов рассуждений, чем количество шагов распространения GNN, тогда только GNN не могут хорошо справиться с этой задачей. С другой стороны, рекуррентные нейронные сети (RNN) достаточно хорошо обрабатывают длинные последовательные цепочки рассуждений, но им не хватает структурной информации о программе. Поэтому Дэвид Бибер и др. Из Google предложил архитектуру, объединяющую преимущества обеих моделей (GNN и RNN), и назвал ее нейронной сетью с графом внимания указателя инструкций (IPA-GNN). Цель архитектуры - имитировать структуру интерпретатора и исследовать тесные связи с моделями.
Авторы заметили, что после шага обучения IPA-GNN может генерировать дискретные решения ветвления большую часть времени, и фактически научился выполнять, сокращая шаги, используя меньше шагов для выполнения программ, чем используется наземной трассировкой истинности.
Машинное обучение графиков для систем рекомендаций
В последнее время рекомендательные системы играют ключевую роль в различных отраслях, например, предложения продуктов на веб-сайтах электронной коммерции (например, Amazon, ebay) или генераторы списков воспроизведения для видео и музыкальных сервисов (например, YouTube, Netflix и Spotify). Основная цель рекомендательных систем заключается в изучении потенциальных представлений пользователя / элемента на основе их существующих отношений. Мы можем смоделировать эту проблему, используя структуру данных графа, и можем применить к ней GNN, чтобы найти осмысленные представления графа.
Давайте посмотрим на одно из интересных приложений:
Открытие еды с Uber Eats:

Он использует возможности Graph ML, чтобы предлагать своим пользователям блюда, рестораны и кухни, которые им могут понравиться в будущем. Чтобы дать эти рекомендации, Uber eats использует алгоритм GraphSAGE из-за его индуктивного характера и возможности масштабирования до миллиарда узлов.

С этого момента мы обсудили, как различные исследовательские сообщества / отрасли используют возможности графического машинного обучения. Давайте теперь перейдем к обсуждению доступных наборов данных тестов с открытым исходным кодом, которые можно использовать для облегчения исследования GML.
Тест Open Graph: наборы данных для машинного обучения на основе графиков
Библиотека Open Graph Benchmark (OGB) предоставляет исчерпывающий список готовых к использованию наборов данных тестов для различных задач GML. Он включает разнообразный набор конкурентных и практических наборов данных, охватывающих области социальных, информационных и биологических сетей, молекулярных графов, исходного кода AST, графов знаний и т. Д. OGB полностью совместим с PyTorch и связанными с ним библиотеками графов: PyTorch Geometric и Библиотека глубоких графов. Эта библиотека также предоставляет собственный простой в использовании загрузчик данных и оценщики для конкретных задач.

Особенности наборов данных OGB:

- Большой масштаб: он бывает трех диапазонов: малый (до 100 тысяч узлов), средний (более 1 миллиона узлов) и большой (до 100 миллионов узлов).
- Разнообразные домены: эти наборы данных накапливаются из разных доменов, таких как Сеть совместных закупок продуктов Amazon, Сеть белковых ассоциаций, Сеть цитирования бумажных материалов, Сеть взаимодействия наркотиков и наркотиков, Абстрактное синтаксическое дерево исходного кода и т. Д. Кроме того, набор данных разделяется являются доменно-зависимыми, т.е. основаны на времени, структуре видовой молекулы и т. д.
- Несколько категорий задач: он включает наборы данных, которые могут выполнять задачи Graph ML на 3 разных уровнях графов, то есть на предсказаниях узлов, ссылок и всего графа.
Где пересекаются Graph ML и Graph Databases

Графические базы данных - это те базы данных, которые соединяют и хранят изолированные фрагменты информации (узлы) без схемы путем введения между ними значимых отношений (ребер). Края могут быть ненаправленными по своей природе (без направления) или могут объяснять взаимосвязь между узлами. Это контрастирует с реляционными базами данных, которые обрабатывают огромное количество записей без объяснения каких-либо сильных неявных взаимосвязей между записями. Базы данных графов обычно используются в сценариях (но не ограничиваясь ими), где данные сильно связаны (например, социальные сети, IOT, транспортные сети и т. Д.), Или у нас есть очень динамические модели данных (где структура схемы часто меняется), или нам нужно выполнить аналитику графа над сохраненными отношениями (например, обход графа, сопоставление с образцом, кластеризация, рейтинг страницы и т. д.). В последнее время мы наблюдаем всплеск разработки мощных графических баз данных, таких как ArangoDB, Amazon Neptune, Neo4j, Cassandra (и это лишь некоторые из них), которые помогают хранить и использовать сложные отношения между изолированными объектами. . В этом блоге я кратко расскажу о том, как начать с аналитики графиков с использованием ArangoDB, который является бесплатной нативной мультимоделью с открытым исходным кодом. система баз данных.
Но прежде чем двигаться дальше, вы можете подумать, что же такого увлекательного в этой популярной системе графических баз данных, известной как ArangoDB?
Итак, ответ таков: система баз данных ArangoDB поддерживает три модели данных (ключ / значение, документы, графики) с одним ядром базы данных и унифицированным языком запросов AQL (язык запросов ArangoDB). Язык запросов является декларативным и позволяет комбинировать различные шаблоны доступа к данным в одном запросе. ArangoDB - это система баз данных NoSQL, но AQL во многом похож на SQL . ( ссылка: википедия)

Графическая аналитика
После того, как граф построен после тщательного проектирования значимых отношений между сущностями узлов, на сцену выходит аналитика графа. Графическая аналитика помогает вам в полной мере использовать потенциал и направление (граф может быть направленным или неориентированным по своей природе) ассоциаций между объектами на графике.
Например, предположим, что мы строим граф, в котором мы можем представлять узлы либо с пользователями, либо с фильмами, а связи между ними (ребра) обозначаются рейтингами, присвоенными пользователем фильмам (своего рода построение двудольного графа), Графическая аналитика в этом случае может помочь ответить на следующие вопросы:
- Если граф подключен? (т.е. в контексте этого приложения отключенный график подразумевает, что в графе есть пользователи, которые, возможно, не дали общей оценки фильму)
- Какие пользователи наиболее влиятельны на графике? (т.е. в этом случае пользователи оценили большинство фильмов, мы можем вычислить это с помощью различных мер центральности узла)
- Какие фильмы чаще всего оцениваются пользователями?
- Какие пользователи похожи на пользователя, просмотревшего определенный фильм (например, «Титаник»)?
Если вы хотите получить практический опыт применения приведенного выше примера к реальному набору данных, вы можете изучить уже созданный блокнот google colab, который поможет вам найти ответы на вышеуказанные вопросы.
Примечание. В дополнение к приведенному выше примеру существует множество других интересных примеров графической аналитики / машинного обучения (например, NLP с ArangoSearch, Обнаружение мошенничества, Встраивание графов и т. д.), в которых используются уязвимости. потенциал графиков с использованием базы данных графиков, такой как ArangoDB (Интерактивные учебные пособия по ArangoDB)
Заключение
Ух, это было долгое путешествие! Итак, если вы можете дойти до этого раздела, поздравляю, сегодня вы узнали много нового о вселенной графов, начиная с общей мотивации графов и GML, а затем от того, как различные исследовательские сообщества используют выразительную силу графов, мы также вкратце обсудили стандартный набор эталонных данных для проведения исследования GML. В конце мы также познакомились с одной из популярных компаний по созданию графовых баз данных, известной как ArangoDB, которая представляет собой масштабируемую, полностью управляемую графовую базу данных, хранилище документов и поисковую систему в одном месте.
Если вам интересно прочитать больше статей о графическом машинном обучении и их взаимодействии с графовыми базами данных, вы можете подписаться на меня здесь, в Medium или Linkedin.
Благодарности
Я хотел бы поблагодарить всю команду ML из ArangoDB за ценные отзывы о блоге.
Учебный материал для начала работы
- CS224W: Машинное обучение с помощью графиков (наиболее рекомендуемый курс для начала)
- Учебная книга по графическим представлениям Уильяма Л. Гамильтона
- Геометрическое глубокое обучение
- Графические сверточные сети
- PyTorchGeometric
- Библиотека глубоких графов
- Интерактивные руководства по ArangoDB