<

Self-training with Noisy Student improves ImageNet classification

  주소 : https://openaccess.thecvf.com/content_CVPR_2020/html/Xie_Self-Training_With_Noisy_Student_Improves_ImageNet_Classification_CVPR_2020_paper.html

2020년 CVPR 발표 논문이다. ImageNet 이미지 외에 300M의 추가 Unlabeled 이미즐 통한 Un-supervised learning을 통해 EfficientNet의 성능을 올렸다.


주요내용

ㆍ네트워크 성능

  • ImageNet top-1 accuracy (한가지만 선택, top-3의 경우 3개지 선택해서 한가지라도 맞으면 성공) 88.4% 달성
  • ImageNet-A (난이도 Up, Natural) top-1 accuracy 83.7% 달성
  • ImageNet-C (Noisy, blurred, fogy 등 corrupted Images) 에서 corrunption error 28.3 달성
  • ImageNet-P (Brightness, tilt, roate, scale 등 Perturbations이 적용된 Images) 에서 mean flip rate 12.2 달성

※ImageNet과 ImageNet-A는 정확도를 측정하기 위해서, ImageNet-C와 ImageNet-P는 일반영상이 아닌 깨지거나 비오는 영상등 악조건에서 얼마나 잘 판단할 수 있는지 robustness(강건함)을 측정

ㆍ학습 방법

Classification의 정답을 아는 (labeled) 120만개의 이미지와 (ImageNet) 추가로 정답을 모르는 (Un-labeled) 3억개의 이미지(JFT dataset)을 이용해 정확도를 높인다.

  1. Labeld image를 학습 한다.(이 때 학습 받는 네트워크를 Student라고 한다.)
  2. 학습된 네트워크로 Unlabeled image에 가짜(pseudo) label을 붙인다.(학습되는 Student 네트워크를 Pseodu 라벨을 붙이는 Teacher로 바꾼다.)
  3. Pseodo label과 ImageNet image를 이용해 새로운 Student 네트워크를 학습 시킨다.
  4. 이 과정을 반복한다.

즉 처음 진짜 label이 있는 120만개 이미지를 이용해 네트워크를 학습시키고 (Student 네트워크) 이 네트워크를 이용해 라벨이 없는 3억개의 이미지에 가짜 라벨을 붙이고, 3억 + 120만개 이미지를 이용해 다시 네트워크를 학습시키고, 학습이 완료되면 다시 가짜라벨 -> 학습 가짜라벨 ->학습 이 과정을 반복한다.

posted by DP_Story