Описание
Этот репозиторий на GitHub содержит официальную реализацию модели Simplifying Graph Convolutional Networks (SGC), как подробно описано в статье ICML2019. SGC является усовершенствованием сверточных графовых сетей (GCN), которое упрощает архитектуру путем удаления нелинейностей и сворачивания матриц весов. Эта трансформация приводит к созданию линейной модели, которая сохраняет конкурентоспособную производительность, значительно сокращая время обучения и вычислительные ресурсы.
Реализация поддерживает различные графовые наборы данных, включая сети цитирования, такие как Cora, Citeseer и Pubmed, а также социальные сети, такие как Reddit. Для сетей цитирования модель достигает заметной точности, например, 81,0% на Cora, 71,9% на Citeseer и 78,9% на Pubmed, при времени обучения всего 0,13 секунды на GTX 1080 Ti. Для набора данных Reddit она достигает показателя F1-меры 94,9% за 2,7 секунды.
Репозиторий включает код для предварительной обработки данных, определения модели, обучения и оценки. Он также предоставляет рекомендации по настройке гиперпараметров, особенно для регуляризации весов (weight decay), с использованием таких инструментов, как hyperopt. Предлагаются практические советы, такие как нормализация признаков для достижения нулевого среднего и стандартного отклонения единицы для ускорения сходимости, что является полезной техникой для SGC и других линейных моделей.
Помимо основной реализации, репозиторий указывает на дополнительные ресурсы и эталонные реализации в популярных библиотеках, таких как Deep Graph Library (DGL), PyTorch Geometric, Spektral, StellarGraph и tf_geometric. Он также содержит ветку в стадии разработки для абляционных исследований и код для последующих задач, начиная с классификации текстов. Этот проект является ценным ресурсом для исследователей и практиков, стремящихся использовать эффективные и действенные модели графовых нейронных сетей.
Главное о Упрощение сверточных графовых сетей
Официальная реализация статьи "Simplifying Graph Convolutional Networks" (SGC).
Оптимизированная архитектура сверточной графовой сети (GCN).
Удаляет нелинейности и сворачивает матрицы весов для создания линейной модели.
Значительно сокращенное время обучения по сравнению с традиционными GCN.
Достигает конкурентоспособной производительности на эталонных наборах данных.
Поддерживает сети цитирования (Cora, Citeseer, Pubmed) и социальные сети (Reddit).
Включает код для предварительной обработки данных, обучения модели и оценки.
Предоставляет рекомендации по настройке гиперпараметров.
Предлагает практические советы по нормализации признаков для ускорения сходимости.
Кодовая база для последующих задач, включая классификацию текстов.
Ссылки на реализации в популярных библиотеках GNN.
Начало работы с Упрощение сверточных графовых сетей
Доступ к модели: Клонируйте репозиторий GitHub.
Настройка окружения: Установите зависимости, выполнив `pip install -r requirements.txt`.
Подготовка данных: Загрузите набор данных Reddit и поместите его в каталог `data/`.
Обучение для сетей цитирования: Запустите `python citation.py --dataset [dataset_name] --tuned`.
Обучение для Reddit: Запустите `python reddit.py --inductive --test`.
Интеграция: Адаптируйте предоставленные скрипты для пользовательских наборов данных или последующих задач.
Варианты использования Упрощение сверточных графовых сетей
- Классификация узлов
- Классификация текстов
- Обучение признаков графа
- Эффективное обучение GNN
- Бенчмаркинг GNN







