삼중 손실
트리플릿 손실은 딥러닝을 위한 손실 함수로, 앵커 포인트와 동일한 정체성을 가진 양성 샘플 간의 거리를 최소화하고, 앵커 포인트와 서로 다른 정체성을 가진 음성 샘플 간의 거리를 최소화하는 것을 의미합니다.
"트리플렛"이라는 용어는 세 개의 데이터 포인트를 의미합니다.앵커 포인트,시간 엄수그리고음수점. 앵커는 임베딩을 학습할 중심 데이터 포인트이고, 긍정적인 포인트는 앵커와 비슷한 데이터 포인트(예: 같은 개인의 이미지)이고, 부정적인 포인트는 앵커와 완전히 다른 데이터 포인트입니다. 앵커(예: 관련 없는 개인의 이미지)와 다릅니다.
수학적으로, 삼중 손실은 다음과 같이 표현될 수 있습니다.

- f()는 임베딩을 생성하는 역할을 하는 함수를 나타냅니다.
- a = 앵커 이미지
- p는 긍정적인 이미지를 의미합니다
- n은 부정적인 이미지를 나타냅니다
- Ɑ는 양수 및 음수 임베딩 거리 간 간격의 하한을 설정하는 마진 하이퍼파라미터를 나타냅니다.
삼중 손실 함수의 핵심은 마진 α에 있습니다. 마진 α는 양수 및 음수 앵커 임베딩의 제곱 거리 간에 필요한 최소 차이를 설정하는 하이퍼파라미터입니다. 이러한 마진을 부과함으로써 손실 함수는 양의 거리와 음의 거리 사이에 이상적인 분포를 촉진하여 의미 있는 표현을 학습하는 데 도움이 되는 환경을 조성합니다. 이러한 양의 거리와 음의 거리는 거리 측정법(일반적으로 유클리드 거리)을 사용하여 계산됩니다.
Triplet Loss는 주요 데이터 포인트 간의 본질적인 관계를 내장하는 방법을 학습하는 기본 목표에 기반합니다. 이는 분류나 값 예측과 같은 작업을 위해 주로 설계된 기존 손실 함수와는 다릅니다. 얼굴 특징의 미묘한 차이가 중요한 얼굴 인식과 같은 시나리오에서 원시 픽셀로는 쉽게 달성할 수 없는 방식으로 개인을 구별할 수 있는 임베딩(또는 인코딩)은 매우 귀중합니다.
트리플릿 로스는 이러한 문제에 대한 해결책으로 등장했습니다. 앵커 인스턴스와 관련된 긍정적 및 부정적 예시의 맥락에 따라 임베딩을 학습하도록 신경망을 장려함으로써, 데이터 관계의 본질을 본질적으로 포착하는 차별적 특징을 얻을 수 있는 길이 열립니다.
삼중 선택 전략
Triplet Loss의 효과를 위해서는 올바른 Triplet을 선택하는 것이 중요합니다. 실제로, 무작위로 삼중항을 선택하면 수렴 속도가 느려지거나 최적이 아닌 솔루션이 나올 수 있습니다. 따라서 정보성 있는 3중주를 효과적으로 선택하기 위해 여러 가지 전략이 채택됩니다.
- 온라인 트리플릿 마이닝:모든 가능한 트리플릿을 사용하는 대신, 온라인 트리플릿 마이닝은 손실 값을 기준으로 트리플릿을 선택합니다. 그래디언트 계산에는 손실 값이 0에 가까운 가장 어려운 삼중항만 사용됩니다. 이러한 접근 방식은 수렴 속도를 높이고 학습 과정을 어려운 사례에 집중시킵니다.
- 하드 네거티브 마이닝:트리플릿에 선택된 음성 샘플은 양성 샘플보다 앵커와 구별하기 더 어렵습니다. 하드 네거티브 마이닝은 마진을 가장 많이 위반하는 네거티브 사례를 선택하여 네트워크가 어려운 인스턴스에서 더 효과적으로 학습하도록 보장합니다.
- 반경질 음성 발굴:무작위로 선택한 네거티브와 하드 네거티브 사이의 균형을 맞추는 것을 목표로 합니다. 반경질 음수는 양수보다 앵커 포인트에서 멀리 떨어져 있지만 여전히 양수 손실 값을 갖는 음수입니다. 이들은 단순한 솔루션에 수렴하지 않고도 네트워크가 더 잘 일반화될 수 있도록 돕는 중간적 입장을 제공합니다.
트리플릿 손실 변형
Triplet Loss의 기본 공식은 효과를 높이기 위해 여러 가지 변경과 개선을 거쳤습니다.
- 배치 하드 트리플릿 손실:각 앵커 양성 쌍에 대해 가장 어려운 부정 예제를 선택하는 대신, 이 방법에서는 일련의 훈련 예제에서 가장 어려운 부정 예제를 고려합니다. 이는 배치 내 변동을 고려하고 계산 효율성을 개선할 수 있습니다.
- 대조적 손실:삼중항 손실은 대조 손실의 확장으로 볼 수 있는데, 여기서 삼중항 대신 앵커링된 긍정적 예시와 앵커링된 부정적 예시의 쌍이 고려됩니다.
- 4배 손실:이 확장에는 세 개의 긍정적인 예를 더 추가하여 앵커와 긍정적인 예 사이의 관계를 더욱 강조하는 것이 포함됩니다.
- 프록시 기반 손실:에이전트 기반 방법은 다양한 범주를 나타내는 에이전트 벡터 집합을 학습하는 것을 포함합니다. 이러한 프록시는 임베딩 공간에서 랜드마크 역할을 하여 트리플릿을 형성하고 의미 있는 표현을 학습하는 것을 더 쉽게 해줍니다.
Triplet Loss의 적용
Triplet Loss는 다양한 분야에 적용되며, 특히 의미 있는 임베딩을 학습하는 것이 중요할 때 유용합니다.
- 얼굴 인식: Triplet Loss가 가장 먼저 적용된 분야 중 하나는 컴퓨터 비전 분야, 특히 얼굴 인식이었습니다. Triplet Loss는 개인 내 분산을 최소화하고 개인 간 분산을 최대화하는 임베딩을 학습함으로써 견고하고 차별적인 얼굴 임베딩을 생성하는 데 도움이 됩니다.
- 이미지 검색: Triplet Loss는 콘텐츠 기반 이미지 검색 시스템을 구축하는 데 사용될 수 있습니다. 이미지는 임베딩으로 인코딩되며, 유사한 이미지를 검색하려면 쿼리 이미지의 임베딩에 가까운 임베딩을 찾는 문제가 발생합니다.
- 개인 재식별:비디오 감시와 같은 시나리오에서 트리플릿 손실을 사용하면 서로 다른 조명과 포즈에서도 다른 카메라 보기에서 같은 사람을 인식할 수 있는 모델을 개발할 수 있습니다.
- 정보 검색:자연어 처리에서 트리플릿 손실은 텍스트 문서의 임베딩을 학습하는 데 적용되어 유사성 기반 검색과 클러스터링을 가능하게 합니다.
참고문헌
【1】https://encord.com/glossary/triplet-loss-definition/