MentorNet: Regularizing Very Deep Neural Networks on Corrupted Labels

Jongchan Park
Lunit Team Blog
Published in
8 min readJun 5, 2020

Introduction

딥러닝은 대량의 데이터를 기반으로 학습합니다. 가장 보편적으로 사용되는 지도학습은 대량의 데이터-정답 쌍(data-label pair)이 필요합니다. 작은 데이터셋은 손글씨 데이터셋인 MNIST, 작은 이미지로 이루어진 CIFAR 10/100, 그리고 대형 데이터셋으로는 ImageNet, COCO, OpenImage등 많은 이미지에 사람이 직접 라벨을 달아주었습니다.

라벨링 된 대량의 데이터는 딥러닝 모델의 성능을 매우 높게 끌어올렸지만, 사람이 직접 라벨링을 하기 때문에 언제나 실수의 위험이 있고, 그리고 많은 비용이 발생합니다. 데이터 라벨링 비용을 줄이고자 이미지 검색 등을 통한 데이터 수집 (Webly-supervised등) 방식이 제안되었지만, 라벨이 정확하지 않은 위험이 존재합니다.

사람이 직접 라벨링 했더라도, 대부분의 데이터셋은 정도의 차이만 있을 뿐, 라벨이 정확하지 않을 수 있습니다. 최근 데이터에 대한 관심이 많아지면서 이러한 noisy label을 해결하기 위한 논문들이 발표되고 있습니다. 이번 글에서 소개드릴 논문은 MentorNet: Regularizing Very Deep Neural Networks on Corrupted Labels 입니다. ICML2018에서 발표되었으며, 소량의 clean dataset을 이용하여 noisy label문제를 해결하고자 하였습니다.

Backgrounds

딥뉴럴넷은 높은 성능을 자랑하지만, 한편으로는 과적합(overfitting)의 문제를 항상 지니고 있습니다. 학습 데이터의 정답을 맞추도록 학습이 진행되기 때문에, 모델 충분히 크다면 학습 데이터 전체를 학습해버릴 수도 있습니다. 그렇다면, 학습 데이터에 잘못된 라벨(noisy label)이 존재한다면, 모델은 잘못된 지식을 학습하게 되고, 이는 최종 성능에 악영향으로 작용하게 됩니다.

2 types of noise. Image from [2].

noise의 가정은 크게 2가지로 나뉩니다. 첫번째는 Pair, 즉 헷갈리는 class간에 라벨이 섞이는 경우를 나타내고, 두번째는 Symmetry(또는 uniform/random noise)로 라벨이 임의대로 섞이는 경우를 나타냅니다. 본 논문에서는 2번째 random noise를 가정하고 (즉, noise에 대한 특별한 가정 없이) 문제를 정의했습니다.

Method

Curriculum learning (CL)

Curriculum learning은 모델이 학습을 더 잘 할 수 있도록, 학습 과정에서 스케쥴링을 하는 방법을 말합니다. 즉, 모델을 위한 커리큘럼을 만듭니다. 가장 많이 사용되는 방법은 self-paced learning으로, 특정 threshold이하의 loss를 가지는 샘플들만 학습에 반영합니다. threshold는 학습이 진행됨에 따라 점진적으로 늘어나며, 모델은 쉬운 샘플부터 어려운 샘플까지 순차적으로 학습 범위를 넓혀갑니다. 실제 구현은 조건에 맞는 샘플의 loss weight를 1, 아닌 샘플은 0으로 줘서 학습에 반영이 되거나/안되게 합니다. 본 논문은 Curriculum learning에서 아이디어를 차용하여 noisy sample에 대한 loss weight를 0으로 주고, 반대의 경우 1로 줘서 clean set으로만 학습하도록 하였습니다.

