[CVPR 2018] Unsupervised Feature Learning via Non-Parametric Instance Discrimination (NPID) 핵심 리뷰

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

내용 요약

기존 Softmax 함수에서 아이디어를 얻어 Non Parametric Softmax 함수를 제안합니다. 해당 방법을 통해 Label 없이도 학습할 수 있는 Self Supervised Learning 방법을 제안합니다. 실험 결과를 통해 기존 Self Supervised Learning 방식보다 성능이 좋음을 보입니다.

1. 들어가며

이번 글에서는 2018년 CVPR에 발표된 Unsupervised Feature Learning via Non-Parametric Instance Discrimination 논문을 리뷰합니다. 이 논문은 NPID라고 불리며 이번 글에서도 NPID라고 지칭하겠습니다.

2. 핵심 아이디어

먼저 NPID의 핵심 아이디어를 살펴볼게요. 아래 그림을 보겠습니다.

그림1. NPID 아이디어
그림1. NPID 아이디어

위 그림은 ImageNet으로 학습한 모델로부터 나온 Leopard 이미지에 대한 예측 결과입니다. 상위 높은 예측값을 보면 Leopard, Jaguar, Cheetah 등이 차지하고 있는데요. 우리에게는 당연한 결과지만 한번 더 생각해보면 아주 놀라운 결과가 아닐 수 없습니다. 2등, 3등이 Leopard와 유사하게 생긴 Jaguar, Cheetah라는 사실이 말이죠.

이게 왜 놀라운 결과라는 걸까요? 사람에게는 당연한 결과인데 말이죠. 위 모델은 ImageNet에 대해 Cross Entropy Loss로 학습했습니다. 그 말은 그저 각 클래스에 속하는 이미지들끼리 Feature 공간상에서 구분되어 분포하도록 학습했다는 의미죠. 아래 그림처럼요.

그림2. Cross Entropy Loss의 의도
그림2. Cross Entropy Loss의 의도

위 그림은 애초에 Cross Entropy Loss가 의도했던 Feature 공간상의 분포를 표현한 그림입니다. 각 클래스에 속하는 Feature가 구분되어 분포하는 모습을 볼 수 있습니다. 이때의 포인트는 Leopard와 Jaguar가 가까이 분포하도록 유도한적이 없다는거에요. 그저 [1,0,0,0], [0,0,0,1] 처럼 구분되어 분포하도록만 유도해주었죠.

그런데 신기하게도 학습 결과 Feature들의 분포는 Leopard와 Jaguar가 가까이 분포하게 되었단 말이죠. 아래 그림처럼요.

그림3. Cross Entropy Loss 결과 Feature 분포
그림3. Cross Entropy Loss 결과 Feature 분포

Semantic하게 비슷한 Feature들은 가까운 공간에 뭉쳐 분포하게 되었다는거죠.

여기까지 정리해 볼게요. 우리는 분명 같은 클래스 Feature들끼리만 뭉쳐있고, 다른 클래스 Feature 와는 떨어져 있도록 모델을 하습했습니다. 그랬더니 Semantic 하게 비슷한 Feature 들끼리 뭉쳐있게 되었죠. 이때 NPID 저자들은 이런 생각을 한겁니다. Self Supervised Learning Task 에서는 클래스 정보를 사용할 수 없죠. 하지만 개별 Instance에 대한 정보는 사용할 수 있습니다. (1번 이미지, 2번 이미지 등등) 그렇다면 Instance끼리 구분되도록 학습하면 어떨까요? 마찬가지로 Semantic 하게 비슷한 Feature들끼리 분포하게 되지 않을까요? 이렇게요.

그림4. Instance 끼리 구분되도록 학습한 결과
그림4. Instance 끼리 구분되도록 학습한 결과

이렇게 분포하게만 만들 수 있다면 Label 정보 없이도 훌륭한 Feature를 학습했다고 할 수 있겠네요. 이에 바로 NPID의 핵심 아이디어입니다.

3. 제안 방법

위에서 설명한 핵심 아이디어를 어떻게 구현했는지 NPID 제안 방법을 살펴보겠습니다.

그림5. NPID Architecture
그림5. NPID Architecture

3-1. Non-Parametric Softmax Classifier

