Skip to content

a5507203/Instance-dependent-Label-noise-Learning-under-a-Structural-Causal-Model

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Code for NeurIPS 2021 Paper "Instance-dependent Label-noise Learning under a Structural Causal Model"

Instance-dependent Label-noise Learning under a Structural Causal Model

Paper

ARXIV: https://arxiv.org/pdf/2109.02986.pdf

Abstract: Label noise generally degenerates the performance of deep learning algorithms because deep neural networks easily overfit label errors. Let $X$ and $Y$ denote the instance and clean label, respectively. When $Y$ is a cause of $X$, according to which many datasets have been constructed, e.g., SVHN and CIFAR, the distributions of $P(X)$ and $P(Y|X)$ are generally entangled. This means that the unsupervised instances are helpful in learning the classifier and thus reduce the side effects of label noise. However, it remains elusive on how to exploit the causal information to handle the label-noise problem. We propose to model and make use of the causal process in order to correct the label-noise effect. Empirically, the proposed method outperforms all state-of-the-art methods on both synthetic and real-world label-noise datasets.

Note that this is the implementation without using data augmentation. Please refer to the branch "new-implementation" for the source code with using the data augmentation (https://github.com/a5507203/Instance-dependent-Label-noise-Learning-under-a-Structural-Causal-Model/tree/new-implementation).

+++++environment configuration++++++

#########important###############

The code is only tested on Linux Linux-based system (Ubuntu 20.04). The Python version is 3.6.9. The Pytorh version is 1.2.0 with GPU acceleration.

It is unknown if the code is compatible on Windows or different versions of Pytorh and Python. We have not tested to run our code in a CPU environment.

+++++run experiments++++++

We provide shell scripts that allow to run all experiments with several lines of commands.

#########run synthetic noise experiments on a specific dataset with a fixed sample size################

Open a terminal at the project root directory and type the following command to run CIFAR10, CIFAR100, SVHN, and F-MNSIT:

sudo chmod 755 syn_noise.sh ./syn_noise.sh

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published