Home

Awesome

Self-Adaptive Training for Selective Classification

This repository contains the PyTorch implementation of Selective Classification used in the

Self-adaptive training significantly improves the generalization of deep networks under noise and enhances the self-supervised representation learning. It also advances the state-of-the-art on learning with noisy label, adversarial training and the linear evaluation on the learned representation.

News

Requirements

Usage

Training and evaluating Selective Classification based on SAT

The main.py contains training and evaluation functions in standard training setting.

Runnable scripts

Results on CIFAR10, SVHN and Dogs&Cats datasets under various coverage rate

<p align="center"> <img src="images/SAT-Sel-Cls.png"\> </p> <p align="center"> Self-Adaptive Training vs. prior state-of-the-arts on the Selective Classification at vaiours coverage rate. </p>

Reference

For technical details, please check the conference version or the journal version of our paper.

@inproceedings{huang2020self,
  title={Self-Adaptive Training: beyond Empirical Risk Minimization},
  author={Huang, Lang and Zhang, Chao and Zhang, Hongyang},
  booktitle={Advances in Neural Information Processing Systems},
  volume={33},
  year={2020}
}

@article{huang2021self,
  title={Self-Adaptive Training: Bridging the Supervised and Self-Supervised Learning},
  author={Huang, Lang and Zhang, Chao and Zhang, Hongyang},
  journal={arXiv preprint arXiv:2101.08732},
  year={2021}
}

Acknowledgement

This code is based on:

We thank the authors for sharing their code.

Contact

If you have any question about this code, feel free to open an issue or contact laynehuang@pku.edu.cn.