[Deep Learning] Triplet Network

kookeej·2022년 2월 11일
0

Deep Learning

목록 보기
2/2

Siamese network에서 주로 사용되는 Triplet loss를 간단하게 알아보려고 한다. 이 포스팅은 여기 이 ⚡블로그⚡에서 아주 자세하게 설명하고 있다.

Triplet network에 대해 설명하기 앞서, 먼저 Metric learning에 대해 알아보려고 한다.

Metric Learning이란?

Metric learning은 각 sample을 설명할 수 있는 feature를 추출하고 추출된 feature의 유사성을 검토하여 sample을 분리하는 것을 목적으로 한다. 여기서 이 feature는 서로 다른 정보로 구성되어 있다.

Triplet network

Triplet network의 목적은 기존 데이터로부터 근사한 데이터는 가깝게, 근사하지 않은 데이터는 멀리 떨어뜨려 적절한 분리 공간에 배치함에 있다.

위의 그림으로 이해해보자. 기준 벡터는 Anchor다. 이 anchor와 positive는 가깝도록, negative와는 멀도록 학습시킨다.


위 식은 SBERT paper에서 triplet objective function으로 등장하는 식이다. sentence a/n/p는 각각 anchor, negative, positive sentence를 의미한다. 여기서 margin은 최소한 positive sentence가 achor에 negative sentence보다 margin만큼 가까워야 함을 의미한다.

참조

0개의 댓글