Meta Label Correction for Noisy Label Learning
Перейти к файлу
apsyx 5747d0b629
Merge pull request #14 from microsoft/users/GitHubPolicyService/869c592f-347a-418b-860b-d900a3248b84
Adding Microsoft SECURITY.MD
2022-09-28 10:27:04 -07:00
CIFAR cleaned code 2021-02-21 23:12:19 -08:00
CLOTHING1M fix #4 2021-04-28 09:33:50 -07:00
data/clothing1M initial commit for Clothing1M 2021-02-07 01:18:14 -08:00
.gitignore Initial commit 2021-02-01 20:12:01 +00:00
CODE_OF_CONDUCT.md Initial CODE_OF_CONDUCT.md commit 2021-02-01 12:12:04 -08:00
LICENSE Initial LICENSE commit 2021-02-01 12:12:05 -08:00
README.md update for clothing1m 2022-03-14 23:19:10 -07:00
SECURITY.md Microsoft mandatory file 2022-05-16 18:55:55 +00:00
logger.py initial commit for CIFAR 2021-02-06 02:08:14 -08:00
main.py fixed #8 and #9 2022-05-04 14:16:04 -07:00
meta_models.py update for clothing1m 2022-03-14 23:09:28 -07:00
mlc.png initial commit for Clothing1M 2021-02-07 01:26:50 -08:00
mlc.py initial commit for CIFAR 2021-02-06 02:08:14 -08:00
mlc_utils.py initial commit for CIFAR 2021-02-06 02:08:14 -08:00
models.py initial commit for CIFAR 2021-02-06 02:08:14 -08:00
requirement.txt fixed #8 and #9 2022-05-04 14:16:04 -07:00

README.md

Meta Label Correction for Noisy Label Learning

This repository contains the source code for the AAAI paper "Meta Label Correction for Noisy Label Learning".

mlc_model

Data

The code will download automatically the CIFAR data set; for Clothing1M, please contact the original creator for access. Put the obtained Clothing1M data set under directory data/clothing1M. Then execute cd CLOTHING1M; python3 load_cloth1m_data.py to generate necessary folders for training.

Example runs

On CIFAR-10 run MLC with UNIF noise and a noise level of 0.4 by executing

python3 main.py --dataset cifar10 --optimizer sgd --bs 100 --corruption_type unif --corruption_level 0.4 --gold_fraction 0.02 --epochs 120 --main_lr 0.1 --meta_lr 3e-4 --runid cifar10_run  --cls_dim 128

On CIFAR-100, run MLC with FLIP noise and a noise level of 0.6 by executing

python3 main.py --dataset cifar100 --optimizer sgd --bs 100 --corruption_type flip --corruption_level 0.6 --gold_fraction 0.02 --epochs 120 --main_lr 0.1 --meta_lr 3e-4 --runid cifar100_run  --cls_dim 128

On Clothing1M, run MLC as

python3 main.py --dataset clothing1m --optimizer sgd --bs 32 --corruption_type unif --corruption_level 0.1 --gold_fraction 0.1 --epochs 15 --main_lr 0.1 --meta_lr 0.003 --runid clothing1m_run --cls_dim 128 --skip --gradient_steps 5

(Note that for clothing1m, corruption_type, corruption_level, and gold_fraction have no effect as the original dataset comes with actual noisy labels and clean/noisy data splits.)

Refer to python3 main.py --help for a detailed explanations of all applicable arguments.

Citation

If you find MLC useful, please cite the following paper

@inproceedings{zheng2021mlc,
  title={Meta Label Correction for Noisy Label Learning},
  author={Zheng, Guoqing and Awadallah, Ahmed Hassan and Dumais, Susan},  
  journal={Proceedings of the AAAI Conference on Artificial Intelligence (AAAI)},
  volume={35},
  year={2021},
}

For any questions, please submit an issue or contact zheng@microsoft.com.

This repository is released under MIT License. (See LICENSE)