Hello Computer Vision

비전공생의 Realistic Evaluation of Deep Semi-supervised Learning algorithms(2018) 논문리뷰 본문

Self,Semi-supervised learning

비전공생의 Realistic Evaluation of Deep Semi-supervised Learning algorithms(2018) 논문리뷰

지웅쓰 2023. 11. 21. 16:12

최근에 OOD detection 논문을 많이 읽었는데 나는 해당 task에 대해 semi supervised 를 적용하고 싶은 마음이 있어서 인사이트를 얻고 싶어 읽어보려고 한다. 문제가 살짝 다르긴한데 그래도 도움을 얻을 수 있을 거 같다. 그리고 읽으면서 느낀 것이 semi supervised learning에 대한 비교들이 많이 진행되는데 제 관심분야는 OOD 에 대한 저자의 견해가 궁금했기 때문에 이 부분에 치중되어 있습니다.

https://arxiv.org/pdf/1804.09170.pdf

 

Introduction

라벨링 비용에 대한 가장 매력적인 대안은 semi supervised learning 이라고 말한다. 해당 방법은 unlabeled 데이터에 대해 데이터들간의 구조를 배워 모델을 학습한다. 최근 방법으로는 약간의 라벨링 데이터를 활용해서 지도학습의 성능을 뛰어넘었다고 언급한다. 이러한 성공은 CIFAR10, SVHN 데이터셋에 대해서 높은 성능을 보였는데 과연 이러한 방법들이 real world에서도 적용될까? 에 대해서 질문할 수 있다. 해당 논문에서는 이러한 방법들이 안전하지는 않다고 하며 더 직관적으로 어떤 식으로 안전하지 않은지 대답을 해준다고 한다. 다음과 같은 발견들을 포함한다고 한다.

1. 똑같은 모델의 크기일 때 SSL(semi)과 라벨링 데이터에 대한 성능차이는 생각보다 작다.

2. 큰 모델에 적은 라벨링 데이터를 훈련시켰을 때 성능이 좋은데, 이는 SSL 알고리즘을 동일 모델에 적용하는 것이 중요하다고 한다(정확히는 이해못하겠다).

3.  라벨링 된 데이터셋으로 pre training 후 다른 데이터셋으로 retraining시켰을 때 SSL보다 성능이 좋다

4. unlabeled 데이터로 훈련을 시키는데, 해당 데이터셋에 OOD데이터가 섞여있을 경우 성능이 저하된다.

5. 방법들마다 labeling, unlabeling 데이터 수에 대해 민감도가 다르다.

 

그리고 Unlabeled 데이터들에 대해서 훈련시킬 때 많은 경우들이 labeled 데이터와 같은 클래스를 가진 unlabeled 데이터를 사용한다고 한다. 그러나 그렇지 않은 경우도 비일비재 할 것인데 이러한 OOD데이터에 대해서도 비교를 했다고 한다.

 

Semi supervised learning methods

labeled 데이터셋을 활용한다고 할 때 우리의 목표는 해당 데이터들을 잘 활용해 최적의 파라미터를 찾는 것이다. 그리고 SSL은 unlabeled 데이터를 추가적으로 활용할 수 있는 것인데 해당 데이터는 labeled 데이터의 분포와 같은 것이다. 이러한 방식은 labeled 데이터만 활용할 때보다 unlabeled 데이터를 같이 활용하는 것이 성능이 더 좋을 것이라 기대하기 때문이다.

위 이미지를 보면 labeled된 데이터만 활용할 때보다 unlabeled 데이터를 활용할 때 더 나은 decision boundary를 찾은 것을 확인할 수 있는데 이에 대해 언급하기를 unlabeled 데이터는 data의 manifold를 찾는데 힌트를 제공할 수 있다고 한다. SSL방법들에 대해서는 자세히 소개하지는 않는데, Consistency regularization, entropy minimization만 고려한다고 한다.

 

Experiment

저자는 여기서는 SOTA알고리즘을 제시한다기 보다는 비교하는데 중점을 맞추었다고 한다. Unlabeled 데이터들이 labeled 클래스 분포와 다른 것은 기존의 SSL방식에서 다른 세팅이라고 한다. 이를 평가하기 위해 CIFAR10 을 훈련하는 과정에서 6개의 클래스에 대해서만 훈련을 하고 나머지 4개의 클래스에 대해서는 unlabeled로 훈련했다고 한다.

위 그래프를 보면 알 수 있듯이 unlabeled ood 데이터의 비율을 높일 수록, 성능이 하락하는 것을 확인할 수 있다.