Paper
Code
Introduction
Unsupervised clustering의 경우 많은 연구가 진행되었지만 실제와 다른 label로 misclassified되는 문제가 주요하게 대두되었다. 본 논문에서는 RUC라는 방법을 제안해 이러한 문제를 해결했으며, 이와 같은 noise labeling 문제를 label-smoothing과 co-training으로 접근해 해결한다.
이러한 re-training method는 pseudo-label을 regularize하고 또한 overconfident 문제를 막는다.
그래서 RUC는 크게 다음과 같은 2개의 key component가 있다.
(1) extracting clean samples
(2) retraining with the refined dataset
- 이를 위해 먼저 confidence값을 이용해 low confidence sample을 걸러낸다.
- 두번째는 metric-based로 non-parametric classifier를 이용해 given instance가 k-nearest sample와 same label을 공유하는지 살펴본다.
- 3번째는 위의 두가지 방법을 combine하여 credible한 sample을 찾아낸다.
그 다음으로는 위와 같은 방식으로 sampled 된 dataset을 이용하여 clustering model을 retraining한다.
MixMatch (badlec.tistory.com/200?category=1015684) 를 이용하며, clean sample을 labeld data, unsample sample을 unlabeled data로 활용한다.
이때, label smoothing과 block learning을 이용해 denoising effect를 적용한다.
최종적으로 두개의 network를 co-training하는 방법을 사용해서 unclean sample들에 대한 효과를 경감시킨다.
Method
- 먼저 initial clustering의 결과를 noisy-labels 문제로 생각하는 것이 핵심이다.
- 그래서 training을 위해 pseudo-label이 된 데이터를 clean data와 unclean data로 구분하여 생각한다.
- 이때, clean data는 labeled data, unclean data는 unlabeled data로 구분하여 생각하고 이를 semi-supervised 형식으로 재학습하게 된다.
- semi-supervised 방식에서 활용하는 방법은 label smoothing과 co-trainining 방법이다.
1. Extracting clean samples
- 먼저 trainig sample을 pseudo-label an supervised classifier gΦ을 이용하여 clean data X, unclean data U를 구분한다. 이때 구분하는 기준은 다음과 같이 3가지를 활용한다.
1-1) Confidence-based strategy
- 이 방법은 unsupervised classifier의 confidence score를 기반으로 clean sample을 지정하는 방법이다.
unsupervised classifier가 over-confidence하는 경향이 있기 때문에 threshold를 크게 잡아서 uncertain sample을 최대한 제거하는 방법을 활용한다.
1-2) Metric-based strategy
- Confidence-based 방법은 문제점은 unsupervised classifier의 능력에 의존한다는 점이다. Metric-based 방법은 새로운 embedding network hψ를 활용한다 (SimCLR과 같은 pretext learning 활용). 이때, hψ(x)의 label은 k-NN 방법을 활용한다. 그리고 최종적으로는 기존 network의 결과 y와 hψ의 kNN based 결과가 같은 경우 clean data라고 판별하고, 아닌 경우 unclean data라고 판별한다.
1-3) Hybrid strategy
- 이 방법의 Confidence, Metric based 방법을 둘다 사용한 것이다.
2. Retraining via Robust Learning
위의 방법을 이용해 clean dataset과 unclean dataset을 구분하면 refine classifier fθ를 학습시킨다. 이때 fθ의 역할은 initial unsupervised classifier의 incorrect prediction들을 correcting 하는 역할이다.
2-1) Semi-supervised learning (MixMatch)
-X와 U가 정해지면 이를 이용해 semi supervied learning을 적용할 수 있다. 이때 사용하는 방법은 MixMatch(badlec.tistory.com/200)이다.
2-2) Label smoothing
Label Smoothing을 적용함으로 Label Noise를 줄일 수 있다. 때문에 본 논문에서는 semi-supervised learning에 label noise도 함께 적용한다.
(ε은 uniform distribution)
실제로 적용한 방식은 위의 방법으로 생성된 Smoothed label과 RandAugment를 적용한 sample의 ouput에 cross-entropy loss를 적용한다.
위 loss를 적용한 최종 objective는 다음과 같다.
2-3) Co-training
Network 하나만을 이용하면, 하나의 network가 잘못된 pseudo-label에 over-fitting되는 경우 그 error가 계속해서 그 네트워크에 누적된다는 위험이 존재한다. 이를 막기 위해서 2개의 network를 이용하여 학습을 진행하는 co-training module을 활용한다. 이때 label set X와 unlabel set U에 둘다 co-refinement를 적용한다. labeled data x에 대해서 model 2개의 output을 조합한다.
w(2)는 network 2의 confidence value이다.
unlabeled set U에 대해서는 아래와 같이 quessing 한다.
m은 augmentation을 의미하며, 여러 augmentation의 결과를 평균내어 나타낸다.
이를 정리하면 다음과 같다.
2-4) Co-refurbishing
마지막으로 학습과정에서 unclean sample중에서 prediction이 확실한 sample들은 clean sample로 추가해준다.
unlabeled data중에서 network를 통과했을때, prediction 확률이 특정 threshold값을 넘는 경우, clean dataset에 추가해준다.