Triplet network 논문리뷰

이한결·2024년 2월 15일

논문 원본: https://arxiv.org/abs/1412.6622

논문을 읽게된 계기

CLIP 연구를 진행하면서 코사인 유사도를 넘어서 다른 방법을 적용해볼 수 있을까 고민하게 되었고, 이 과정에서 유클리드 거리의 개념이 떠올랐다. 이 아이디어를 실제로 적용한 논문을 찾아보다가 Triplet network에 대해 알게 되었고, 여기에 대해 간단히 정리해보고자 한다.

핵심내용


데이터 x가 있을 때 x와 같은 class에 속하는 x+(positive)와, x와 다른 class에 속하는 x-(negative), 총 3개의 데이터를 준비한다.
예를들어 MNIST데이터에서 숫자 1이 x와 x+가 될것이고, 숫자 2가 x-가 될 것이다.

이후 이를 간단한 딥러닝 네트워크(논문에서는 3 conv와 1개의 max-pooling을 사용)를 거쳐 Net(x), Net(x-), Net(x+) 값을 각각 얻는다.


Net(x)와 Net(x+) 사이의 거리는 최소
Net(x)와 Net(x-) 사이의 거리는 최대
이게 이 논문의 핵심이다.

d값을 얻기위해서는 softmax를 사용했고 loss function은 MSE를 사용했다고 한다.

결과

MNIST 데이터셋에 적용한 간단한 결과를 확인해보자.
이 사진처럼 같은 class끼리 같은 색깔로 뭉쳐있는 것을 확인할 수 있다.

추후에 적용 방법

정말 간단한 논문이다. 유클리드 거리를 이용해서 클래스를 분류하는 것이다. 나는 이를 CLIP에 적용해볼 예정이고 추후에 블로그에 게시하도록 하겠다.

profile
열정으로 가득할 페이지

0개의 댓글