Code for Neurips2021 Paper "Topology-Imbalance Learning for Semi-Supervised Node Classification".

Related tags

Deep Learning ReNode
Overview

Topology-Imbalance Learning for Semi-Supervised Node Classification

Introduction

Code for NeurIPS 2021 paper "Topology-Imbalance Learning for Semi-Supervised Node Classification"

Overview Figure This work investigates the topology-imbalance problem of node representation learning on graph-structured data. Unlike the "quantity-imbalance" problem, the topology imbalance is caused by the topological properties of the labeled nodes, i.e., the locations of the labeled nodes on the graph can influence how information is spread over the entire graph.

The conflict-detection based metric Totoro is proposed for measuring the degree of topology imbalance. Moreover, the ReNode method is proposed to relieve the topology imbalance issue for both transductive setting and inductive setting.

Transductive Setting

a) Introduction

The code for the transductive setting semi-supervised learning. Including the CORA/CiteSeer/PubMed/Photo/Computers experiment datasets as shown in paper. It is implemented mainly based on pytorch_geometric project: https://github.com/rusty1s/pytorch_geometric

b) Quick Start

  • Prepare conda enviroment; more package info can be found in "requirements.txt"
  • Set the operations in 'opt.py'; some important operations are listed:
    1. Experiment Dataset (the dataset will be downloaded automatically at the first running time): set data_name = ['cora','citeseer','pubmed','photo','computers']
    2. Backbone GNN':
      set model = ['sgc','ppnp','gcn','gat','sage','cheb']
    3. Training Loss:
      set loss-name = ['ce','focal','re-weight','cb-softmax']
    4. ReNode Method:
      set renode-reweight = 1/0 to open/close ReNode
      set rn-base-weight as the lowerbound of the ReNode Factor
      set rn-scale-weight as the scale range of the ReNode Factor
    5. Imbalance Issue:
      set size-imb-type = 'none' if study TINL-only
      set size-imb-type = 'step' if study TINL&QINL
  • Running command: 'python transductive_run.py'

Inductive Setting

a) Introduction

The code for the inductive setting semi-supervised learning. Including the Reddit and MAG-Scholar datasets. It is branched from the PPRGo project: https://github.com/TUM-DAML/pprgo_pytorch.

b) Quick Start

  • Prepare conda enviroment; more package info can be found in "requirements.txt"

  • Prepare the dataset file from the following public source:

    1. Reddit: https://github.com/TUM-DAML/pprgo_pytorch/blob/master/data/get_reddit.md
    2. MAG-Scholar: https://figshare.com/articles/dataset/mag_scholar/12696653/2
  • Set the operations in 'config.yaml'; some important operations are listed:

    1. ReNode Method:
      for baseline: set base_w = 1 and scale_w = 0
      for method: set base_w and scale_w
    2. Training Size:
      set ntrain_div_classes
    3. Imbalance Issue:
      set issue_type = 'tinl' if considering topology imbalance only
      set issue_type = 'qinl' if jointly considering topology- and quantity-imbalance
  • Running command: 'python inductive_run.py'

License

MIT License

Contact

Please feel free to email me (chendeli96 [AT] gmail.com) for any questions about this work.

Citation

@inproceedings{chen2021renode,
  author    = {Deli, Chen and Yankai, Lin and Guangxiang, Zhao and Xuancheng, Ren and Peng, Li and Jie, Zhou and Xu, Sun},
  title     = {{Topology-Imbalance Learning for Semi-Supervised Node Classification}},
  booktitle = {NeurIPS},
  year      = {2021}
}
You might also like...
TensorFlow code for the neural network presented in the paper:
TensorFlow code for the neural network presented in the paper: "Structural Language Models of Code" (ICML'2020)

SLM: Structural Language Models of Code This is an official implementation of the model described in: "Structural Language Models of Code" [PDF] To ap

Code for the prototype tool in our paper "CoProtector: Protect Open-Source Code against Unauthorized Training Usage with Data Poisoning".

CoProtector Code for the prototype tool in our paper "CoProtector: Protect Open-Source Code against Unauthorized Training Usage with Data Poisoning".

Code to use Augmented Shapiro Wilks Stopping, as well as code for the paper "Statistically Signifigant Stopping of Neural Network Training"

This codebase is being actively maintained, please create and issue if you have issues using it Basics All data files are included under losses and ea

Code for our method RePRI for Few-Shot Segmentation. Paper at http://arxiv.org/abs/2012.06166
Code for our method RePRI for Few-Shot Segmentation. Paper at http://arxiv.org/abs/2012.06166

Region Proportion Regularized Inference (RePRI) for Few-Shot Segmentation In this repo, we provide the code for our paper : "Few-Shot Segmentation Wit

Code for ACM MM 2020 paper
Code for ACM MM 2020 paper "NOH-NMS: Improving Pedestrian Detection by Nearby Objects Hallucination"

NOH-NMS: Improving Pedestrian Detection by Nearby Objects Hallucination The offical implementation for the "NOH-NMS: Improving Pedestrian Detection by

Official TensorFlow code for the forthcoming paper
Official TensorFlow code for the forthcoming paper

~ Efficient-CapsNet ~ Are you tired of over inflated and overused convolutional neural networks? You're right! It's time for CAPSULES :)