첫 번째 핵심 방법은 Non Parametric Softmax 입니다.

3-1-1. Parametric Classifier & Non-Parametric Classifier

기존의 Softmax 와 제안하는 방식 Non-Parametric Softmax를 비교해보겠습니다.

그림6. 기존 Softmax와 Non Parametric Softmax 수식 비교
그림6. 기존 Softmax와 Non Parametric Softmax 수식 비교

위 그림은 기존 Softmax와 Non Parametric Softmax 수식을 비교한 그림인데요. 차이는 바로 비교하는 기준입니다. 기존의 Softmax에서는 Feature를 Fully Connected Layer의 Class별 Weight와 비교했죠. 그래야 클래스별로 비교할 수 있으니까요. Non Parametric Softmax에서는 클래스가 아닌 개별 이미지 Feature와 비교합니다. 그래야 모든 Instance에 대해 비교할 수 있죠. 쉽게 말해 Softmax의 비교 대상은 1000개고요 (ImageNet 기준), Non Parametric Softmax의 비교 대상은 학습 데이터셋 전체 (N개) 입니다.

3-1-2. Learning With A Memory Bank

이렇게 되면 이미지마다 N개의 연산을 수행해줘야 하는데요. 학습 데이터셋이 클 수록 계산량이 늘어나겠죠? 이런 부담을 줄이기 위해 Feature Memory Bank 방식을 도입합니다. 적당한 개수의 Feature만 추출해 저장해놓고 비교하는 방식을 사용하는거죠.

3-2. Noise-Contrastive Estimation (NCE)

마찬가지로 계산량을 줄이기 위해 Noisy Negative Sample을 사용하여 Contrastive Loss를 사용하는 NCE를 적용했습니다.

3-3. Proximal Regularization

Non Parametric Softmax는 계산량이 많다는 문제점뿐만 아니라 학습이 불안정하다는 문제도 있는데요. 학습 안정화를 위해 Proximal Regularization을 도입했습니다.

3-4. Weighted k-NN Classifier

최종 Classifier는 k-NN Class Weighted Voting 방식을 사용했습니다. 학습이 완료되면 모든 Feature들이 Unit Sphere 상에 골고루 분포하게 됩니다. 이때 Test Feature와 가까운 k개 Feature의 클래스를 찾습니다. 그리고 이렇게 나온 Class의 개수에 가중치를 두어 Voting 하는 방식입니다.

4.실험 결과

이렇게 제안한 방법론의 실험 결과를 보겠습니다.

4-1. ImageNet Classification

먼저 ImageNet Classification 결과입니다.

그림7. ImageNet Classification 성능
그림7. ImageNet Classification 성능

Conv로 표시된 열은 CNN을 고정한 뒤 Fully Connected Layer만 학습한 결과고요. kNN은 kNN Classifier를 사용하여 NPID 방식으로 학습한 Feature를 구분한 결과입니다. 기존 Self Supervised Learning 방식들보다 성능이 좋은 모습을 볼 수 있습니다.

4-2. Feature Generation

ImageNet으로 학습한 뒤 Places 데이터셋으로 테스트한 결과입니다.

그림8. Feature Generalization 성능
그림8. Feature Generalization 성능

마찬가지로 기존 Self Supervised Learning 방식들보다 성능이 좋은 모습을 볼 수 있습니다.

5. 의의

NPID 이전의 Self Supervised Learning 은 Transform Prediction 방식이 주를 이뤘었습니다. 대표적으로 Context Prediction 방식, Inpainting 방식, Zigsaw Puzzle 방식, Rotation Prediction 방식 등이 있었죠. 웬만한 아이디어는 다 나왔고 새로운 방식의 Self Supervised Learning 방식이 필요한 시점이었는데요. NPID는 Transform Prediction 없이도 좋은 Feature를 학습할 수 있음을 보였습니다. 이후 관련 연구를 촉발하는 계기가된 논문이라고 할 수 있습니다.

Series Navigation<< [ICLR 2018] UNSUPERVISED REPRESENTATION LEARNING BY PREDICTING IMAGE ROTATIONS (RotNet) 핵심 리뷰[ECCV 2018] Deep Clustering for Unsupervised Learning of Visual Features (DeepCluster) 핵심 리뷰 >>
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