От издательства....11
Часть I. ВВЕДЕНИЕ В ОБУЧЕНИЕ НА ГРАФАХ....12
Глава 1. Начало работы с обучением на графах....13
Почему именно графы?....13
Зачем использовать обучение на графах?....15
Зачем использовать графовые нейронные сети?....18
Выводы....21
Дополнительное чтение....21
Глава 2. Теория графов для графовых нейронных сетей....22
Технические требования....23
Знакомство со свойствами графа....23
Ориентированные графы (directed graphs)....23
Взвешенные графы (weighted graphs)....25
Связные графы (connected graphs)....26
Типы графов....28
Знакомство с основными понятиями теории графов....29
Фундаментальные объекты....30
Меры центральности для графов....31
Представление графа в виде матрицы смежности....33
Изучение графовых алгоритмов....35
Поиск в ширину (breadth-first search)....36
Поиск в глубину (depth-first search)....38
Выводы....39
Часть II. ОСНОВЫ....41
Глава 3. Создание представлений узлов с помощью DeepWalk....42
Технические требования....43
Знакомство с Word2Vec....43
CBOW против skip-gram....44
Создание скип-грамм....45
Модель skip-gram....47
DeepWalk и случайные блуждания....51
Реализация DeepWalk....54
Выводы....59
Дополнительное чтение....59
Глава 4. Улучшение эмбеддингов с помощью смещенных случайных блужданий в Node2Vec....60
Технические требования....61
Знакомство с Node2Vec....61
Определение окрестности....61
Внесение смещений в случайные блуждания....62
Реализация Node2Vec....67
Создание рекомендательной системы фильмов....72
Выводы....77
Дополнительное чтение....78
Глава 5. Включение информации о характеристиках узлов с помощью простых нейронных сетей....79
Технические требования....80
Знакомство с графовыми наборами данных....80
Набор данных Cora....80
Набор данных Facebook Page-Page....83
Классификация узлов с помощью простых нейронных сетей....85
Классификация узлов с помощью простых графовых нейронных сетей....90
Выводы....96
Дополнительное чтение....96
Глава 6. Знакомство с графовыми сверточными нейронными сетями....97
Технические требования....98
Создание сверточного слоя графа....98
Сравнение сверточных и линейных слоев графа....102
Прогнозирование веб-трафика с помощью регрессии узлов....108
Выводы....115
Дополнительное чтение....116
Глава 7. Графовые нейронные сети с механизмом внимания....117
Технические требования....118
Знакомство со слоем внимания графа....118
Линейное преобразование....119
Функция активации....119
Нормализация с помощью softmax....120
Многоголовое внимание....120
Улучшенный слой внимания графа....121
Реализация слоя внимания графа в NumPy....122
Реализация GAT в PyTorch Geometric....126
Выводы....133
Часть III. ПРОДВИНУТЫЕ МЕТОДЫ....134
Глава 8. Масштабирование графовых нейронных сетей с помощью GraphSAGE....135
Технические требования....136
Знакомство с GraphSAGE....136
Семплирование соседей....136
Агрегация....139
Классификация узлов на примере набора данных PubMed....140
Индуктивное обучение на белок-белковых взаимодействиях....147
Выводы....154
Дополнительное чтение....154
Глава 9. Определение выразительности для классификации графов....155
Технические требования....156
Определение выразительности....156
Знакомство с графовой сетью изоморфизма....158
Классификация графов с помощью графовой сети изоморфизма....160
Классификация графов....160
Реализация графовой сети изоморфизма (GIN)....161
Выводы....172
Дополнительное чтение....173
Глава 10. Прогнозирование связей с помощью графовых нейронных сетей....174
Технические требования....175
Прогнозирование связей с помощью традиционных методов....175
Эвристические методы....175
Матричная факторизация....177
Прогнозирование связей с помощью эмбеддингов узлов....179
Знакомство с графовыми автоэнкодерами....179
Знакомство с вариационными графовыми автоэнкодерами....180
Реализация VGAE....181
Прогнозирование связей с помощью SEAL....185
Знакомство с фреймворком SEAL....185
Реализация фреймворка SEAL....187
Выводы....193
Дополнительное чтение....193
Глава 11. Генерация графов с помощью графовых нейронных сетей....195
Технические требования....196
Генерация графов с помощью традиционных методов....196
Модель Эрдеша–Реньи....196
Модель «малого мира»....199
Генерация графов с помощью графовых нейронных сейтей....200
Вариационные графовые автоэнкодеры....201
Авторегрессионные модели....203
Генеративные состязательные сети (GAN)....204
Генерация молекул с помощью MolGAN....206
Выводы....211
Дополнительное чтение....211
Глава 12. Обучение на гетерогенных графах....213
Технические требования....214
Нейронная сеть передачи сообщений....214
Знакомство с гетерогенными графами....216
Преобразование гомогенных GNN в гетерогенные GNN....220
Реализация иерархической нейронной сети с самовниманием....227
Выводы....230
Дополнительное чтение....231
Глава 13. Темпоральные графовые нейронные сети....232
Технические требования....233
Знакомство с динамическими графами....233
Прогнозирование веб-трафика....234
Знакомство с EvolveGCN....234
Реализация EvolveGCN....237
Прогнозирование случаев COVID-19....244
Знакомство с MPNN-LSTM....245
Реализация MPNN-LSTM....246
Выводы....251
Дополнительное чтение....252
Глава 14. Интерпретация графовых нейронных сетей....253
Технические требования....254
Знакомство с методами интерпретации....254
Интерпретация графовых нейронных сетей с помощью GNNExplainer....255
Знакомство с GNNExplainer....255
Реализация GNNExplainer....257
Интерпретация графовых нейронных сетей с помощью Captum....262
Знакомство с Captum и методом интегрированных градиентов....262
Реализация метода интегрированных градиентов....263
Выводы....268
Дополнительное чтение....268
Часть IV. ЗАДАЧИ....270
Глава 15. Прогнозирование трафика с помощью A3T-GCN....271
Технические требования....272
Исследование набора данных PeMS-M....272
Обработка набора данных....277
Реализация архитектуры A3T-GCN....282
Выводы....287
Дополнительное чтение....288
Глава 16. Построение рекомендательной системы с помощью LightGCN....289
Технические требования....290
Исследование набора данных Book-Crossing....290
Предварительная обработка набора данных Book-Crossing....296
Реализация архитектуры LightGCN....300
Выводы....312
Дополнительное чтение....312
Глава 17. Обнаружение аномалий с помощью гетерогенных графовых нейронных сетей....314
Технические требования....315
Исследование набора данных CIDDS-001....315
Предварительная обработка набора данных CIDDS-001....320
Реализация гетерогенной GNN....328
Выводы....334
Дополнительное чтение....335
Глава 18. Раскрытие потенциала графовых нейронных сетей в реальных задачах....336
Предметный указатель....338
Создавайте креативные и мощные приложения с использованием графовых данных и станьте экспертом в графовых нейронных сетях!
Всего через десять лет после своего появления графовые нейронные сети стали одной из самых интересных архитектур в глубоком обучении. Технологические компании пытаются применить их повсюду: в сфере разработки лекарств, в системах рекомендаций еды, видео и поиска романтических партнеров, для выявления фейковых новостей. В этой книге представлены основы теории графов для data science и машинного обучения, а также практические задачи, которые решаются с помощью графовых нейронных сетей.
По мере чтения вы откроете для себя целый ряд ранее неизвестных сфер применения машинного обучения и сформируете профессиональное портфолио.
Студенты, специалисты по data science, а также эксперты в области машинного и глубокого обучения найдут в книге понятные и иллюстрированные объяснения с кодом и тетрадками, чтобы быстро начать работу. Для изучения материала пригодятся базовые знания языка Python и линейной алгебры.