안녕하세요! 이번에 읽어볼 논문은 Pseudo Label, The Simple and Efficeint Semi-Supervised Learning 입니다. 현재 Image classification 분야에서 EfficientNet에 Meta Pseudo Lable을 적용한 모델이 SOTA를 차지하고 있습니다. Pseudo Label이 무엇인지 호기심 때문에 읽게 되었습니다!
Abstract
이 논문에서 제안하는 신경망은 labeled data와 unlabeled data를 지도 학습 방법으로 동시에 학습하는 신경망입니다. unlabeled data(Pseudo-Labels)는 예측된 확률이 가장 높은 클래스를 True label로 갖습니다. 그리고 이것은 Entropy Regularization과 동일한 효과를 갖고 있습니다. 이것은 클래스 간 low-density separation을 만들어 줍니다. 이 간단한 방법은 다른 준지도 학습 방법을 능가합니다.
1. Introduction
우리는 비지도학습에서의 unlabeled data를 사용하여 지도 학습 방법으로 신경망을 학습시킬 것입니다. 우리가 제안하는 신경망은 labeled data와 unlabeled data로 지도 학습 방식으로 학습 됩니다. Unlabeled data(Pseudo-Labels)는 매 가중치 업데이트마다 확률이 가장 높은 클래스를 true label로 사용합니다.
이 방법은 Entropy Regularization과 동일한 효과가 있습니다. 클래스 확률의 conditional entropy는 class overlab의 수단으로 사용될 수 있습니다. unlabeled data에 대한 entropy를 최소화 함으로써 class probability distribution의 overlab은 감소될 수 있습니다. 이것은 class 간의 Low-Density separation을 추구합니다.
제안된 방법이 MNIST dataset 같은 유명한 dataset에서 SOTA 성능을 달성합니다.
2. Pseudo-Label
Pseudo Label은 unlabeled data의 target class 입니다. 각 unlabeled sample에 대해 가장 높은 예측된 확률을 true class로 선택합니다.
Pseudo Label은 fine-tunning 상황에서 drop out과 함께 사용합니다. pre-trainined network는 지도 학습 방식으로 labeled data와 unlabeled data 동시에 학습됩니다. Pseudo-Labels는 매 가중치 업데이트마다 새롭게 계산됩니다. 그리고 지도 학습의 손실 함수에 사용됩니다.
labeled data와 unlabeled data의 총 개수는 다릅니다. 그리고 이들 사이의 균형 있는 학습은 상당히 중요합니다. 따라서 손실 함수에 상수를 추가하여 둘 사이의 균형을 조절합니다. 아래는 손실 함수 입니다. a(t)가 labeled data와 unlabeled data 사이의 균형을 조절합니다.
a(t)가 너무 높으면 labeled data에 의한 학습을 방해합니다. a(t)가 너무 작으면 unlabeled data에서 얻는 이점을 활용할 수 없습니다. 논문에서는 a(t)의 가이드라인을 제시합니다. a(t)를 서서히 증가시키면 optimization이 local minima에 빠지는 것을 예방하는데 도움을 준다고 합니다.
T는 반복 수를 의미합니다.
3. Why could Pseudo-Label work?
왜 Pseudo-Label이 잘 작동할까요?
(1) Low-Density Separation between Classes
준지도 학습의 목표는 unlabeled data를 사용하여 성능을 향상시키는 것입니다. 성능을 향상시키기 위해서는 decision boundary가 low-density regions에 있어야 합니다.
(2) Entropy Regularization
Entropy Regularization은 Maximum a posteriori estimation 관점에서 unlabeled data로부터 이점을 얻는 방법입니다. 이 방법은 unlabeled data에 대한 entropy를 최소화 함으로써 클래스 간 low density separation을 추구합니다.(이해가 잘 안되네요)
4. Experience
Pseudo-Label을 적용했을 때와 적용하지 않았을 때, 신경망의 출력값을 t-SNE로 시각화한 그림입니다.