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)
Bald-to-Hairy Translation Using CycleGAN

GANiry: Bald-to-Hairy Translation Using CycleGAN Official PyTorch implementation of GANiry. GANiry: Bald-to-Hairy Translation Using CycleGAN, Fidan Sa

Fidan Samet 10 Oct 27, 2022
A tutorial on DataFrames.jl prepared for JuliaCon2021

JuliaCon2021 DataFrames.jl Tutorial This is a tutorial on DataFrames.jl prepared for JuliaCon2021. A video recording of the tutorial is available here

Bogumił Kamiński 106 Jan 09, 2023
CLUES: Few-Shot Learning Evaluation in Natural Language Understanding

CLUES: Few-Shot Learning Evaluation in Natural Language Understanding This repo contains the data and source code for baseline models in the NeurIPS 2

Microsoft 29 Dec 29, 2022
A platform for intelligent agent learning based on a 3D open-world FPS game developed by Inspir.AI.

Wilderness Scavenger: 3D Open-World FPS Game AI Challenge This is a platform for intelligent agent learning based on a 3D open-world FPS game develope

46 Nov 24, 2022
[ICLR 2021] Is Attention Better Than Matrix Decomposition?

Enjoy-Hamburger 🍔 Official implementation of Hamburger, Is Attention Better Than Matrix Decomposition? (ICLR 2021) Under construction. Introduction T

Gsunshine 271 Dec 29, 2022
202 Jan 06, 2023
OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation

Build Type Linux MacOS Windows Build Status OpenPose has represented the first real-time multi-person system to jointly detect human body, hand, facia

25.7k Jan 09, 2023
Python implementation of "Elliptic Fourier Features of a Closed Contour"

PyEFD An Python/NumPy implementation of a method for approximating a contour with a Fourier series, as described in [1]. Installation pip install pyef

Henrik Blidh 71 Dec 09, 2022
Distributed Asynchronous Hyperparameter Optimization better than HyperOpt.

UltraOpt : Distributed Asynchronous Hyperparameter Optimization better than HyperOpt. UltraOpt is a simple and efficient library to minimize expensive

98 Aug 16, 2022
A `Neural = Symbolic` framework for sound and complete weighted real-value logic

Logical Neural Networks LNNs are a novel Neuro = symbolic framework designed to seamlessly provide key properties of both neural nets (learning) and s

International Business Machines 138 Dec 19, 2022
Implementation for the IJCAI2021 work "Beyond the Spectrum: Detecting Deepfakes via Re-synthesis"

Beyond the Spectrum Implementation for the IJCAI2021 work "Beyond the Spectrum: Detecting Deepfakes via Re-synthesis" by Yang He, Ning Yu, Margret Keu

Yang He 27 Jan 07, 2023
Python code for the paper How to scale hyperparameters for quickshift image segmentation

How to scale hyperparameters for quickshift image segmentation Python code for the paper How to scale hyperparameters for quickshift image segmentatio

0 Jan 25, 2022
Code for "Learning the Best Pooling Strategy for Visual Semantic Embedding", CVPR 2021

Learning the Best Pooling Strategy for Visual Semantic Embedding Official PyTorch implementation of the paper Learning the Best Pooling Strategy for V

Jiacheng Chen 106 Jan 06, 2023
Simple image captioning model - CLIP prefix captioning.

CLIP prefix captioning. Inference Notebook: 🥳 New: 🥳 Our technical papar is finally out! Official implementation for the paper "ClipCap: CLIP Prefix

688 Jan 04, 2023
ATAC: Adversarially Trained Actor Critic

ATAC: Adversarially Trained Actor Critic Adversarially Trained Actor Critic for Offline Reinforcement Learning by Ching-An Cheng*, Tengyang Xie*, Nan

Microsoft 41 Dec 08, 2022
Explaining Hyperparameter Optimization via PDPs

Explaining Hyperparameter Optimization via PDPs This repository gives access to an implementation of the methods presented in the paper submission “Ex

2 Nov 16, 2022
PCGNN - Procedural Content Generation with NEAT and Novelty

PCGNN - Procedural Content Generation with NEAT and Novelty Generation Approach — Metrics — Paper — Poster — Examples PCGNN - Procedural Content Gener

Michael Beukman 8 Dec 10, 2022
This repository contains a Ruby API for utilizing TensorFlow.

tensorflow.rb Description This repository contains a Ruby API for utilizing TensorFlow. Linux CPU Linux GPU PIP Mac OS CPU Not Configured Not Configur

somatic labs 825 Dec 26, 2022
LEAP: Learning Articulated Occupancy of People

LEAP: Learning Articulated Occupancy of People Paper | Video | Project Page This is the official implementation of the CVPR 2021 submission LEAP: Lear

Neural Bodies 60 Nov 18, 2022
Anderson Acceleration for Deep Learning

Anderson Accelerated Deep Learning (AADL) AADL is a Python package that implements the Anderson acceleration to speed-up the training of deep learning

Oak Ridge National Laboratory 7 Nov 24, 2022