Official PyTorch Implementation of "Self-supervised Auxiliary Learning with Meta-paths for Heterogeneous Graphs". NeurIPS 2020.

Overview

Self-supervised Auxiliary Learning with Meta-paths for Heterogeneous Graphs

This repository is the implementation of SELAR.

Dasol Hwang* , Jinyoung Park* , Sunyoung Kwon, Kyung-min Kim, Jung-Woo Ha, Hyunwoo J. Kim, Self-supervised Auxiliary Learning with Meta-paths for Heterogeneous Graphs, In Advanced in Neural Information Processing Systems (NeurIPS 2020).

Data Preprocessing

We used datasets from KGNN-LS and RippleNet for link prediction. Download meta-paths label (meta_labels/) from this link.

  • data/music/

    • ratings_final.npy : preprocessed rating file released by KGNN-LS;
    • kg_final.npy : knowledge graph file;
      • meta_labels/
        • pos_meta{}_{}.pickle : meta-path positive label for auxiliary task
        • neg_meta{}_{}.pickle : meta-path negative label for auxiliary task
  • data/book/

    • ratings_final.npy : preprocessed rating file released by RippleNet;
    • kg_final.npy : knowledge graph file;
      • meta_labels/
        • pos_meta{}_{}.pickle : meta-path positive label for auxiliary task
        • neg_meta{}_{}.pickle : meta-path negative label for auxiliary task

Required packages

A list of dependencies will need to be installed in order to run the code. We provide the dependency yaml file (env.yml)

$ conda env create -f env.yml

Running the code

# check optional arguments [-h]
$ python main_music.py
$ python main_book.py

Overview of the results of link prediction

Last-FM (Music)

Base GNNs Vanilla w/o MP w/ MP SELAR SELAR+Hint
GCN 0.7963 0.7899 0.8235 0.8296 0.8121
GAT 0.8115 0.8115 0.8263 0.8294 0.8302
GIN 0.8199 0.8217 0.8242 0.8361 0.8350
SGC 0.7703 0.7766 0.7718 0.7827 0.7975
GTN 0.7836 0.7744 0.7865 0.7988 0.8067

Book-Crossing (Book)

Base GNNs Vanilla w/o MP w/ MP SELAR SELAR+Hint
GCN 0.7039 0.7031 0.7110 0.7182 0.7208
GAT 0.6891 0.6968 0.7075 0.7345 0.7360
GIN 0.6979 0.7210 0.7338 0.7526 0.7513
SGC 0.6860 0.6808 0.6792 0.6902 0.6926
GTN 0.6732 0.6758 0.6724 0.6858 0.6850

Citation

