Triplet Loss

김유상·2023년 3월 5일
0

Referenced: https://arxiv.org/abs/1503.03832

human Re-Identification에 대해 관심이 생기면서 관련 sota 모델 및 논문을 찾아보던 도중 triplet loss라는 생소한 용어를 보게 되어 이렇게 기록으로 남긴다.

Triplet Loss란?

a(anchor): input
p(positive): anchor와 비슷한 input
n(negative): anchor와 다른 input
f(): embedding function
α: margine

Triplet Loss = max(||f(a) - f(p)||^2 - ||f(a) - f(n)||^2 + α, 0)

먼저 triplet이라는 이름이 붙은 이유도 (a, p, n)쌍을 이루기 때문이다. 위 식에 대한 설명을 간단하게 하면 a-p의 유클리드 유사도 그리고 a-n의 유클리드 유사도에 대한 차를 이용해 a-p거리가 클 수록, a-n거리가 작을 수록 Triplet Loss가 커지게 되고 이 loss를 줄이는 방향으로 학습하게 되는 원리이다.

Triplet Loss는 input data에 대한 유사도를 이용해 분류하는 모델에 주로 사용된다고 한다. 예를 들어 face recognition, person re-identification, image retrival과 같은 문제가 대표적이다.

profile
continuous programming

0개의 댓글