논문 읽기/Self-Supervised

[논문 읽기] Exemplar-CNN(2014), Discriminative unsupervised feature learning with exemplar convolutional neural networks

AI 꿈나무 2021. 6. 29. 16:53
반응형

 안녕하세요, 오늘 읽은 논문 Discriminative unsupervised feature learning with exemplar convolutional neural networks 입니다.

 

 

 논문에서는 self-supervised learning인 Exemplar 방법을 제안합니다. 간단하게 설명하자면 unlabeled image 로부터 patch를 추출하고, 이 patch에 다양한 transformation을 적용한 뒤에 해당 집합은 동일한 클래스 i를 부여합니다. 동일한 patch에 대해 여러 transformation을 적용한 patch를 동일한 class로 예측하도록 모델을 훈련한다면, 모델은 generic features를 학습할 수 있습니다. 이 말은 즉 transformation에 invariant한 속성을 갖게 되며, 동일한 class 내에 존재하는 patch가 갖고 있는 공통된 특징을 최대화하고, 서로 다른 class내에 존재하는 patch들의 different feature을 구별하는 능력을 키웁니다. 이 방법으로 unsupervised learning methods 중에서 SOTA를 달성합니다.

 

Exemplar-CNN

 위 그림처럼 unlabeled dataset으로부터 patches를 추출합니다. 이 patches를 seed patches 또는 exemplars라고 부릅니다. 각 patch에 대하여 a개의 transformation으로 구성된 K개의 transformation set을 적용합니다. 논문에서는 아래의 transformation을 사용합니다.

 

논문에서 사용한 transformations

 

 아래 그림은 하나의 patches에 대하여 K개의 transformation set을 적용한 그림입니다.

 

 

 동일한 exemplar에서 transform이 적용된 patches들은 하나의 class i를 부여합니다. 즉, unlabeled dataset으로부터 8000개의 exemplar를 추출했다면, 8000개의 클래스가 존재하고 신경망의 끝에서 8000차원의 softmax 연산을 수행합니다.

 

 이렇게 CNN을 학습함으로써 동일한 class내에 존재하는 상호정보량을 최대화 할 수 있습니다. 자세한 내용은 아래 블로그에서 확인하실 수 있습니다. 여러 수학 수식이 나오는데 저는 이해 못했습니다!

 

 

Exemplar CNNs and Information Maximization

A few weeks ago I wrote about the then-new paper "Unsupervised Learning by Predicting Noise". In that note, I showed that the method can also be understood from an information maximisation perspective: we seek nonlinear representations of data that have li

www.inference.vc

 

Expriments

 exeplars의 수는 8000개가 적당하다는 실험 결과입니다.

 

 class당 sample수에 따른 실험 결과입니다.

 

 다른 기법과의 성능 비교 입니다.

 


참고자료

[1] https://hyeonnii.tistory.com/263

[2] https://www.inference.vc/exemplar-cnns-and-information-maximization/

[3] https://arxiv.org/abs/1406.6909

반응형