説明
このリポジトリは、Gasteiger、Bojchevski、およびGünnemannによるICLR 2019の論文「Predict then Propagate: Graph Neural Networks meet Personalized PageRank」で詳述されているPPNP(Predict then Propagate)およびAPPNP(Approximate Personalized PageRank)モデルの公式実装をホストしています。このプロジェクトは、これらの高度なグラフニューラルネットワークモデルのTensorFlow版とPyTorch版の両方を提供します。
このリポジトリの主な目的は、研究者や開発者がグラフ構造化データを含むタスクにこれらのモデルを活用するためのアクセスしやすいコードを提供することです。実装は、元の論文で提示された結果を再現するための明確な例と指示とともに、使いやすいように設計されています。これにより、GNNフレームワーク内でのPersonalized PageRank概念のさらなる研究と応用が促進されます。
主な機能には、伝播メカニズムと予測モデルを効果的に組み合わせることによるグラフ分類やその他のノードレベルまたはグラフレベルの予測を実行する能力が含まれます。これらのモデルは、ネットワーク内のノードの重要性と影響力の理解が重要なシナリオに特に適しています。リポジトリには、NetworkXグラフをプロジェクトのSparseGraph形式に変換するなど、カスタムデータセットの使用を可能にするデータ処理ユーティリティも含まれています。
このリポジトリの対象読者は、グラフニューラルネットワーク、ネットワーク分析、および関連分野で作業する機械学習研究者、データサイエンティスト、およびエンジニアです。リンク予測、ノード分類、またはレコメンデーションシステムなどのタスクのために最先端のGNNアーキテクチャを実装または実験したい開発者は、このリソースを価値あるものと感じるでしょう。
価値提案は、Personalized PageRankのような従来のグラフアルゴリズムと最新のディープラーニング技術とのギャップを埋める、強力なグラフニューラルネットワークモデルの十分に文書化されたオープンソース実装を提供することにあります。TensorFlow版とPyTorch版の両方が利用可能であることは、さまざまな開発環境での柔軟性と採用を向上させます。
PPNP & APPNP モデルのハイライト
PPNPおよびAPPNPモデルのTensorFlow実装
PPNPおよびAPPNPモデルのPyTorch実装
ICLR 2019論文の結果を再現するためのコード
簡単な統合のためのサンプルノートブック(simple_example_pytorch.ipynb、simple_example_tensorflow.ipynb)
NetworkXグラフをSparseGraph形式に変換するためのユーティリティ
Cora-ML、Citeseer、PubMedなどのデータセットを含む
グラフベースの機械学習タスクをサポート
"Predict then Propagate: Graph Neural Networks meet Personalized PageRank"論文に基づく
GitHubで利用可能なオープンソースコード
PPNP & APPNP モデルをはじめる
モデルへのアクセス: GitHubリポジトリをローカルマシンにクローンします。
環境設定: `pip install -r requirements.txt`を使用して必要なパッケージをインストールします。
API経由での統合: Pythonスクリプト内でPPNPまたはAPPNPモデルクラスをインポートして使用します。
サンプル実行: 提供されているJupyterノートブック(`simple_example_pytorch.ipynb`または`simple_example_tensorflow.ipynb`)を実行して、モデルの動作を確認します。
結果の再現: `reproduce_results.ipynb`を使用して、論文で提示された実験結果を再現します。
データ処理: カスタムデータセットの統合には`networkx_to_sparsegraph`を使用します。
PPNP & APPNP モデルの使用例
- グラフ分類
- ノード分類
- リンク予測
- レコメンデーションシステム
- ネットワーク分析
- 属性付きグラフ学習








