Hello Computer Vision

비전공생의 MixMatch(2019) 논문 리뷰 본문

Self,Semi-supervised learning

비전공생의 MixMatch(2019) 논문 리뷰

지웅쓰 2023. 8. 13. 13:46

이번에 읽을 논문은 MixMatch이다. 상당히 유명한 논문이기 때문에 읽어보려고 한다. 그리고 해당 논문에서 주요하게 사용되는 이론이 Mixup 인데, https://arxiv.org/abs/1710.09412 이 논문에서 나온 데이터 증강 방법이며 이를 이해하고 MixMatch를 읽으니 한결 이해하기 쉬웠다. mixmatch의 논문 : https://arxiv.org/abs/1905.02249

 

MixMatch: A Holistic Approach to Semi-Supervised Learning

Semi-supervised learning has proven to be a powerful paradigm for leveraging unlabeled data to mitigate the reliance on large labeled datasets. In this work, we unify the current dominant approaches for semi-supervised learning to produce a new algorithm,

arxiv.org

 

Introduction

SSL에서 주요 사용되는 기법은 entropy minimization, consistency regularization이라고 한다. 그리고 지금까지는(논문이 올라온 2019년까지) 두가지 중 한가지 방식만 사용하여 loss를 접근했다면 여기서는 두가지 모두 포함해 성능을 올렸다고 한다. 해당 논문의 contribution은 다음과 같다.

1. MixMatch는 SOTA를 달성했다.

2. ablation study를 통해 다른 것보다 MixMatch가 더 우수하다는 것을 입증했다.

3. 정확도와 privacy(이건 잘 이해안가지만 아마 downstream task 정도로 이해했습니다)에서  더 우수하다.

 

Related work

내가 지금까지 리뷰했던 논문에서 Regularization은 Cross Entropy를 이용하여 증강한 이미지들과의 분포차이 loss를 계산했다면 여기서는 L2 norm을 활용한다. 추가로 Mixup이라는 증강 방법을 사용하는데 이것을 조금 고상하게 말하자면 encourage convex behavior between examples 라고 한다. 한마디로 이미지 공간에서 두 이미지를 겹쳐 새로운 convex behavior 를 만든다고 보면 된다.

 

MixMatch

Pseudo label만드는 과정과 loss는 다음과 같다.

우선 Pseudo label은 K개의 증강을 활용해서 만든 K개의 이미지를 이용해 이를 평균내고 이 결과에 temperature 까지 이용해 Sharpening 까지 하는 것을 알 수 있다.

그리고 수식에서 T, K, alpha는 hyperparameter로 각각 temperature, K개의 증강, beta distribution의 hyperparameter인 alpha를 나타낸다. X, U 는 labeled data, unlabeled data를 각각 나타낸다.


그리고 각각의 Loss를 보면은 X_prime, U_prime이 있는데 이는 mixup을 활용해 x1의 비율을 더 크게하는 겹친 이미지를 생성하는 것이다.

여기서 기존 mixup 논문에서 없던 lambda_prime이 활용되는데 이 수식으로 인해 lambda prime은 0.5이상 1이하의 값을 갖게되며 따라서 x prime은 pair쌍인 (x1, p1), (x2, p2) 중에서 (x1, p1)에 더 가깝게 위치한다. 이렇게 각각의 pair이미지들에 대해  mixup 증강을 활용하여 나온 X prime, U prime 은 다음과 같다. 

 그리고 unsupervised loss에서와L2 norm을 사용한 이유도 가볍게 서술되어 있는데 incorrect prediction에 대해 덜 민감하다고 한다.  구조의 backbone으로는 Wide Resnet-28을 사용했다고 한다. 즉, 위에 나와있는 loss function에서 supervised loss 역시 단순히 labeled 데이터를 사용하는 것이 아니라 labeled, unlabeled 데이터를 합친 X' 를 사용한다고 볼 수 있다. 

 

그리고 기본적으로 X, U로 data로 나누지만 나름 이 논문의 핵심인 mixup은 W라는 전체 데이터를 활용한다.

총 batch 데이터에 대해 unlabeled 데이터에 대해서도 K개의 증강을 활용해 라벨을 만들어내고 이러한 데이터를 총 합해 W를 만들어내는 것을 확인할 수 있다. 그러니까 위 알고리즘 표는 훈련과정을 나타내는 것이 아니라 X', U' 를 만들어내는 과정이라고 볼 수 있으며 이러한 데이터들이 위에 나와있는 loss function에 적용되는 것이라고 할 수 있다. loss function을 다시 보자면, supervised loss에서도 one hot target을 사용하는 것이 아닌데, 그러면 label smoothing하는 것과 비슷한 효과가 있는 거 같다. 단점이라면 이미지로부터 정확한 정보를 받는 것이 아니라는 것?

Result

다른 방법들과 비교했을 때 supervised 방법과 가장 근접하고 차이가 나지 않는 것을 확인할 수 있다. 그리고 증강을 통해 pseudo label을 만드는 것과 데이터셋을 그냥 구성하는 것이 아닌 label smoothing처럼 mixup을 수행해 일정 비율로 label을 설정하는 것들이 robust한 효과가 있을 거 같다는 생각이 들지만, 예를 들어 섞인 비율이 0.6, 0.4면 entropy minimization에는 큰 도움을 주지 못할 것 같다는 생각을 한다.