2019년 11월 11일 공개된 논문인 Self-training with Noisy student improves ImageNet classification 에 대한 논문 리뷰입니다. EfficientNet 기반으로 ImageNet 데이터넷에 대해서 State-of-the-art(SOTA)를 갱신한 논문입니다.


연구 배경 및 목적


  • 연구 배경
    • 기존의 Classification에 관한 연구는 학습 시 라벨링 된 이미지들이 필요
    • 데이터 셋 중에서 라벨링이 없는 이미지를 학습시켜 정확성과 Robustness를 향상 시키는 것은 제한적
  • 목적
    • 라벨링이 없는 이미지를 사용하여 최신 ImageNet 데이터 셋에 대한 정확도와 Robustness에 대한 검증


제안하는 알고리즘


Self-training Algorithm

< Self-training Algorithm >

Algorithm

< Self-training >


실험 방법


  • Datasets
    • Labeled dataset : ImageNet 2012 ILSVRC
    • Unlabeled dataset : JFT-300M
    • 데이터 필터링 / 균형 조정
    • ImageNet에서 훈련된 EfficientNet-B0 실행하여 JFT데이터의 각 이미지 라벨링 예측
    • 각 클래스별 가장 높은 130K 이미지 선택
    • 130K 미만의 이미지인 경우 130K 이미지를 가질 수 있도록 이미지 무작위 복제
    • Student Model 학습에 사용하는 총 이미지 수는 130M
  • Architecture
    • Base Model : EfficientNet
    • EfficientNet-B7를 확장하고 EfficientNet-L0, L1, L2를 얻음
    • EfficientNet-L0은 EfficientNet-B7보다 넓고 깊지만 낮은 해상도
    • EfficientNet-L1은 너비를 늘려 EfficientNet-L0에서 확장
    • 복합 스케일링과 모든 차원을 확장하여 EfficientNet-L2를 얻음
  • Training details
    • 라벨링 있는 이미지(ImageNet) : Batch Size 2048
      • EfficientNet-B4보다 큰 모델인 경우(EfficientNet-L0, L1, L2) 350 epoch
      • EfficientNet-B4보다 작은 모델인 경우 700 epoch
    • 라벨링이 없는 이미지(JFT)
      • EfficientNet-B7, L0, L1, L2 대형 모델의 라벨링이 있는 이미지 배치 크기의 3배
      • 더 작은 모델의 경우 라벨링이 있는 이미지의 배치 크기와 동일
        → 라벨링이 있는 이미지와 없는 이미지가 함께 연결되어 평균 교차 엔트로피 손실 계산
  • fix train-test resolution discrepancy
    • 처음 350 epoch동안 작은 해상도로 학습
    • 1.5 epoch 동안 unaugmented labeled images에 대해 큰 해상도로 fine-tuning
    • fine-tuning 중에 얕은 레이어로 고정
  • Noise
    • Stochastic depth : 0.8
    • Dropout : 0.5
    • RandAugment : 27
      → 모든 레이어에서 동일하게 적용
  • Iterative training
    • Teacher Model, Student Model 모두 EfficientNet-B7을 사용하여 정확도 개선
    • 개선 된 EfficientNet-B7 모델을 Teacher Model로 사용 EfficientNet-L0 Student Model 학습
    • EfficientNet-L0을 Teacher Model로 사용 EfficientNet-L1 Student Model 학습
    • EfficientNet-L1을 Teacher Model로 사용 EfficientNet-L2 Student Model 학습
    • EfficientNet-L2을 Teacher Model로 사용 다른 EfficientNet-L2 Student Model 학습


실험 결과


  • ImageNet 결과
    • Noisy Student for EfficientNet B0-B7 without Iterative Training
      → Noisy Student가 포함된 EfficientNet은 모든 모델 크기에 대해서 약 0.8% 성능이 향상

ImageNetResult

  • Robustness Results on ImageNet-A, ImageNet-C, ImageNet-P RobustnessResult
    • 모델의 신빙성, Robustness 측정을 위한 벤치마크 test set인 ImageNet-A,C,P를 이용한 실험
    • ImageNet-A : 기존 Classification network들이 공통적으로 어려워하는 실제 Natural Images로 만든 데이터셋
    • ImageNet-C,P : 이미지에 blurring, fogging, rotation, scaling 등 흔히 발생할 수 있는 Corruption과 Perturbation을 적용시켜 만든 데이터셋
    • ImageNet-A 데이터셋에서 높은 정확도
    • ImageNet-C에서 사용한 mCE(Mean Corruption Rate)지표도 가장 낮음
    • ImageNet-P에서 사용한 mFR(Mean Flip Rate)지표도 가장 낮음
    • Baseline인 EfficientNet 자체가 Natural Adversarial Example에서 견고한 모델임을 검증하였고, Noisy Student를 적용하면 훨씬 더 견고해짐을 검증


  • Adversarial Robustness Results AdversarialRobustnessResults
    • Adversarial Attack에 얼마나 robust 하게 버티는지 평가한 실험
    • Adversarial Attack에 많이 사용되는 FGSM 공격을 EfficientNet에 가했을 때의 성능 측정
    • EfficientNet에 Noisy Student 알고리즘 적용했을 때의 성능을 측정하여 비교


결론


라벨링이 없는 이미지를 사용하여 최신 ImageNet 모델의 정확성과 견고성을 크게 향상
Self Training은 라벨링이 없는 데이터를 대규모로 활용할 수 있는 간단하고 효과적인 알고리즘
Noise를 사용하면 1.9% 높은 87.4%의 정확도를 달성
Noisy Student가 컴퓨터 비전 모델의 견고성 부족 문제를 해결하는데 도움
의도적인 데이터 확대 없이 ImageNet-A,C,P의 정확도를 크게 향상