@inproceedings{NEURIPS2020_74de5f91,
 author = {Hwang, Dasol and Park, Jinyoung and Kwon, Sunyoung and Kim, KyungMin and Ha, Jung-Woo and Kim, Hyunwoo J},
 booktitle = {Advances in Neural Information Processing Systems},
 editor = {H. Larochelle and M. Ranzato and R. Hadsell and M. F. Balcan and H. Lin},
 pages = {10294--10305},
 publisher = {Curran Associates, Inc.},
 title = {Self-supervised Auxiliary Learning with Meta-paths for Heterogeneous Graphs},
 url = {https://proceedings.neurips.cc/paper/2020/file/74de5f915765ea59816e770a8e686f38-Paper.pdf},
 volume = {33},
 year = {2020}
}

License

Copyright (c) 2020-present NAVER Corp. and Korea University 
Owner
MLV Lab (Machine Learning and Vision Lab at Korea University)
MLV Lab (Machine Learning and Vision Lab at Korea University)
Fast and Easy Infinite Neural Networks in Python

Neural Tangents ICLR 2020 Video | Paper | Quickstart | Install guide | Reference docs | Release notes Overview Neural Tangents is a high-level neural

Google 1.9k Jan 09, 2023
Python Environment for Bayesian Learning

Pebl is a python library and command line application for learning the structure of a Bayesian network given prior knowledge and observations. Pebl in

Abhik Shah 103 Jul 14, 2022
El-Gamal on Elliptic Curve (Python)

El-Gamal-on-EC El-Gamal on Elliptic Curve (Python) References: https://docsdrive.com/pdfs/ansinet/itj/2005/299-306.pdf https://arxiv.org/ftp/arxiv/pap

3 May 04, 2022
The codes and models in 'Gaze Estimation using Transformer'.

GazeTR We provide the code of GazeTR-Hybrid in "Gaze Estimation using Transformer". We recommend you to use data processing codes provided in GazeHub.

65 Dec 27, 2022
Flexible-Modal Face Anti-Spoofing: A Benchmark

Flexible-Modal FAS This is the official repository of "Flexible-Modal Face Anti-

Zitong Yu 22 Nov 10, 2022
Tools for the Cleveland State Human Motion and Control Lab

Introduction This is a collection of tools that are helpful for gait analysis. Some are specific to the needs of the Human Motion and Control Lab at C

CSU Human Motion and Control Lab 88 Dec 16, 2022
Implement A3C for Mujoco gym envs

pytorch-a3c-mujoco Disclaimer: my implementation right now is unstable (you ca refer to the learning curve below), I'm not sure if it's my problems. A

Andrew 70 Dec 12, 2022
Some useful blender add-ons for SMPL skeleton's poses and global translation.

Blender add-ons for SMPL skeleton's poses and trans There are two blender add-ons for SMPL skeleton's poses and trans.The first is for making an offli

犹在镜中 154 Jan 04, 2023
Official repository of "Investigating Tradeoffs in Real-World Video Super-Resolution"

RealBasicVSR [Paper] This is the official repository of "Investigating Tradeoffs in Real-World Video Super-Resolution, arXiv". This repository contain

Kelvin C.K. Chan 566 Dec 28, 2022
We propose a new method for effective shadow removal by regarding it as an exposure fusion problem.

Auto-exposure fusion for single-image shadow removal We propose a new method for effective shadow removal by regarding it as an exposure fusion proble

Qing Guo 146 Dec 31, 2022
Commonsense Ability Tests

CATS Commonsense Ability Tests Dataset and script for paper Evaluating Commonsense in Pre-trained Language Models Use making_sense.py to run the exper

XUHUI ZHOU 28 Oct 19, 2022
Official PyTorch implementation of "RMGN: A Regional Mask Guided Network for Parser-free Virtual Try-on" (IJCAI-ECAI 2022)

RMGN-VITON RMGN: A Regional Mask Guided Network for Parser-free Virtual Try-on In IJCAI-ECAI 2022(short oral). [Paper] [Supplementary Material] Abstra

27 Dec 01, 2022
A smart Chat bot that can help to know about corona virus and Make prediction of corona using X-ray.

TRINIT_Hum_kuchh_nahi_karenge_ML01 Document Link https://github.com/Jatin-Goyal-552/TRINIT_Hum_kuchh_nahi_karenge_ML01/blob/main/hum_kuchh_nahi_kareng

JatinGoyal 1 Feb 03, 2022
Lightweight Python library for adding real-time object tracking to any detector.

Norfair is a customizable lightweight Python library for real-time 2D object tracking. Using Norfair, you can add tracking capabilities to any detecto

Tryolabs 1.7k Jan 05, 2023
Tutorial: Introduction to Graph Machine Learning, with Jupyter notebooks

GraphMLTutorialNLDL22 Tutorial NLDL22: Introduction to Graph Machine Learning, with Jupyter notebooks This tutorial takes place during the conference

UiT Machine Learning Group 3 Jan 10, 2022
Code for the CVPR2021 workshop paper "Noise Conditional Flow Model for Learning the Super-Resolution Space"

NCSR: Noise Conditional Flow Model for Learning the Super-Resolution Space Official NCSR training PyTorch Code for the CVPR2021 workshop paper "Noise

57 Oct 03, 2022
A very simple tool to rewrite parameters such as attributes and constants for OPs in ONNX models. Simple Attribute and Constant Modifier for ONNX.

sam4onnx A very simple tool to rewrite parameters such as attributes and constants for OPs in ONNX models. Simple Attribute and Constant Modifier for

Katsuya Hyodo 6 May 15, 2022
The official repo of the CVPR2021 oral paper: Representative Batch Normalization with Feature Calibration

Representative Batch Normalization (RBN) with Feature Calibration The official implementation of the CVPR2021 oral paper: Representative Batch Normali

Open source projects of ShangHua-Gao 76 Nov 09, 2022
[v1 (ISBI'21) + v2] MedMNIST: A Large-Scale Lightweight Benchmark for 2D and 3D Biomedical Image Classification

MedMNIST Project (Website) | Dataset (Zenodo) | Paper (arXiv) | MedMNIST v1 (ISBI'21) Jiancheng Yang, Rui Shi, Donglai Wei, Zequan Liu, Lin Zhao, Bili

683 Dec 28, 2022