PyTorch implementation of ARM-Net: Adaptive Relation Modeling Network for Structured Data.

Overview

ARM-Net: Adaptive Relation Modeling Network for Structured Data

version python pytorch singa

This repository contains our PyTorch implementation of ARM-Net: Adaptive Relation Modeling Network for Structured Data. We also provide the implementation of relevant baseline models for structured (tabular) data learning.

Our lightweight framework for structured data analytics implemented in Singa can be found in our project site.

Benchmark Dataset

Baseline Model

Model Code Reference
Logistic Regression LR, lr.py
Factorization Machine FM, fm.py S Rendle, Factorization Machines, 2010.
Attentional Factorization Machine AFM, afm.py J Xiao, et al. Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks, 2017.
Higher-Order Factorization Machines HOFM, hofm.py M Blondel, et al. Higher-Order Factorization Machines, 2016.
Deep Neural Network DNN, dnn.py
Graph Convolutional Networks GCN, gcn.py T Kipf, et al. Semi-Supervised Classification with Graph Convolutional Networks, 2016.
Graph Convolutional Networks GAT, gat.py P Veličković, et al. Graph Attention Networks, 2017.
Wide&Deep Wide&Deep, wd.py HT Cheng, et al. Wide & Deep Learning for Recommender Systems, 2016.
Product Neural Network IPNN/KPNN, pnn.py Y Qu, et al. Product-based Neural Networks for User Response Prediction, 2016.
Neural Factorization Machine NFM, nfm.py X He and TS Chua, Neural Factorization Machines for Sparse Predictive Analytics, 2017.
DeepFM DeepFM, dfm.py H Guo, et al. DeepFM: A Factorization-Machine based Neural Network for CTR Prediction, 2017.
Deep & Cross Network DCN/DCN+, dcn.py R Wang, et al. Deep & Cross Network for Ad Click Predictions, 2017.
Gated Linear Unit SA_GLU, sa_glu.py Y N. Dauphin, et al. Language Modeling with Gated Convolutional Networks, 2017
xDeepFM CIN/xDeepFM, xdfm.py J Lian, et al. xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems, 2018.
Context-Aware Self-Attention Network GC_ARM, gc_arm.py B Yang, et al. Context-Aware Self-Attention Networks, 2019
AFN AFN/AFN+, afn.py W Cheng, et al. Adaptive Factorization Network: Learning Adaptive-Order Feature Interactions, 2020.
ARM-Net ARM-Net/ARM-Net+, armnet.py S Cai, et al. ARM-Net: Adaptive Relation Modeling Network for Structured Data, 2021.

Citation

If you use our code in your research, please kindly cite:

@inproceedings{DBLP:conf/sigmod/CaiZ0JOZ21,
  author    = {Shaofeng Cai and
               Kaiping Zheng and
               Gang Chen and
               H. V. Jagadish and
               Beng Chin Ooi and
               Meihui Zhang},
  title     = {ARM-Net: Adaptive Relation Modeling Network for Structured Data},
  booktitle = {{SIGMOD} '21: International Conference on Management of Data, Virtual
               Event, China, June 20-25, 2021},
  pages     = {207--220},
  publisher = {{ACM}},
  year      = {2021},
}

Contact

To ask questions or report issues, you can directly drop us an email.

You might also like...
U^2-Net - Portrait matting This repository explores possibilities of using the original u^2-net model for portrait matting.
U^2-Net - Portrait matting This repository explores possibilities of using the original u^2-net model for portrait matting.

U^2-Net - Portrait matting This repository explores possibilities of using the original u^2-net model for portrait matting.

The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.
The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.

The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.

Neural networks applied in recognizing guitar chords using python, AutoML.NET with C# and .NET Core
Neural networks applied in recognizing guitar chords using python, AutoML.NET with C# and .NET Core

Chord Recognition Demo application The demo application is written in C# with .NETCore. As of July 9, 2020, the only version available is for windows

U-2-Net: U Square Net - Modified for paired image training of style transfer
U-2-Net: U Square Net - Modified for paired image training of style transfer

U2-Net: U Square Net Modified for paired image training of style transfer This is an unofficial repo making use of the code which was made available b

Code for one-stage adaptive set-based HOI detector AS-Net.

AS-Net Code for one-stage adaptive set-based HOI detector AS-Net. Mingfei Chen*, Yue Liao*, Si Liu, Zhiyuan Chen, Fei Wang, Chen Qian. "Reformulating

ManipulaTHOR, a framework that facilitates visual manipulation of objects using a robotic arm
ManipulaTHOR, a framework that facilitates visual manipulation of objects using a robotic arm

ManipulaTHOR: A Framework for Visual Object Manipulation Kiana Ehsani, Winson Han, Alvaro Herrasti, Eli VanderBilt, Luca Weihs, Eric Kolve, Aniruddha

Attention-driven Robot Manipulation (ARM) which includes Q-attention
Attention-driven Robot Manipulation (ARM) which includes Q-attention

Attention-driven Robotic Manipulation (ARM) This codebase is home to: Q-attention: Enabling Efficient Learning for Vision-based Robotic Manipulation I

Doosan robotic arm, simulation, control, visualization in Gazebo and ROS2 for Reinforcement Learning.
Doosan robotic arm, simulation, control, visualization in Gazebo and ROS2 for Reinforcement Learning.