기존의 CL과의 차별 점은 learning-based (data-driven)이라는 점 입니다. 기존 CL은 미리 정해진 규칙에 따라서 학습을 진행하는데, 본 논문에서는 MentorNet이라는 추가적인 모델을 통해서 샘플이 noise인지를 가르도록 학습하였습니다. 학습은 소수의 clean set을 이용하여 진행이 되는데, 일반적으로 target dataset의 10%의 분량이면 되고, 같은 domain에 속한다면 다른 데이터셋을 활용하는 것도 가능하다고 하였습니다. 예를 들어, CIFAR100(noisy)를 학습하기 위해서 CIFAR10(clean)을 활용할 수 있습니다.

MentorNet의 구조

MentorNet은 StudentNet(학습시키고자 하는 메인 모델)으로부터 minibatch데이터의 정보를 받습니다. 이미지/feature를 직접 받는 것이 아니라, 메타-정보인 label / epoch / loss history (Loss and its difference from moving average of certain percentile)을 활용하여 해당 샘플이 noise인지 판단합니다. 저자들은 MentorNet의 성능이 아키텍쳐에 상관 없이 성능이 잘 나온다고 합니다. MentorNet에서 나온 샘플들의 weight를 loss에 반영해서 StudentNet을 학습시킵니다.

Training

MentorNet은 StudentNet이 학습됨에 따라서 함께 변화해야 합니다. 저자들은 Joint optimization을 해야하지만, 학습 도중에 2번만 하면 충분하다고 합니다. 따라서 학습 전체의 21%에 해당하는 epoch, 그리고 75%에 해당하는 epoch에서 StudentNet을 고정하고 MentorNet을 clean set을 이용하여 학습시킵니다. Clean set은 라벨이 정확하기 때문에, 임의로 noise를 생성하여 (실제 target dataset과 같은 noise level) 학습을 진행합니다.

MentorNet을 학습하기 전인 20%의 epoch동안은 burn-in scheme (drop p% of training set)을 사용해서 학습을 진행합니다.

Experiment Result

CIFAR10/100

CIFAR 10/100 실험 결과.

MentorNet은 대부분의 경우 기존 방법들 보다 성능이 더 좋게 나옵니다.

CIFAR-100 train/test error curve

기존 방법들은 학습이 진행되면서 후반부에는 overfitting하고, label noise로 인한 성능 하락이 보이지만, MentorNet의 경우 noise를 제거하고 진행하기 때문에 noise에 의한 성능 하락이 적은 것으로 보입니다.

ImageNet

ImageNet (40% noise) 성능.

ImageNet을 이용한 실험에서도 baseline대비 4%가량의 성능 향상이 있습니다. 실험은 Inception-ResNet v2로 진행되었습니다.

WebVision

실제 real-world noisy data를 이용한 실험도 진행을 하였는데, baseline (FullModel)에 비해서 5%이상 성능 향상이 있는 것을 볼 수 있습니다. 최종 성능은 당시 state-of-the-art를 기록하였습니다.

WebVision실험 결과.

Conclusion

간단하고 직관적인 아이디어로 noise의 악영향을 효과적으로 줄였으며, 실제 real-world dataset (webvision)에서도 효용성을 보였습니다. 데이터를 직접 사용하지 않고 간접적인 정보 (loss, epoch, label 등)를 이용하여 더 효율적으로 noise를 학습할 수 있지 않았나 싶습니다. 논문에 나와있지 않은 디테일들은 supplementary material이나 공개된 코드에서 확인할 수 있습니다. 논문의 코드는 링크에서 확인 가능합니다.

[1] Jiang, Lu, Zhengyuan Zhou, Thomas Leung, Li-Jia Li, and Li Fei-Fei. “Mentornet: Learning data-driven curriculum for very deep neural networks on corrupted labels.” In International Conference on Machine Learning, pp. 2309–2318. 2018.

[2] Han, Bo, Quanming Yao, Xingrui Yu, Gang Niu, Miao Xu, Weihua Hu, Ivor Tsang, and Masashi Sugiyama. “Co-teaching: Robust training of deep neural networks with extremely noisy labels.” In Advances in Neural Information Processing Systems, pp. 8536–8546. 2018.

--

--

Jongchan Park
Lunit Team Blog

Deep Learning Researcher, working at Lunit Inc. Mainly interested in computer vision for recognition. https://sites.google.com/view/jongchanpark