본문으로 바로가기

convolution layer를 통과한 이후 fully connected layer를 global descriptor로 사용한 후 차원 축소하는 방식 있다. 또한, 마지막 convolution layer의 activations으로부터 생성하는 방식도 있다. 이를 이용해 image retrieval을 위해 유사한 이미지를 찾아내는 것이다. 성능 향상을 위해 ensemble 기법이 많이 사용되고 있는데 기존의 ensemble 기법은 각 learners를 독립적으로 학습시키기 때문에 연산량이 과한 단점이 있다.

따라서 해당 논문의 저자는 multiple global descriptor를 combination하는 방식으로 end-to-end 방식으로 학습하였고 sota 성능의 모델을 만들었다고 한다.

deep learning을 사용하기 이전에는 hand-crafted feature를 뽑아내는 SIFT, SURF 등의 기법이 많이 사용되었다. 이는 local한 정보에 집중하는 단점이 있다. 그리고 여러 global descriptor는 활용하는 dataset의 특성에 따라 결과와 성능이 다르다는 단점이 있다.

그 외에도 ensemble을 하여 위의 단점을 완화하거나 attention mechanism을 사용하여 essential feature를 효과적으로 뽑아내려는 시도가 있었다.

저자는 CNN backbone과 2 개의 module로 구성된 framework를 제시했다.

간략하게 설명하자면, 첫번째 module은 main module로 image representation을 학습하고 2 개 이상의 global descriptors를 통해 ranking loss를 구한다. 그리고 두번째 module은 CNN을 학습시키기 위한 auxiliary(보조) module이다. 이때는 classification loss를 사용한다. 최종 loss는 위의 두 loss를 합친 것을 사용한다.

main module은 CNN 마지막 conv layer를 통과한 후 나온 동일한 feature에 각각 global descriptors를 적용하는 것이다. 해당 논문에서는 위의 3가지를 사용했다.

auxiliary module에서는 첫번째 global descriptor를 이용해 classification loss를 구한다. 이때 temperature scaling과 label smoothing을 적용한다.

auxiliary module를 사용했을때 정확도가 갑자기 올라가는 것으로 나타났다. 요즘 읽고 있는 deep clustering 관련 논문에서도 대부분 autoencoder를 사용해 image의 encoder에서 feature를 뽑아내고 이를 clustering을 한다. 기존에는 autoencoder를 학습시키고 나면 decoder를 버리거나 encoder를 더 이상 학습시키지 않았는데 최근 나온 논문에서는 지속적으로 학습시키는 방법이 제시되고 있다. 물론 결과도 좋았다.


ref.

https://arxiv.org/abs/1903.10663