Robotic Arm Simulation in ROS2 and Gazebo General Overview This repository includes: First, how to simulate a 6DoF Robotic Arm from scratch using GAZE

Keyword spotting on Arm Cortex-M Microcontrollers
Keyword spotting on Arm Cortex-M Microcontrollers

Keyword spotting for Microcontrollers This repository consists of the tensorflow models and training scripts used in the paper: Hello Edge: Keyword sp

Comments
  • Multiple output neurons (multiclass classification) support

    Multiple output neurons (multiclass classification) support

    Hi!

    How to correctly support multiple output neurons in your models (for example for multiclass classification task)?

    1. armnet and armnet_1h support multiple output neurons via noutput parameter - there is no problem.

    2. For some models, I added support for multiple output neurons by explicitly specifying the noutput parameter in the last MLP-layer, or by adding support for multiple output neurons for the Linear as follows:

    
    class Linear(nn.Module):
    
        def __init__(self, nfeat, noutput=1):
            super().__init__()
            self.noutput = noutput
            self.weight = nn.Embedding(nfeat, noutput)
            self.bias = nn.Parameter(torch.zeros((1,)))
    
        def forward(self, x):
            """
            :param x:   {'id': LongTensor B*F, 'value': FloatTensor B*F}
            :return:    linear transform of x
            """
            wights = self.weight(x['id'])
            linear = []
            for i in range(self.noutput):
                a_i = wights[:, :, i]
                a_i_mul_b_i = torch.mul(a_i, x['value'])
                linear.append(a_i_mul_b_i)
            linear = torch.stack(linear, dim=2)
    
            val = torch.sum(linear, dim=1) + self.bias
    
            return val
    

    The following models can be adjusted in this way: lr, dnn, afn, gc_arm, dcn, cin, nfm, xdfm, ipnn, kpnn, wd, gat, gcn, dcn+, sa_glu.

    1. It is not quite clear how to add support for multiple output neurons for the following models: dfm, fm, hofm, afm because of it is unclear how to modify FactorizationMachine for multiple output.

    Could you please comment on the correctness of changing the Linear layer from (2), and how to add support for multiple output neurons for models from (3)?

    opened by GillianGrayson 2
Owner
null
Code for the paper "Relation of the Relations: A New Formalization of the Relation Extraction Problem"

This repo contains the code for the EMNLP 2020 paper "Relation of the Relations: A New Paradigm of the Relation Extraction Problem" (Jin et al., 2020)

YYY 27 Oct 26, 2022
Few-shot Relation Extraction via Bayesian Meta-learning on Relation Graphs

Few-shot Relation Extraction via Bayesian Meta-learning on Relation Graphs This is an implemetation of the paper Few-shot Relation Extraction via Baye

MilaGraph 36 Nov 22, 2022
A pytorch-version implementation codes of paper: "BSN++: Complementary Boundary Regressor with Scale-Balanced Relation Modeling for Temporal Action Proposal Generation"

BSN++: Complementary Boundary Regressor with Scale-Balanced Relation Modeling for Temporal Action Proposal Generation A pytorch-version implementation

null 11 Oct 8, 2022
Implementation for our AAAI2021 paper (Entity Structure Within and Throughout: Modeling Mention Dependencies for Document-Level Relation Extraction).

SSAN Introduction This is the pytorch implementation of the SSAN model (see our AAAI2021 paper: Entity Structure Within and Throughout: Modeling Menti

benfeng 69 Nov 15, 2022
RGBD-Net - This repository contains a pytorch lightning implementation for the 3DV 2021 RGBD-Net paper.

[3DV 2021] We propose a new cascaded architecture for novel view synthesis, called RGBD-Net, which consists of two core components: a hierarchical depth regression network and a depth-aware generator network.

Phong Nguyen Ha 4 May 26, 2022
Source code for paper "Document-Level Relation Extraction with Adaptive Thresholding and Localized Context Pooling", AAAI 2021

ATLOP Code for AAAI 2021 paper Document-Level Relation Extraction with Adaptive Thresholding and Localized Context Pooling. If you make use of this co

Wenxuan Zhou 146 Nov 29, 2022
Pytorch implementation of "ARM: Any-Time Super-Resolution Method"

ARM-Net Dependencies Python 3.6 Pytorch 1.7 Results Train Data preprocessing cd data_scripts python extract_subimages_test.py python data_augmentation

Bohong Chen 55 Nov 24, 2022
Pytorch Implementation for CVPR2018 Paper: Learning to Compare: Relation Network for Few-Shot Learning

LearningToCompare Pytorch Implementation for Paper: Learning to Compare: Relation Network for Few-Shot Learning Howto download mini-imagenet and make

Jackie Loong 246 Dec 19, 2022
[ICCV2021] 3DVG-Transformer: Relation Modeling for Visual Grounding on Point Clouds

3DVG-Transformer This repository is for the ICCV 2021 paper "3DVG-Transformer: Relation Modeling for Visual Grounding on Point Clouds" Our method "3DV

null 22 Dec 11, 2022
Some code of the implements of Geological Modeling Using 3D Pixel-Adaptive and Deformable Convolutional Neural Network

3D-GMPDCNN Geological Modeling Using 3D Pixel-Adaptive and Deformable Convolutional Neural Network PyTorch implementation of "Geological Modeling Usin

null 5 Nov 21, 2022