설명
이 GitHub 저장소는 ICML2019 논문에 상세히 설명된 그래프 컨볼루션 네트워크(SGC) 모델의 공식 구현을 호스팅합니다. SGC는 비선형성을 제거하고 가중치 행렬을 축소하여 아키텍처를 단순화하는 그래프 컨볼루션 네트워크(GCN)의 발전입니다. 이러한 변환은 경쟁력 있는 성능을 유지하면서 훈련 시간과 계산 리소스를 대폭 줄이는 선형 모델을 생성합니다.
이 구현은 Cora, Citeseer, Pubmed와 같은 인용 네트워크와 Reddit과 같은 소셜 네트워크를 포함한 다양한 그래프 데이터셋을 지원합니다. 인용 네트워크의 경우, 모델은 Cora에서 81.0%, Citeseer에서 71.9%, Pubmed에서 78.9%의 주목할 만한 정확도를 달성하며, GTX 1080 Ti에서 0.13초의 훈련 시간을 기록합니다. Reddit 데이터셋의 경우, 2.7초 만에 94.9%의 F1 점수를 달성합니다.
이 저장소에는 데이터 전처리, 모델 정의, 훈련 및 평가를 위한 코드가 포함되어 있습니다. 또한 hyperopt와 같은 도구를 사용하여 가중치 감쇠에 대한 하이퍼파라미터 튜닝에 대한 지침을 제공합니다. 평균이 0이고 표준 편차가 1이 되도록 특징을 정규화하여 수렴을 가속화하는 것과 같이 SGC 및 기타 선형 모델에 유익한 기술에 대한 실질적인 조언이 제공됩니다.
핵심 구현 외에도, 이 저장소는 Deep Graph Library(DGL), PyTorch Geometric, Spektral, StellarGraph, tf_geometric과 같은 인기 있는 라이브러리의 추가 리소스 및 참조 구현을 안내합니다. 또한 어블레이션 연구를 위한 작업 중인 브랜치와 텍스트 분류를 시작으로 다운스트림 작업을 위한 코드를 제공합니다. 이 프로젝트는 효율적이고 효과적인 그래프 신경망 모델을 활용하려는 연구원 및 실무자에게 귀중한 리소스입니다.
그래프 컨볼루션 네트워크의 단순화 하이라이트
그래프 컨볼루션 네트워크의 단순화(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 벤치마킹







