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

Related tags

Deep LearningReNode
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}
}
Owner
Victor Chen
Victor Chen
Learning to Reconstruct 3D Manhattan Wireframes from a Single Image

Learning to Reconstruct 3D Manhattan Wireframes From a Single Image This repository contains the PyTorch implementation of the paper: Yichao Zhou, Hao

Yichao Zhou 50 Dec 27, 2022
Code for "Diffusion is All You Need for Learning on Surfaces"

Source code for "Diffusion is All You Need for Learning on Surfaces", by Nicholas Sharp Souhaib Attaiki Keenan Crane Maks Ovsjanikov NOTE: the linked

Nick Sharp 247 Dec 28, 2022
ColossalAI-Examples - Examples of training models with hybrid parallelism using ColossalAI

ColossalAI-Examples This repository contains examples of training models with Co

HPC-AI Tech 185 Jan 09, 2023
GNN-based Recommendation Benchmark

GRecX A Fair Benchmark for GNN-based Recommendation Homepage and Documentation Homepage: Documentation: Paper: GRecX: An Efficient and Unified Benchma

73 Oct 17, 2022
Python wrapper of LSODA (solving ODEs) which can be called from within numba functions.

numbalsoda numbalsoda is a python wrapper to the LSODA method in ODEPACK, which is for solving ordinary differential equation initial value problems.

Nick Wogan 52 Jan 09, 2023
A Pytorch implement of paper "Anomaly detection in dynamic graphs via transformer" (TADDY).

TADDY: Anomaly detection in dynamic graphs via transformer This repo covers an reference implementation for the paper "Anomaly detection in dynamic gr

Yue Tan 21 Nov 24, 2022
Codebase for testing whether hidden states of neural networks encode discrete structures.

structural-probes Codebase for testing whether hidden states of neural networks encode discrete structures. Based on the paper A Structural Probe for

John Hewitt 349 Dec 17, 2022
[CVPR 2021] Teachers Do More Than Teach: Compressing Image-to-Image Models (CAT)

CAT arXiv Pytorch implementation of our method for compressing image-to-image models. Teachers Do More Than Teach: Compressing Image-to-Image Models Q

Snap Research 160 Dec 09, 2022
Efficient Sparse Attacks on Videos using Reinforcement Learning

EARL This repository provides a simple implementation of the work "Efficient Sparse Attacks on Videos using Reinforcement Learning" Example: Demo: Her

12 Dec 05, 2021
A custom-designed Spider Robot trained to walk using Deep RL in a PyBullet Simulation

SpiderBot_DeepRL Title: Implementation of Single and Multi-Agent Deep Reinforcement Learning Algorithms for a Walking Spider Robot Authors(s): Arijit

Arijit Dasgupta 9 Jul 28, 2022
Ontologysim: a Owlready2 library for applied production simulation

Ontologysim: a Owlready2 library for applied production simulation Ontologysim is an open-source deep production simulation framework, with an emphasi

10 Nov 30, 2022
Latent Network Models to Account for Noisy, Multiply-Reported Social Network Data

VIMuRe Latent Network Models to Account for Noisy, Multiply-Reported Social Network Data. If you use this code please cite this article (preprint). De

6 Dec 15, 2022
Edge-oriented Convolution Block for Real-time Super Resolution on Mobile Devices, ACM Multimedia 2021

Codes for ECBSR Edge-oriented Convolution Block for Real-time Super Resolution on Mobile Devices Xindong Zhang, Hui Zeng, Lei Zhang ACM Multimedia 202

xindong zhang 236 Dec 26, 2022
Quickly and easily create / train a custom DeepDream model

Dream-Creator This project aims to simplify the process of creating a custom DeepDream model by using pretrained GoogleNet models and custom image dat

55 Dec 27, 2022
Source Code and data for my paper titled Linguistic Knowledge in Data Augmentation for Natural Language Processing: An Example on Chinese Question Matching

Description The source code and data for my paper titled Linguistic Knowledge in Data Augmentation for Natural Language Processing: An Example on Chin

Zhengxiang Wang 3 Jun 28, 2022
Official implementation of "Learning Proposals for Practical Energy-Based Regression", 2021.

ebms_proposals Official implementation (PyTorch) of the paper: Learning Proposals for Practical Energy-Based Regression, 2021 [arXiv] [project]. Fredr

Fredrik Gustafsson 10 Oct 22, 2022
Multimodal Descriptions of Social Concepts: Automatic Modeling and Detection of (Highly Abstract) Social Concepts evoked by Art Images

MUSCO - Multimodal Descriptions of Social Concepts Automatic Modeling of (Highly Abstract) Social Concepts evoked by Art Images This project aims to i

0 Aug 22, 2021
Lane assist for ETS2, built with the ultra-fast-lane-detection model.

Euro-Truck-Simulator-2-Lane-Assist Lane assist for ETS2, built with the ultra-fast-lane-detection model. This project was made possible by the amazing

36 Jan 05, 2023
Deploy optimized transformer based models on Nvidia Triton server

🤗 Hugging Face Transformer submillisecond inference 🤯 and deployment on Nvidia Triton server Yes, you can perfom inference with transformer based mo

Lefebvre Sarrut Services 1.2k Jan 05, 2023
Image Classification - A research on image classification and auto insurance claim prediction, a systematic experiments on modeling techniques and approaches

A research on image classification and auto insurance claim prediction, a systematic experiments on modeling techniques and approaches

0 Jan 23, 2022