[ECCV 2018] Deep Clustering for Unsupervised Learning of Visual Features (DeepCluster) 핵심 리뷰

This entry is part 6 of 11 in the series Self Supervised Learning

내용 요약

나의 예측 결과를 바탕으로 학습하는 Self Supervised Learning 방법론인 Deep Cluster를 설명합니다. 이때의 예측은 Clustering 을 사용합니다.

1. 들어가며

이번 글에서는 2018년 ECCV에 발표된 Deep Clustering for Unsupervised Learning of Visual Features 논문을 리뷰합니다. 이 논문은 Deep Cluster라고 불리며, 이번 글에서도 Deep Cluster라고 지칭하겠습니다.

2. 제안 방법

먼저 흥미로운 사실을 하나 짚고 넘어가볼게요. 아무것도 학습하지 않은 CNN을 사용해서 ImageNet 성능을 테스트하면 어떻게 될까요? ImageNet은 1000개의 클래스가 있으니 0.1%의 성능이 나오지 않을까요? 놀랍게도 모델의 가중치를 초기화한 CNN으로 ImageNet 성능 테스트를 하면 12% 수준의 Accuracy 성능이 나옵니다. 이건 분명 초기화한 CNN도 무언가를 알고 있어서 어느 정도는 Classification을 할 수 있다고 봐야 하는 수치인데요.

Deep Cluster 저자들의 아이디어는 여기서부터 시작합니다. 만약 초기화된 CNN이 어느 정도의 지식을 갖고 있다면 그 자체로 선생님이 될 수 있을까요? 즉 나의 대답을 학습하는겁니다. 그렇게 학습한 내가 다시 나의 선생님이 되는 과정을 반복하는거죠. 이렇게요.

Deep Cluster 핵심 아이디어
그림1. 핵심 아이디어

이렇게 학습할 수 있다면 Label 정보 없이도 좋은 성능을 내는 Classifier를 학습할 수 있을텐데요. Deep Cluster는 이러한 아이디어를 바탕으로 아래와 같은 구조를 제안합니다.

그림2. Deep Cluster Architecture
그림2. Deep Cluster Architecture

위의 그림과 본질적으로 동일하죠? 먼저 가장 왼쪽에는 초기화된 CNN이 있고요. Inference는 Clustering을 통해 수행해줍니다. 이렇게 Clustering을 통해 나온 대략적인 정보를 사용해서 아얘 Classification을 학습하는거죠. 즉 Pseudo Label을 사용한 학습이라고 할 수 있습니다.

3. 실험 결과

아주 간단한 아이디어인데요. 이렇게 제안한 방법의 실험 결과를 살펴보겠습니다.

3-1. ImageNet / Places linear classification

먼저 ImageNet으로 Feature를 학습한 뒤, 특정 Conv Layer까지만 고정하고 그 이후 Layer를 학습한 Linear Classification 성능입니다.

그림3. Linear Classification 성능
그림3. Linear Classification 성능

X축의 ImageNet, Places는 Pretrained Data를 의미합니다. Y축의 Places Labels, ImageNet labels 는 Linear Classification을 Fine Tuning한 Label 데이터를 의미하죠. 그 결과 아무래도 ImageNet으로 학습한 뒤 Places로 Fine Tuning 한 결과 성능은 떨어지는 모습을 볼 수 있습니다. 또한 Deep Cluster 의 성능은 기존 Self Supervised Learning 방법들보다 좋으면서 Supervised Learning 방법과도 비슷한 성능임을 알 수 있습니다.

3-2. VOC 2007 Classification, Detection, Segmentation

다음은 VOC 2007의 Classification, Detection, Segmentation 성능입니다.

그림4. Classification Detection Segmentation 성능
그림4. Classification Detection Segmentation 성능

마찬가지로 Deep Cluster 의 성능은 기존 Self Supervised Learning 방법들보다 좋으면서 Supervised Learning 방법과도 비슷한 성능임을 알 수 있습니다.

4. 의의

Deep Cluster 는 아주 간단한 아이디어로 좋은 성능의 Self Supervised Learning 방법을 제안했는데요. Deep Cluster의 진정한 의의는 어제의 내가 오늘의 선생님이 되는 과정을 반복하는 학습 방법을 발견했다는 데에 있습니다. 이러한 아이디어는 이후 BYOL에 큰 영향을 주었습니다.

Series Navigation<< [CVPR 2018] Unsupervised Feature Learning via Non-Parametric Instance Discrimination (NPID) 핵심 리뷰[PMLR 2020] A Simple Framework for Contrastive Learning of Visual Representations (SimCLR) 핵심 리뷰 >>
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Scroll to Top