설명
이 리포지토리는 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 모델의 사용 사례
- 그래프 분류
- 노드 분류
- 링크 예측
- 추천 시스템
- 네트워크 분석
- 속성 그래프 학습








