Hello Computer Vision

Entropy Minimization(2004) 논문리뷰 본문

Self,Semi-supervised learning

Entropy Minimization(2004) 논문리뷰

지웅쓰 2024. 4. 3. 15:34

해당 논문의 풀 제목은 Semi Supervised Learning by Entropy Minimization이고 NIPS 2004에 억셉된 논문이다. 요슈아 벤지오가 참여한 논문이다. https://proceedings.neurips.cc/paper_files/paper/2004/file/96f2b50b5d3613adf9c27049b2a888c7-Paper.pdf

 

Introduction

Semi supervised learning은 분류 단계에서 labeled 데이터만 활용하는 것이 아니라 unlabeled 데이터도 활용해 decision boundary를 잘 결정하는 것이 목적이다(여기서 근본적인 질문을 하는데 과연 Unlabeled 데이터가 더 도움이 되냐는 것에 꽤 많은 내용을 담는다). 

 

Derivation of the Criterion

지도학습에서 주로, 보편적으로 사용하는 MLE 관점에서 likelihood를 정의하는데,  여기서 x는 데이터(unlabeled 일 수도 있고 labeled 일 수도 있다)이고, w는 x에 대한 label, z는 {0, 1}^{K}로 이루어지는 값이고, 만약 labeled 데이터일 경우, label 값에만 1이 붙고 그 외에는 0이 붙는다. 만약 unlabeled 데이터일 경우 z는 모두 1이 붙는다(이 표기부분이 좀 헷갈리긴 했는데 적은 부분 참고해서 논문을 보면 잘 이해할 수 있을 거라 생각). 그래서 결국 해당 데이터들에 대한 likelihood를 maximum하는 식을 보면

위와 같다. 여기까지는 그냥 정의한 것일 뿐이다. 어쩌면 핵심적인 질문은 과연 unlabeled 데이터가 이 MAP를 최적화하는데 도움이 되는지이다. 이것을 대답하려면 추가적인 가정을 해야하는데, unlabeled 데이터가 학습과정에서 도움이 된다는 것이다. 즉 parameteric model, 데이터가 어느 분포에서 샘플링 되었다는 가정을 활용하는 모델, 을 사용한다면 도움이 되는 것이다. 

 

위에서 unlabeled 데이터가 도움이 된다는 것을 가정했으니 그렇다면 어떠한 방식으로 학습을 더 원활하게 사용할지가 관건이다. 저자가 말하기를 unlabeled 데이터의 정보는 class가 overlap 될 수록 감소한다고 추가적인 가정을 하는데, 따라서 class간의 overlap을 나타내는 H(Y | X) 를 사용한다. 따라서 이것을 model의 prior라고 한다면,

위와 같이 표현할 수 있다. 따라서 기존 MLE와 prior를 합친다면,

이렇게 결국 MAP를 최적화하는데 있어서 unlabeled 데이터를 활용하는 것이 좋다고 보면 된다.

 

이제 EM에 대한 실험을 수행한 결과를 보여주는데, 조금 많고 복잡해서 개인적으로 핵심되는 내용들만 적으려고 한다. 

1. EM benefits from the correctness of the model  -> model이 정확하다면 EM이 좋다는 것이다

2. The minimum entropy takes quickly advantage of unlabeled data when classes are well seperated  -> 이것도 1번에서 언급한 것이랑 비슷한 거 같은데 model이 잘 분류한다면 EM 에서 이점을 볼 수 있다는 것이다.

3. Favorable initialization of EM does not prevent the model to be fooled by unlabeled data  -> 여기서 favorable initialization을 뜻하는 것은 아마 class overlap 이 잘 안일어나면서 잘 예측할 수 있는 상태를 말하지 않나 싶다.

 

Discussion

위 MAP 에서 알 수 있다시피 EM은 모델의 confidence를 올려주는 역할을 하면서 regularizer 역할을 한다. 따라서 decision boundary를 잘 설정할 수 있도록 만든다고 한다(물론 위에서 말한 조건들을 만족한다는 가정하에 이러한 장점들을 가지는 거 같다).