Skip to content
/ AGRA Public

AGRA is a new framework for learning with noisy labels by adaptive gradient-based outlier removal

Notifications You must be signed in to change notification settings

anasedova/AGRA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AGRA

Adaptive GRAdient-based outlier removal

This repository contains code used in our paper:
"Learning with Noisy Labels by Adaptive Gradient-Based Outlier Removal" to be presented at ECML PKDD'23 🚀
by Anastasiia Sedova, Lena Zellinger, and Benjamin Roth.

For any questions please get in touch.


Gradient-based outlier removal

We propose a new approach to the problem of learning with noisy labels.

  • Instead of tracing the mislabeled samples in the dataset, we focus on obtaining a model that remains unaffected by inconsistent and noisy samples.
  • Instead of removing the noisy samples once and forever, we decide for each sample whether it is useful or not for a model at the current training stage.
  • Instead of denoising the data before classifier training, we join the denoising and training into a single process where denoising happens during the model training.

These ideas are realized in our new method AGRA for Adaptive GRAdient-based outlier removal.


AGRA

AGRA does not rely on some static, model-independent, implied properties but leverages gradients to measure the sample-specific impact on the current model. During classifier training, AGRA decides for each sample whether it is useful or not for a model at the current training stage by comparing its gradient with an accumulated gradient of another batch that is independently sampled from the same dataset. Depending on the state of the classifier and the experimental setup, the sample is either used in the model update, excluded from the update, or assigned to an alternative label.

AGRA


Usage

Scripts for launching AGRA are available in the following folder: AGRA/experiments/agra.

The single label AGRA can be launched with AGRA/experiments/agra/run_AGRA_single_label.py.

The results from the ECML PKDD'23 paper "Learning with Noisy Labels by Adaptive Gradient-Based Outlier Removal" can be reproduced by running AGRA/experiments/agra/reproduce_agra_ECML_tfidf.py script.


Citation

When using our work please cite our ArXiV preprint:

@misc{sedova2023learning,
      title={Learning with Noisy Labels by Adaptive Gradient-Based Outlier Removal}, 
      author={Anastasiia Sedova and Lena Zellinger and Benjamin Roth},
      year={2023},
      eprint={2306.04502},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}

Acknowledgements 💎

This research has been funded by the Vienna Science and Technology Fund (WWTF)[10.47379/VRG19008] and by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) RO 5127/2-1.

About

AGRA is a new framework for learning with noisy labels by adaptive gradient-based outlier removal

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages