説明
この GitHub リポジトリは、ICML2019 の論文で詳述された Simplifying Graph Convolutional Networks(SGC)モデルの公式実装を公開しています。SGC は、非線形性を取り除き、重み行列を一つにまとめることでアーキテクチャを単純化した、Graph Convolutional Networks(GCN)の進化形です。この変換により、競争力のある性能を維持しながら、学習時間と計算リソースを大幅に削減する線形モデルが得られます。
続きを読む
実装は、Cora、Citeseer、Pubmed などの引用ネットワークや、Reddit のようなソーシャルネットワークを含む、さまざまなグラフデータセットに対応しています。引用ネットワークでは、Cora で 81.0%、Citeseer で 71.9%、Pubmed で 78.9% と高い精度を達成し、GTX 1080 Ti での学習時間は最短で 0.13 秒です。Reddit データセットでは、2.7 秒で F1 スコア 94.9% を達成しています。
リポジトリには、データの前処理、モデル定義、学習、評価のためのコードが含まれています。hyperopt などのツールを使ったハイパーパラメータのチューニング、特に重み減衰についてのガイダンスもあります。特徴量を平均ゼロ、標準偏差 1 に正規化して収束を加速させるといった実践的なアドバイスも示されており、この手法は SGC やその他の線形モデルで有効です。
コア実装に加えて、リポジトリは Deep Graph Library(DGL)、PyTorch Geometric、Spektral、StellarGraph、tf_geometric といった人気のライブラリにおける追加のリソースやリファレンス実装を紹介しています。また、アブレーション研究用の作業中のブランチと、テキスト分類から始まる下流タスク用のコードも備えています。このプロジェクトは、効率的で効果的なグラフニューラルネットワークモデルを活用したい研究者や実務者にとって、貴重なリソースです。
- カテゴリーAIモデルとLLM
- 料金モデルオープンソース
- デプロイクラウド, セルフホスト
- プラットフォームWeb
Simplifying Graph Convolutional Networksの主要機能
論文 Simplifying Graph Convolutional Networks(SGC)の公式実装
合理化された Graph Convolutional Network(GCN)アーキテクチャ
非線形性を取り除き重み行列を一つにまとめた線形モデル
従来の GCN と比べて学習時間を大幅に短縮
ベンチマークデータセットで競争力のある性能を達成
引用ネットワーク(Cora、Citeseer、Pubmed)とソーシャルネットワーク(Reddit)に対応
データの前処理、モデルの学習、評価のコードを同梱
ハイパーパラメータのチューニングに関するガイダンスを提供
収束を加速させる特徴量の正規化に関する実践的なアドバイスを提供
テキスト分類を含む下流タスク用のコードベース
人気の GNN ライブラリでの実装への参照
Simplifying Graph Convolutional Networksをはじめる
モデルを入手:GitHub のリポジトリをクローンします。
環境をセットアップ:`pip install -r requirements.txt` で依存関係をインストールします。
データを準備:Reddit データセットをダウンロードし、`data/` ディレクトリに配置します。
引用ネットワークで学習:`python citation.py --dataset [dataset_name] --tuned` を実行します。
Reddit で学習:`python reddit.py --inductive --test` を実行します。
統合:提供されているスクリプトを、独自のデータセットや下流タスク向けに調整します。
Simplifying Graph Convolutional Networksの使用例
- ノード分類
- テキスト分類
- グラフ特徴の学習
- 効率的な GNN の学習
- GNN のベンチマーク