This is the code for the paper
This is the code for the paper "Contrastive Clustering" (AAAI 2021)

Contrastive Clustering (CC) This is the code for the paper "Contrastive Clustering" (AAAI 2021) Dependency python=3.7 pytorch=1.6.0 torchvision=0.8

Code for the paper Learning the Predictability of the Future

Learning the Predictability of the Future Code from the paper Learning the Predictability of the Future. Website of the project in hyperfuture.cs.colu

PyTorch code for the paper: FeatMatch: Feature-Based Augmentation for Semi-Supervised Learning
PyTorch code for the paper: FeatMatch: Feature-Based Augmentation for Semi-Supervised Learning

FeatMatch: Feature-Based Augmentation for Semi-Supervised Learning This is the PyTorch implementation of our paper: FeatMatch: Feature-Based Augmentat

Comments
  • There is an earlier work that defines a similar problem

    There is an earlier work that defines a similar problem

    There is an earlier work that defines a similar problem: GCN-Based Linkage Prediction for Face Clustering on Imbalanced Datasets: An Empirical Study.

    A bit of a coincidence. You are node classifiers, looking forward to edge classifiers; we are edge classifiers, looking forward to node classifications.

    opened by espectre 0
  • Optimal hyperparameter selections for reproducible results

    Optimal hyperparameter selections for reproducible results

    Hi, I'm interested in ReNode, which reweights the loss by computing the Totoro value. I have tried to understand and run your code, but I could not get the results in the paper. Can you provide the optimal hyperparameter selections for reproducing the results of the paper? Thanks sincerely~

    opened by TraceIvan 0
Owner
Victor Chen
Victor Chen
Deep Markov Factor Analysis (NeurIPS2021)

Deep Markov Factor Analysis (DMFA) Codes and experiments for deep Markov factor analysis (DMFA) model accepted for publication at NeurIPS2021: A. Farn

Sarah Ostadabbas 2 Dec 16, 2022
[NeurIPS2021] Exploring Architectural Ingredients of Adversarially Robust Deep Neural Networks

Exploring Architectural Ingredients of Adversarially Robust Deep Neural Networks Code for NeurIPS 2021 Paper "Exploring Architectural Ingredients of A

Hanxun Huang 26 Dec 1, 2022
This codebase is the official implementation of Test-Time Classifier Adjustment Module for Model-Agnostic Domain Generalization (NeurIPS2021, Spotlight)

Test-Time Classifier Adjustment Module for Model-Agnostic Domain Generalization This codebase is the official implementation of Test-Time Classifier A

null 47 Dec 28, 2022
Revisiting Discriminator in GAN Compression: A Generator-discriminator Cooperative Compression Scheme (NeurIPS2021)

Revisiting Discriminator in GAN Compression: A Generator-discriminator Cooperative Compression Scheme (NeurIPS2021) Overview Prerequisites Linux Pytho

Shaojie Li 34 Mar 31, 2022
PyTorch implementation of Lip to Speech Synthesis with Visual Context Attentional GAN (NeurIPS2021)

Lip to Speech Synthesis with Visual Context Attentional GAN This repository contains the PyTorch implementation of the following paper: Lip to Speech

null 6 Nov 2, 2022
MAU: A Motion-Aware Unit for Video Prediction and Beyond, NeurIPS2021

MAU (NeurIPS2021) Zheng Chang, Xinfeng Zhang, Shanshe Wang, Siwei Ma, Yan Ye, Xinguang Xiang, Wen GAo. Official PyTorch Code for "MAU: A Motion-Aware

ZhengChang 20 Nov 25, 2022
The LaTeX and Python code for generating the paper, experiments' results and visualizations reported in each paper is available (whenever possible) in the paper's directory

This repository contains the software implementation of most algorithms used or developed in my research. The LaTeX and Python code for generating the

João Fonseca 3 Jan 3, 2023
Inference code for "StylePeople: A Generative Model of Fullbody Human Avatars" paper. This code is for the part of the paper describing video-based avatars.

NeuralTextures This is repository with inference code for paper "StylePeople: A Generative Model of Fullbody Human Avatars" (CVPR21). This code is for

Visual Understanding Lab @ Samsung AI Center Moscow 18 Oct 6, 2022
This is the official source code for SLATE. We provide the code for the model, the training code, and a dataset loader for the 3D Shapes dataset. This code is implemented in Pytorch.

SLATE This is the official source code for SLATE. We provide the code for the model, the training code and a dataset loader for the 3D Shapes dataset.

Gautam Singh 66 Dec 26, 2022
Code for paper ECCV 2020 paper: Who Left the Dogs Out? 3D Animal Reconstruction with Expectation Maximization in the Loop.

Who Left the Dogs Out? Evaluation and demo code for our ECCV 2020 paper: Who Left the Dogs Out? 3D Animal Reconstruction with Expectation Maximization

Benjamin Biggs 29 Dec 28, 2022