
딥 메트릭 러닝(Deep Metric Learning, DML) 기법은 입력 데이터를 의미적으로 변환한 버전들 간의 유사성을 증진하는 원칙에 기반한다. DML은 contrastive loss 개념에서 출발했으며, 이를 학습 목표로 변환한 것이다. Contrastive loss는 [Bromley et al., 1993]에서 처음 소개되었으며, 이후 [Chopra et al., 2005; Hadsell et al., 2006]에서 보다 공식적으로 정의되었다.
DML에서는 네트워크가 두 입력이 동일한 클래스에 속하는지를 예측하도록 학습되며, 같은 클래스라면 임베딩을 가깝게, 다른 클래스라면 멀어지도록 한다. 데이터에 레이블이 없는 경우, 의미를 보존하는 변환을 적용하여 하나의 입력으로부터 다양한 변형된 샘플을 생성하는 방식이 주로 사용된다. 이러한 변형된 샘플들은 positive pairs 또는 positive examples라 하며, 반대로 거리를 두고자 하는 샘플들은 negatives라고 한다.
Contrastive loss에서는 종종 마진(m)이라는 매개변수를 사용하여, 서로 다른 클래스에 속한 샘플들 간의 거리가 최소한 m 이상이 되도록 강제한다. 대조 손실과 유사한 개념으로 triplet loss가 있다. Triplet loss는 query, positive example, negative example로 구성된 세 개의 샘플을 사용하며, contrastive loss와 달리 query 샘플에 대한 positive 및 negative example 간의 (비)유사성 차이가 마진 m 이상이 되도록 학습한다.
DML에서 현재 Self-Supervised Learning (SSL)로의 전환은 Sohn이 (N+1)-tuple loss를 도입하면서 이루어졌으며, 이는 contrastive predictive coding (CPC) 손실과 유사한 손실 함수이다. 다른 샘플의 양성 뷰를 다른 쌍의 음성 뷰로 활용하는 효율적인 전략이 N-pair-mc loss라는 이름으로 도입되었다. Ni et al. [2021b]는 contrastive learning이 meta-learning의 특수한 사례임을 보였으며, 기존 메타 학습 기법을 SSL에 적용해도 경쟁력 있는 성능을 달성할 수 있음을 밝혔다. CPC는 [Henaff, 2020]에서 이미지로 확장되었으며, CPC의 핵심 요소 중 하나인 InfoNCE loss는 Oh Song et al. [2016]에서 처음 소개되었으며, 이후 SSL의 중심 개념이 되었다.
DML에서 contrastive SSL로의 주요 패러다임 변화는 다음과 같은 핵심 요소에서 발생한다.
이러한 변화의 대표적인 예시 중 하나가 SimCLR이다.
SimCLR에서는 두 개의 view를 생성할 때, random resizing, cropping, color jittering, random blurring과 같은 다양한 변환을 적용한다. 각 view를 인코딩한 후, 일반적으로 MLP(Multi-Layer Perceptron)와 ReLU(Rectified Linear Unit) 활성화를 포함하는 projector를 사용하여 초기 임베딩을 다른 공간으로 매핑한다. 이후 이 공간에서 contrastive loss를 적용하여 두 view 간의 유사성을 극대화한다.
Downstream task에서는 projector 이전의 representation을 추출하는 것이 성능 향상에 도움이 되는 것으로 나타났다. Projector의 역할에 대한 추가 논의는 Section 2.6.1과 Section 3.2에서 다루고 있다.
SimCLR에서 InfoNCE loss와 함께 사용된 또 다른 핵심 요소는 nonparametric softmax이다. 이 명칭은 softmax를 계산하기 위해 representation 위에 "parameterized" linear layer를 추가하는 대신, representation끼리 직접 비교하는 방식에서 유래되었다. 이 loss의 수식에는 이미 softmax 내에 temperature 파라미터가 포함되어 있으며, 이는 예측의 sharpness를 조정하는 역할을 한다.
Triplet loss 방식에서 대표적인 연구 중 하나는 Schroff et al. [2015]가 제안한 hard positive, hard negative 샘플링 기법이다. 이 방식에서는 현재 미니배치에서 온라인으로 또는 과거 momentum network와 유사하게 체크포인트에서 triplet을 선택할 수 있다(자세한 내용은 Section 2.3에서 논의됨). 또한, Weinberger and Saul [2009]은 push-pull weighting을 소개했으며, 이는 negatives 간의 거리를 증가시키고(push), positives 간의 거리를 좁힘으로써(pull) K-NN 기반 모델의 마진을 증가시키는 기법이다.
Tian et al. [2020a]는 다수의 positive view들을 활용하는 가능성을 제시했다. 의미를 보존하는 변환(semantic-preserving transformations)을 사용하여 positives를 생성하는 것 외에도, 데이터에서 자연적으로 생성되는 positive pairs를 발굴하는 방법도 연구되었다.
대표적인 triplet loss 방식 중 하나는 비디오 프레임을 기반으로 하며, positive pair는 인접한 프레임에서 선택되고, negative는 먼 프레임에서 선택된다. 이는 Sermanet et al. [2018]에서 개발되었으며, Time-Contrastive (TC) Learning이라는 명칭이 붙었다.
한편, Nonlinear ICA [Hyvarinen and Morioka, 2016]에서는 classification task를 수행할 때 log PDF (Probability Density Function, 확률 밀도 함수)를 학습할 수 있음을 증명했다. Alexey et al. [2015]은 이미지 패치를 변환한 후, 이를 다른 변환된 이미지 패치와 비교하는 방식으로 classification pretext task를 학습시켰다. 그러나 이 방식의 단점은 클래스 수가 지나치게 많아질 수 있으며, 이는 downstream task의 성능 저하로 이어질 수 있다는 점이다.
이 문제를 극복하기 위해 Noise Contrastive Estimation (NCE)가 Mnih and Teh [2012], Mnih and Kavukcuoglu [2013]에서 성공적으로 도입되었으며, 모든 클래스를 순회하지 않도록 분모를 수정하는 방식이 적용되었다. 이는 gradient를 샘플링 기반으로 추정하는 방식의 대안이며, 비교적 안정성이 낮은 것으로 알려져 있다.
이 개념은 향후 momentum encoder로 발전하는 계기가 되었다. Momentum encoder는 feature map이 빠르게 변화하지 않도록 강제하는 방식을 기반으로 하며, 이는 proximal 알고리즘이라고 불린다.
DML에서 동기부여된 SSL 연구에서는 hard negative mining이 또 다른 중요한 고려 사항이다. 이 기법에서는 negative sample을 positive에 가깝지만 명확히 구별되는 샘플로 의도적으로 선택하여, 보다 어려운 학습 목표를 형성한다.
다음으로, 우리는 Self-Distillation을 기반으로 한 deep metric learning의 대안을 설명한다.